summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BUGS63
-rw-r--r--configure.ac2
-rw-r--r--po-docs/ja.po2610
-rw-r--r--po-docs/libguestfs-docs.pot2511
-rw-r--r--po-docs/uk.po2636
-rw-r--r--po/en_GB.po137
-rw-r--r--po/es.po145
-rw-r--r--po/gu.po137
-rw-r--r--po/hi.po137
-rw-r--r--po/kn.po137
-rw-r--r--po/libguestfs.pot139
-rw-r--r--po/ml.po137
-rw-r--r--po/mr.po143
-rw-r--r--po/nl.po143
-rw-r--r--po/or.po137
-rw-r--r--po/pa.po143
-rw-r--r--po/pl.po147
-rw-r--r--po/ta.po137
-rw-r--r--po/te.po137
-rw-r--r--po/uk.po147
20 files changed, 5181 insertions, 4744 deletions
diff --git a/BUGS b/BUGS
index ad14f5a0..28620a7c 100644
--- a/BUGS
+++ b/BUGS
@@ -1,5 +1,5 @@
NOTE: This file is automatically generated from "update-bugs.sh".
-Last updated: 2012-09-19
+Last updated: 2012-10-01
This contains a local list of the bugs that are open against
libguestfs. Bugs are tracked in the Red Hat Bugzilla database
@@ -119,15 +119,6 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
801117 NEW https://bugzilla.redhat.com/show_bug.cgi?id=801117
libguestfs cannot get icon for Windows 8 preview
-801640 NEW https://bugzilla.redhat.com/show_bug.cgi?id=801640
- [RFE] the error reported by resize2fs-M need to be more clear
-
-802389 NEW https://bugzilla.redhat.com/show_bug.cgi?id=802389
- event handlers for 'close' event doesn't work in remote mode
-
-803643 NEW https://bugzilla.redhat.com/show_bug.cgi?id=803643
- inspect-is-multipart return false when inspection results should be true
-
803650 NEW https://bugzilla.redhat.com/show_bug.cgi?id=803650
inspect-is-live return false when inspection results should be true
@@ -176,9 +167,6 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
824782 NEW https://bugzilla.redhat.com/show_bug.cgi?id=824782
virt-resize cannot resize PowerPC guests
-830135 NEW https://bugzilla.redhat.com/show_bug.cgi?id=830135
- libguestfs should support mount-local APIs in RHEL 6 (for OpenStack)
-
832602 NEW https://bugzilla.redhat.com/show_bug.cgi?id=832602
"error in chunked encoding" when trying to extract (tar-out) a truncated ISO image
@@ -191,9 +179,6 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
835622 NEW https://bugzilla.redhat.com/show_bug.cgi?id=835622
virt-sparsify to LVM thin raw volume isn't sparse
-836501 NEW https://bugzilla.redhat.com/show_bug.cgi?id=836501
- dependency on fuse suggested
-
837941 NEW https://bugzilla.redhat.com/show_bug.cgi?id=837941
Data loss when writing to qcow2-format disk files
@@ -209,9 +194,6 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
843188 NEW https://bugzilla.redhat.com/show_bug.cgi?id=843188
Ruby bindings segfault in event callbacks when the Ruby GC is invoked.
-843199 NEW https://bugzilla.redhat.com/show_bug.cgi?id=843199
- Ruby bindings segfault in event callbacks when the Ruby GC is invoked.
-
845234 NEW https://bugzilla.redhat.com/show_bug.cgi?id=845234
RFE: virt-ls on Windows guest doesn't support drive letters
@@ -224,23 +206,20 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
852194 NEW https://bugzilla.redhat.com/show_bug.cgi?id=852194
virt-sparsify --compress fails if output is raw format
-853763 NEW https://bugzilla.redhat.com/show_bug.cgi?id=853763
- virt-sparsify should use a more robust method to detect the input format
-
857763 NEW https://bugzilla.redhat.com/show_bug.cgi?id=857763
libguestfs 'file-architecture' returns 'ARM' for arm binaries
-858126 NEW https://bugzilla.redhat.com/show_bug.cgi?id=858126
- virt-inspector fail to work with some windows guests
+859875 NEW https://bugzilla.redhat.com/show_bug.cgi?id=859875
+ Progress bar output should go to tty(?) stderr(?)
-858128 NEW https://bugzilla.redhat.com/show_bug.cgi?id=858128
- libguestfs fail to list devices added by add-drive-ro-with-if twice
+859876 NEW https://bugzilla.redhat.com/show_bug.cgi?id=859876
+ guestfish printed paths are not canonicalized
-858648 NEW https://bugzilla.redhat.com/show_bug.cgi?id=858648
- libguestfs can not be installed with recent iptables
+859885 NEW https://bugzilla.redhat.com/show_bug.cgi?id=859885
+ inspect-list-applications does not list all installed RPM packages with same name and different versions
-858696 NEW https://bugzilla.redhat.com/show_bug.cgi?id=858696
- virt-sysprep reports Guestfs.Error("read_lines: fopen: /etc/sysconfig/network: No such file or directory") on some Fedora guests
+859949 NEW https://bugzilla.redhat.com/show_bug.cgi?id=859949
+ RFE: inspect-list-applications does not return the architecture of RPM packages
503134 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=503134
guestfish's list splitting does not recognize internal quoting
@@ -264,16 +243,40 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
Bugs in MODIFIED, POST or ON_QA state are fixed.
You can help by testing the fixes.
+801640 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=801640
+ [RFE] the error reported by resize2fs-M need to be more clear
+
+803643 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=803643
+ inspect-is-multipart return false when inspection results should be true
+
816839 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=816839
data overflow error when debug progress -1
822626 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=822626
virt-ls error: "libguestfs: error: checksum: path: parameter cannot be NULL"
+830135 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=830135
+ libguestfs should support mount-local APIs in RHEL 6 (for OpenStack)
+
+836501 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=836501
+ dependency on fuse suggested
+
837691 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=837691
Data loss when writing to qcow2-format disk files
838609 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=838609
guestmount + fusermount allows a race condition when unmounting and immediately using the disk image
+853763 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=853763
+ virt-sparsify should use a more robust method to detect the input format
+
+858126 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=858126
+ virt-inspector fail to work with some windows guests
+
+858128 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=858128
+ libguestfs fail to list devices added by add-drive-ro-with-if twice
+
+858648 ON_QA https://bugzilla.redhat.com/show_bug.cgi?id=858648
+ libguestfs can not be installed with recent iptables
+
End of BUGS file.
diff --git a/configure.ac b/configure.ac
index 83e514b9..b9209b11 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,7 +20,7 @@
# freeform string.
m4_define([libguestfs_major], [1])
m4_define([libguestfs_minor], [16])
-m4_define([libguestfs_release], [31])
+m4_define([libguestfs_release], [32])
AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release)
AC_CONFIG_AUX_DIR([build-aux])
diff --git a/po-docs/ja.po b/po-docs/ja.po
index c0e7952c..25b30818 100644
--- a/po-docs/ja.po
+++ b/po-docs/ja.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2012-09-19 15:19+0200\n"
+"POT-Creation-Date: 2012-10-01 16:29+0200\n"
"PO-Revision-Date: 2012-01-23 13:10+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Japanese <trans-ja@lists.fedoraproject.org>\n"
@@ -442,7 +442,7 @@ msgstr ""
#: ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242
#: ../fish/guestfish.pod:673 ../format/virt-format.pod:96
#: ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:161
-#: ../src/guestfs.pod:2977
+#: ../src/guestfs.pod:2983
msgid "For example:"
msgstr ""
@@ -881,7 +881,7 @@ msgstr ""
#: ../rescue/virt-rescue.pod:303 ../resize/virt-resize.pod:690
#: ../tools/virt-list-filesystems.pl:190 ../tools/virt-list-partitions.pl:260
#: ../tools/virt-make-fs.pl:572 ../tools/virt-tar.pl:287
-#: ../tools/virt-win-reg.pl:744
+#: ../tools/virt-win-reg.pl:734
msgid "SHELL QUOTING"
msgstr ""
@@ -893,7 +893,7 @@ msgstr ""
#: ../rescue/virt-rescue.pod:305 ../resize/virt-resize.pod:692
#: ../tools/virt-list-filesystems.pl:192 ../tools/virt-list-partitions.pl:262
#: ../tools/virt-make-fs.pl:574 ../tools/virt-tar.pl:289
-#: ../tools/virt-win-reg.pl:752
+#: ../tools/virt-win-reg.pl:742
msgid ""
"Libvirt guest names can contain arbitrary characters, some of which have "
"meaning to the shell such as C<#> and space. You may need to quote or "
@@ -931,13 +931,13 @@ msgstr ""
#: ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266
#: ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276
#: ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291
-#: ../examples/guestfs-recipes.pod:131 ../examples/guestfs-recipes.pod:135
-#: ../examples/guestfs-recipes.pod:139 ../examples/guestfs-recipes.pod:165
-#: ../examples/guestfs-recipes.pod:170 ../examples/guestfs-recipes.pod:260
-#: ../examples/guestfs-recipes.pod:264 ../examples/guestfs-recipes.pod:268
-#: ../examples/guestfs-recipes.pod:272 ../examples/guestfs-recipes.pod:276
-#: ../examples/guestfs-testing.pod:110 ../examples/guestfs-testing.pod:114
-#: ../examples/guestfs-testing.pod:118 ../fish/guestfish-actions.pod:13
+#: ../examples/guestfs-recipes.pod:133 ../examples/guestfs-recipes.pod:137
+#: ../examples/guestfs-recipes.pod:141 ../examples/guestfs-recipes.pod:167
+#: ../examples/guestfs-recipes.pod:172 ../examples/guestfs-recipes.pod:262
+#: ../examples/guestfs-recipes.pod:266 ../examples/guestfs-recipes.pod:270
+#: ../examples/guestfs-recipes.pod:274 ../examples/guestfs-recipes.pod:278
+#: ../examples/guestfs-testing.pod:124 ../examples/guestfs-testing.pod:128
+#: ../examples/guestfs-testing.pod:132 ../fish/guestfish-actions.pod:13
#: ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:444
#: ../fish/guestfish-actions.pod:452 ../fish/guestfish-actions.pod:459
#: ../fish/guestfish-actions.pod:466 ../fish/guestfish-actions.pod:1336
@@ -977,25 +977,25 @@ msgstr ""
#: ../src/guestfs-actions.pod:2899 ../src/guestfs-actions.pod:3442
#: ../src/guestfs-actions.pod:3448 ../src/guestfs-actions.pod:3456
#: ../src/guestfs-actions.pod:3463 ../src/guestfs-actions.pod:3470
-#: ../src/guestfs.pod:382 ../src/guestfs.pod:387 ../src/guestfs.pod:392
-#: ../src/guestfs.pod:396 ../src/guestfs.pod:401 ../src/guestfs.pod:405
-#: ../src/guestfs.pod:410 ../src/guestfs.pod:415 ../src/guestfs.pod:1117
-#: ../src/guestfs.pod:1121 ../src/guestfs.pod:1125 ../src/guestfs.pod:1130
-#: ../src/guestfs.pod:1138 ../src/guestfs.pod:1157 ../src/guestfs.pod:1165
-#: ../src/guestfs.pod:1182 ../src/guestfs.pod:1187 ../src/guestfs.pod:1191
-#: ../src/guestfs.pod:1248 ../src/guestfs.pod:1252 ../src/guestfs.pod:1256
-#: ../src/guestfs.pod:1260 ../src/guestfs.pod:1264 ../src/guestfs.pod:1268
-#: ../src/guestfs.pod:1783 ../src/guestfs.pod:1788 ../src/guestfs.pod:1792
-#: ../src/guestfs.pod:1894 ../src/guestfs.pod:1899 ../src/guestfs.pod:1903
-#: ../src/guestfs.pod:1913 ../src/guestfs.pod:2202 ../src/guestfs.pod:2207
-#: ../src/guestfs.pod:2213 ../src/guestfs.pod:2221 ../src/guestfs.pod:2739
-#: ../src/guestfs.pod:2745 ../src/guestfs.pod:2750 ../src/guestfs.pod:2756
-#: ../src/guestfs.pod:3153 ../src/guestfs.pod:3158 ../src/guestfs.pod:3162
-#: ../src/guestfs.pod:3166 ../src/guestfs.pod:3170 ../src/guestfs.pod:3184
-#: ../src/guestfs.pod:3189 ../tools/virt-win-reg.pl:197
+#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398
+#: ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411
+#: ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1123
+#: ../src/guestfs.pod:1127 ../src/guestfs.pod:1131 ../src/guestfs.pod:1136
+#: ../src/guestfs.pod:1144 ../src/guestfs.pod:1163 ../src/guestfs.pod:1171
+#: ../src/guestfs.pod:1188 ../src/guestfs.pod:1193 ../src/guestfs.pod:1197
+#: ../src/guestfs.pod:1254 ../src/guestfs.pod:1258 ../src/guestfs.pod:1262
+#: ../src/guestfs.pod:1266 ../src/guestfs.pod:1270 ../src/guestfs.pod:1274
+#: ../src/guestfs.pod:1789 ../src/guestfs.pod:1794 ../src/guestfs.pod:1798
+#: ../src/guestfs.pod:1900 ../src/guestfs.pod:1905 ../src/guestfs.pod:1909
+#: ../src/guestfs.pod:1919 ../src/guestfs.pod:2208 ../src/guestfs.pod:2213
+#: ../src/guestfs.pod:2219 ../src/guestfs.pod:2227 ../src/guestfs.pod:2745
+#: ../src/guestfs.pod:2751 ../src/guestfs.pod:2756 ../src/guestfs.pod:2762
+#: ../src/guestfs.pod:3159 ../src/guestfs.pod:3164 ../src/guestfs.pod:3168
+#: ../src/guestfs.pod:3172 ../src/guestfs.pod:3176 ../src/guestfs.pod:3190
+#: ../src/guestfs.pod:3195 ../tools/virt-win-reg.pl:197
#: ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208
-#: ../tools/virt-win-reg.pl:721 ../tools/virt-win-reg.pl:727
-#: ../tools/virt-win-reg.pl:733
+#: ../tools/virt-win-reg.pl:711 ../tools/virt-win-reg.pl:717
+#: ../tools/virt-win-reg.pl:723
msgid "*"
msgstr ""
@@ -1011,7 +1011,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:332 ../src/guestfs.pod:1440
+#: ../align/virt-alignment-scan.pod:332 ../src/guestfs.pod:1446
msgid "1"
msgstr ""
@@ -1021,7 +1021,7 @@ msgid "an error scanning the disk image or guest"
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:338 ../src/guestfs.pod:1444
+#: ../align/virt-alignment-scan.pod:338 ../src/guestfs.pod:1450
msgid "2"
msgstr ""
@@ -1033,7 +1033,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:345 ../src/guestfs.pod:1448
+#: ../align/virt-alignment-scan.pod:345 ../src/guestfs.pod:1454
msgid "3"
msgstr ""
@@ -1049,8 +1049,8 @@ msgstr ""
#: ../cat/virt-filesystems.pod:385 ../cat/virt-ls.pod:495
#: ../clone/virt-sysprep.pod:486 ../df/virt-df.pod:253
#: ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97
-#: ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:422
-#: ../examples/guestfs-testing.pod:291 ../fish/guestfish.pod:1268
+#: ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:475
+#: ../examples/guestfs-testing.pod:305 ../fish/guestfish.pod:1268
#: ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39
#: ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41
#: ../format/virt-format.pod:177 ../fuse/guestmount.pod:396
@@ -1058,11 +1058,11 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:40
#: ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:325
#: ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36
-#: ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3361
+#: ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3367
#: ../test-tool/libguestfs-test-tool.pod:106
#: ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267
#: ../tools/virt-make-fs.pl:579 ../tools/virt-tar.pl:294
-#: ../tools/virt-win-reg.pl:757
+#: ../tools/virt-win-reg.pl:747
msgid "SEE ALSO"
msgstr ""
@@ -1081,7 +1081,7 @@ msgstr ""
#: ../rescue/virt-rescue.pod:334 ../resize/virt-resize.pod:725
#: ../sparsify/virt-sparsify.pod:297 ../tools/virt-list-filesystems.pl:210
#: ../tools/virt-list-partitions.pl:279 ../tools/virt-make-fs.pl:594
-#: ../tools/virt-tar.pl:309 ../tools/virt-win-reg.pl:772
+#: ../tools/virt-tar.pl:309 ../tools/virt-win-reg.pl:762
msgid "AUTHOR"
msgstr ""
@@ -1094,7 +1094,7 @@ msgstr ""
#: ../resize/virt-resize.pod:727 ../sparsify/virt-sparsify.pod:299
#: ../tools/virt-list-filesystems.pl:212 ../tools/virt-list-partitions.pl:281
#: ../tools/virt-make-fs.pl:596 ../tools/virt-tar.pl:311
-#: ../tools/virt-win-reg.pl:774
+#: ../tools/virt-win-reg.pl:764
msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
msgstr ""
@@ -1103,8 +1103,8 @@ msgstr ""
#: ../cat/virt-filesystems.pod:400 ../cat/virt-ls.pod:511
#: ../clone/virt-sysprep.pod:505 ../df/virt-df.pod:265
#: ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114
-#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:439
-#: ../examples/guestfs-testing.pod:302 ../fish/guestfish.pod:1300
+#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:492
+#: ../examples/guestfs-testing.pod:316 ../fish/guestfish.pod:1300
#: ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53
#: ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55
#: ../format/virt-format.pod:191 ../fuse/guestmount.pod:411
@@ -1112,11 +1112,11 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:57
#: ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:338
#: ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52
-#: ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3413
+#: ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3419
#: ../test-tool/libguestfs-test-tool.pod:116
#: ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283
#: ../tools/virt-make-fs.pl:598 ../tools/virt-tar.pl:313
-#: ../tools/virt-win-reg.pl:776
+#: ../tools/virt-win-reg.pl:766
msgid "COPYRIGHT"
msgstr ""
@@ -2278,7 +2278,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:41 ../examples/guestfs-testing.pod:182
+#: ../cat/virt-ls.pod:41 ../examples/guestfs-testing.pod:196
msgid "List all setuid or setgid programs in a Linux virtual machine:"
msgstr ""
@@ -2291,7 +2291,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:45 ../examples/guestfs-testing.pod:186
+#: ../cat/virt-ls.pod:45 ../examples/guestfs-testing.pod:200
msgid "List all public-writable directories in a Linux virtual machine:"
msgstr ""
@@ -2304,7 +2304,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:49 ../examples/guestfs-testing.pod:190
+#: ../cat/virt-ls.pod:49 ../examples/guestfs-testing.pod:204
msgid "List all Unix domain sockets in a Linux virtual machine:"
msgstr ""
@@ -2317,7 +2317,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:53 ../examples/guestfs-testing.pod:194
+#: ../cat/virt-ls.pod:53 ../examples/guestfs-testing.pod:208
msgid "List all regular files with filenames ending in '.png':"
msgstr ""
@@ -2343,7 +2343,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:61 ../examples/guestfs-testing.pod:202
+#: ../cat/virt-ls.pod:61 ../examples/guestfs-testing.pod:216
msgid "Find everything modified in the last 7 days:"
msgstr ""
@@ -2356,7 +2356,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:65 ../examples/guestfs-testing.pod:206
+#: ../cat/virt-ls.pod:65 ../examples/guestfs-testing.pod:220
msgid "Find regular files modified in the last 24 hours:"
msgstr ""
@@ -2943,9 +2943,9 @@ msgstr ""
#. type: textblock
#: ../cat/virt-ls.pod:513 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388
-#: ../examples/guestfs-recipes.pod:441 ../fish/guestfish.pod:1302
+#: ../examples/guestfs-recipes.pod:494 ../fish/guestfish.pod:1302
#: ../fuse/guestmount.pod:413 ../rescue/virt-rescue.pod:340
-#: ../src/guestfs.pod:3415 ../test-tool/libguestfs-test-tool.pod:118
+#: ../src/guestfs.pod:3421 ../test-tool/libguestfs-test-tool.pod:118
#: ../tools/virt-list-partitions.pl:285
msgid "Copyright (C) 2009-2012 Red Hat Inc."
msgstr ""
@@ -3642,7 +3642,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1233
+#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1239
msgid "SECURITY"
msgstr ""
@@ -4556,7 +4556,7 @@ msgstr ""
#. type: =head1
#: ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1119
#: ../rescue/virt-rescue.pod:298 ../sparsify/virt-sparsify.pod:257
-#: ../src/guestfs.pod:3300 ../test-tool/libguestfs-test-tool.pod:101
+#: ../src/guestfs.pod:3306 ../test-tool/libguestfs-test-tool.pod:101
msgid "ENVIRONMENT VARIABLES"
msgstr ""
@@ -4815,36 +4815,36 @@ msgstr ""
#. type: =head1
#: ../erlang/examples/guestfs-erlang.pod:110
-#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:435
-#: ../examples/guestfs-testing.pod:298 ../fish/guestfish.pod:1296
+#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:488
+#: ../examples/guestfs-testing.pod:312 ../fish/guestfish.pod:1296
#: ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49
#: ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51
#: ../fuse/guestmount.pod:407 ../inspector/virt-inspector.pod:510
#: ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91
#: ../perl/examples/guestfs-perl.pod:53
#: ../python/examples/guestfs-python.pod:54
-#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3409
+#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3415
#: ../test-tool/libguestfs-test-tool.pod:112
msgid "AUTHORS"
msgstr ""
#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:112
-#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:437
-#: ../examples/guestfs-testing.pod:300 ../fish/guestfish.pod:1298
+#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:490
+#: ../examples/guestfs-testing.pod:314 ../fish/guestfish.pod:1298
#: ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51
#: ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53
#: ../fuse/guestmount.pod:409 ../java/examples/guestfs-java.pod:60
#: ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:55
#: ../python/examples/guestfs-python.pod:56
-#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3411
+#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3417
#: ../test-tool/libguestfs-test-tool.pod:114
msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
msgstr ""
#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:116
-#: ../examples/guestfs-testing.pod:304 ../fish/virt-copy-in.pod:66
+#: ../examples/guestfs-testing.pod:318 ../fish/virt-copy-in.pod:66
#: ../fish/virt-copy-out.pod:55 ../fish/virt-tar-in.pod:64
#: ../fish/virt-tar-out.pod:57 ../java/examples/guestfs-java.pod:64
#: ../perl/examples/guestfs-perl.pod:59 ../sparsify/virt-sparsify.pod:303
@@ -5213,38 +5213,43 @@ msgstr ""
msgid "To list the filesystems in a disk image, use L<virt-filesystems(1)>."
msgstr ""
-#. type: =head1
+#. type: textblock
#: ../examples/guestfs-recipes.pod:125
+msgid "See also L</Uploading raw filesystem content>."
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:127
msgid "Edit grub configuration in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:127
+#: ../examples/guestfs-recipes.pod:129
msgid "You can use this to:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:133
+#: ../examples/guestfs-recipes.pod:135
msgid "Fix a virtual machine that does not boot."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:137
+#: ../examples/guestfs-recipes.pod:139
msgid "Change which kernel is used to boot the VM."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:141
+#: ../examples/guestfs-recipes.pod:143
msgid "Change kernel command line options."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:145
+#: ../examples/guestfs-recipes.pod:147
msgid "Use L<virt-edit(1)> to edit the grub configuration:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:147
+#: ../examples/guestfs-recipes.pod:149
#, no-wrap
msgid ""
" virt-edit -d BrokenGuest /boot/grub/grub.conf\n"
@@ -5252,14 +5257,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:149
+#: ../examples/guestfs-recipes.pod:151
msgid ""
"or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like "
"this:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:152
+#: ../examples/guestfs-recipes.pod:154
#, no-wrap
msgid ""
" virt-rescue -d BrokenGuest\n"
@@ -5267,18 +5272,18 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:154
+#: ../examples/guestfs-recipes.pod:156
msgid "Export any directory from a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:156
+#: ../examples/guestfs-recipes.pod:158
msgid ""
"To export C</home> from a VM into a local directory use L<virt-copy-out(1)>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:159 ../examples/guestfs-testing.pod:93
+#: ../examples/guestfs-recipes.pod:161 ../examples/guestfs-testing.pod:107
#, no-wrap
msgid ""
" virt-copy-out -d Guest /home .\n"
@@ -5286,29 +5291,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:161 ../fish/guestfish-actions.pod:9
+#: ../examples/guestfs-recipes.pod:163 ../fish/guestfish-actions.pod:9
#: ../fish/guestfish-actions.pod:1524 ../fish/guestfish-actions.pod:1789
#: ../fish/guestfish-actions.pod:2204 ../src/guestfs-actions.pod:18
#: ../src/guestfs-actions.pod:2457 ../src/guestfs-actions.pod:2881
-#: ../src/guestfs-actions.pod:3438 ../src/guestfs.pod:1779
-#: ../tools/virt-win-reg.pl:717
+#: ../src/guestfs-actions.pod:3438 ../src/guestfs.pod:1785
+#: ../tools/virt-win-reg.pl:707
msgid "Notes:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:167
+#: ../examples/guestfs-recipes.pod:169
msgid ""
"The final dot of the command is not a printing error. It means we want to "
"copy out to the current directory."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:172
+#: ../examples/guestfs-recipes.pod:174
msgid "This creates a directory called C<home> under the current directory."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:176
+#: ../examples/guestfs-recipes.pod:178
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 "
@@ -5316,7 +5321,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:180
+#: ../examples/guestfs-recipes.pod:182
#, no-wrap
msgid ""
" virt-copy-out -d WinGuest 'win:c:\\windows\\system32\\config' .\n"
@@ -5324,12 +5329,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:182
+#: ../examples/guestfs-recipes.pod:184
msgid "To get the output as a compressed tarball, do:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:184
+#: ../examples/guestfs-recipes.pod:186
#, no-wrap
msgid ""
" virt-tar-out -d Guest /home - | gzip --best > home.tar.gz\n"
@@ -5337,7 +5342,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:186
+#: ../examples/guestfs-recipes.pod:188
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."
@@ -5345,19 +5350,19 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:190
+#: ../examples/guestfs-recipes.pod:192
msgid "Find out which user is using the most space"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:192
+#: ../examples/guestfs-recipes.pod:194
msgid ""
"This simple script examines a Linux guest to find out which user is using "
"the most space in their home directory:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:195
+#: ../examples/guestfs-recipes.pod:197
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -5365,7 +5370,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:197 ../fish/guestfish.pod:984
+#: ../examples/guestfs-recipes.pod:199 ../fish/guestfish.pod:984
#, no-wrap
msgid ""
" set -e\n"
@@ -5373,7 +5378,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:199
+#: ../examples/guestfs-recipes.pod:201
#, no-wrap
msgid ""
" vm=\"$1\"\n"
@@ -5382,7 +5387,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:202
+#: ../examples/guestfs-recipes.pod:204
#, no-wrap
msgid ""
" eval $(guestfish --ro -d \"$vm\" -i --listen)\n"
@@ -5390,7 +5395,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:204
+#: ../examples/guestfs-recipes.pod:206
#, no-wrap
msgid ""
" for d in $(guestfish --remote ls \"$dir\"); do\n"
@@ -5402,7 +5407,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:210 ../fish/guestfish.pod:941
+#: ../examples/guestfs-recipes.pod:212 ../fish/guestfish.pod:941
#, no-wrap
msgid ""
" guestfish --remote exit\n"
@@ -5410,43 +5415,43 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:212
+#: ../examples/guestfs-recipes.pod:214
msgid "Get DHCP address from a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:214
+#: ../examples/guestfs-recipes.pod:216
msgid ""
"The link below explains the many different possible techniques for getting "
"the last assigned DHCP address of a virtual machine."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:217
+#: ../examples/guestfs-recipes.pod:219
msgid ""
"L<https://rwmj.wordpress.com/2011/03/31/tip-code-for-getting-dhcp-address-"
"from-a-virtual-machine-disk-image/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:219
+#: ../examples/guestfs-recipes.pod:221
msgid ""
"In the libguestfs source examples directory you will find the latest version "
"of the C<virt-dhcp-address.c> program."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:222
+#: ../examples/guestfs-recipes.pod:224
msgid "Get the operating system product name string"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:224
+#: ../examples/guestfs-recipes.pod:226
msgid "Save the following script into a file called C<product-name.sh>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:226
+#: ../examples/guestfs-recipes.pod:228
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -5459,12 +5464,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:233
+#: ../examples/guestfs-recipes.pod:235
msgid "Make the script executable and run it on a named guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:235
+#: ../examples/guestfs-recipes.pod:237
#, no-wrap
msgid ""
" # product-name.sh RHEL60x64\n"
@@ -5473,14 +5478,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:238
+#: ../examples/guestfs-recipes.pod:240
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 ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:242
+#: ../examples/guestfs-recipes.pod:244
#, no-wrap
msgid ""
" # virt-inspector RHEL60x64 > xml\n"
@@ -5492,68 +5497,145 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:248
+#: ../examples/guestfs-recipes.pod:250
msgid "Get the default boot kernel for a Linux VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:250
+#: ../examples/guestfs-recipes.pod:252
msgid ""
"The link below contains a program to print the default boot kernel for a "
"Linux VM."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:253
+#: ../examples/guestfs-recipes.pod:255
msgid ""
"L<https://rwmj.wordpress.com/2010/10/30/tip-use-augeas-to-get-the-default-"
"boot-kernel-for-a-vm/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:255
+#: ../examples/guestfs-recipes.pod:257
msgid ""
"It uses Augeas, and the technique is generally applicable for many different "
"tasks, such as:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:262
+#: ../examples/guestfs-recipes.pod:264
msgid "listing the user accounts in the guest"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:266
+#: ../examples/guestfs-recipes.pod:268
msgid "what repositories is it configured to use"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:270
+#: ../examples/guestfs-recipes.pod:272
msgid "what NTP servers does it connect to"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:274
+#: ../examples/guestfs-recipes.pod:276
msgid "what were the boot messages last time it booted"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:278
+#: ../examples/guestfs-recipes.pod:280
msgid "listing who was logged in recently"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:282
+#: ../examples/guestfs-recipes.pod:284
msgid "L<http://augeas.net/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:284
+#: ../examples/guestfs-recipes.pod:286
+msgid "Hanging guests"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:288
+msgid ""
+"There are various ways to use libguestfs to find out why a guest is hanging "
+"or unresponsive:"
+msgstr ""
+
+#. type: =item
+#: ../examples/guestfs-recipes.pod:293 ../resize/virt-resize.pod:31
+#: ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:228
+#: ../src/guestfs.pod:469 ../src/guestfs.pod:1208 ../src/guestfs.pod:1377
+#: ../src/guestfs.pod:1541 ../src/guestfs.pod:2790
+msgid "1."
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:295
+msgid "Read the log files using virt-cat:"
+msgstr ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:297
+#, no-wrap
+msgid ""
+" virt-cat Guest /var/log/messages | less\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../examples/guestfs-recipes.pod:299 ../resize/virt-resize.pod:44
+#: ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:235
+#: ../src/guestfs.pod:475 ../src/guestfs.pod:1212 ../src/guestfs.pod:1381
+#: ../src/guestfs.pod:1545 ../src/guestfs.pod:2815
+msgid "2."
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:301
+msgid "Read the Windows Event Log (Windows Vista or later only):"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:303 ../examples/guestfs-recipes.pod:402
+msgid ""
+"L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-"
+"guestfish/#content>"
+msgstr ""
+
+#. type: =item
+#: ../examples/guestfs-recipes.pod:305 ../resize/virt-resize.pod:52
+#: ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:241
+#: ../src/guestfs.pod:486 ../src/guestfs.pod:1216 ../src/guestfs.pod:1551
+msgid "3."
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:307
+msgid "Find out which files were last updated in a guest:"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:309
+msgid ""
+"L<https://rwmj.wordpress.com/2012/02/27/using-libguestfs-to-find-out-why-a-"
+"windows-guest-was-hanging/#content>"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:311
+msgid "This might give you a clue as to what program is running."
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:315
msgid "Install RPMs in a guest"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:286
+#: ../examples/guestfs-recipes.pod:317
msgid ""
"The link below contains a method to install RPMs in a guest. In fact the "
"RPMs are just uploaded to the guest along with a \"firstboot\" script that "
@@ -5562,23 +5644,23 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:292
+#: ../examples/guestfs-recipes.pod:323
msgid ""
"L<https://rwmj.wordpress.com/2010/12/01/tip-install-rpms-in-a-guest/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:294
+#: ../examples/guestfs-recipes.pod:325
msgid "List applications installed in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:296
+#: ../examples/guestfs-recipes.pod:327
msgid "Save the following to a file C<list-apps.sh>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:298
+#: ../examples/guestfs-recipes.pod:329
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -5591,14 +5673,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:305
+#: ../examples/guestfs-recipes.pod:336
msgid ""
"Make the file executable and then you can run it on any named virtual "
"machine:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:308
+#: ../examples/guestfs-recipes.pod:339
#, no-wrap
msgid ""
" # list-apps.sh WinGuest\n"
@@ -5634,7 +5716,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:338
+#: ../examples/guestfs-recipes.pod:369
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)"
@@ -5642,22 +5724,22 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:342
+#: ../examples/guestfs-recipes.pod:373
msgid "List files and directories in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:344
+#: ../examples/guestfs-recipes.pod:375
msgid "Use L<virt-ls(1)>."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:346
+#: ../examples/guestfs-recipes.pod:377
msgid "List services in a Windows VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:348
+#: ../examples/guestfs-recipes.pod:379
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 "
@@ -5665,73 +5747,66 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:352
+#: ../examples/guestfs-recipes.pod:383
msgid ""
"L<https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/"
"#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:354
+#: ../examples/guestfs-recipes.pod:385
msgid "Make a disk image sparse"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:356
+#: ../examples/guestfs-recipes.pod:387
msgid "Use L<virt-sparsify(1)>."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:358
+#: ../examples/guestfs-recipes.pod:389
msgid "Monitor disk usage over time"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:360
+#: ../examples/guestfs-recipes.pod:391
msgid ""
"You can use L<virt-df(1)> to monitor disk usage of your guests over time. "
"The link below contains a guide."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:363
+#: ../examples/guestfs-recipes.pod:394
msgid "L<http://virt-tools.org/learning/advanced-virt-df/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:365
+#: ../examples/guestfs-recipes.pod:396
msgid "Reading the Windows Event Log from Windows Vista (or later)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:367
+#: ../examples/guestfs-recipes.pod:398
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 ""
-#. type: textblock
-#: ../examples/guestfs-recipes.pod:371
-msgid ""
-"L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-"
-"guestfish/#content>"
-msgstr ""
-
#. type: =head1
-#: ../examples/guestfs-recipes.pod:373
+#: ../examples/guestfs-recipes.pod:404
msgid "Remove root password (Linux)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:375
+#: ../examples/guestfs-recipes.pod:406
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 ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:378
+#: ../examples/guestfs-recipes.pod:409
#, no-wrap
msgid ""
" virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n"
@@ -5739,12 +5814,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:380
+#: ../examples/guestfs-recipes.pod:411
msgid "Remove Administrator password (Windows)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:382
+#: ../examples/guestfs-recipes.pod:413
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 "
@@ -5752,19 +5827,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:387
+#: ../examples/guestfs-recipes.pod:418
msgid ""
"L<https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-"
"administrator-password-with-guestfish/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:389
+#: ../examples/guestfs-recipes.pod:420
msgid "Sysprepping a virtual machine (Windows)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:391
+#: ../examples/guestfs-recipes.pod:422
msgid ""
"It is possible to do a \"sysprep\" using libguestfs alone, although not "
"straightforward. Currently there is code in the Aeolus Oz project which "
@@ -5773,19 +5848,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:396
+#: ../examples/guestfs-recipes.pod:427
msgid ""
"L<https://github.com/clalancette/oz> L<https://www.redhat.com/archives/virt-"
"tools-list/2011-May/msg00019.html>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:399
+#: ../examples/guestfs-recipes.pod:430
msgid "Unpack a live CD"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:401
+#: ../examples/guestfs-recipes.pod:432
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 "
@@ -5793,52 +5868,105 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:405
+#: ../examples/guestfs-recipes.pod:436
msgid ""
"L<https://rwmj.wordpress.com/2009/07/15/unpack-the-russian-doll-of-a-f11-"
"live-cd/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:407
+#: ../examples/guestfs-recipes.pod:438
msgid "Uploading and downloading files"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:409
+#: ../examples/guestfs-recipes.pod:440
msgid ""
"The link below contains general tips on uploading (copying in) and "
"downloading (copying out) files from VMs."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:412
+#: ../examples/guestfs-recipes.pod:443
msgid ""
"L<https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/"
"#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:414
+#: ../examples/guestfs-recipes.pod:445
+msgid "Uploading raw filesystem content"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:447
+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 ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:451
+#, no-wrap
+msgid ""
+" guestfish --rw -a disk.img run : upload sda1.img /dev/sda1\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:453
+#, no-wrap
+msgid ""
+" guestfish --rw -d Guest run : upload lv.img /dev/vg_guest/lv_root\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:455
+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
+#: ../examples/guestfs-recipes.pod:461
+#, 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 ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:465
+msgid "(or use C<ntfsresize> if the filesystem is NTFS)."
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:467
msgid "Use libguestfs tools on VMware ESX guests"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:416
+#: ../examples/guestfs-recipes.pod:469
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 ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:420
+#: ../examples/guestfs-recipes.pod:473
msgid ""
"L<https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-"
"guests/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:424
+#: ../examples/guestfs-recipes.pod:477
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)"
">, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-"
@@ -5902,11 +6030,46 @@ msgstr ""
#. type: =head2
#: ../examples/guestfs-testing.pod:30
+msgid "Run libguestfs-test-tool"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-testing.pod:32 ../examples/guestfs-testing.pod:145
+#: ../src/guestfs.pod:3180
+msgid "Run:"
+msgstr ""
+
+#. type: verbatim
+#: ../examples/guestfs-testing.pod:34 ../test-tool/libguestfs-test-tool.pod:21
+#, no-wrap
+msgid ""
+" libguestfs-test-tool\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-testing.pod:36
+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 ""
+
+#. type: textblock
+#: ../examples/guestfs-testing.pod:39
+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 ""
+
+#. type: =head2
+#: ../examples/guestfs-testing.pod:44
msgid "Check KVM acceleration is being used."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:32
+#: ../examples/guestfs-testing.pod:46
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 "
@@ -5914,7 +6077,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:36
+#: ../examples/guestfs-testing.pod:50
#, no-wrap
msgid ""
" time guestfish -a /dev/null run\n"
@@ -5922,40 +6085,40 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:38
+#: ../examples/guestfs-testing.pod:52
msgid ""
"After a few runs, the time should settle down to a few seconds (under 5 "
"seconds on fast 64 bit hardware)."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:41
+#: ../examples/guestfs-testing.pod:55
msgid "How to check for hardware virt:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:43
+#: ../examples/guestfs-testing.pod:57
msgid "L<http://virt-tools.org/learning/check-hardware-virt/>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:45
+#: ../examples/guestfs-testing.pod:59
msgid ""
"If the command above does not work at all, use L<libguestfs-test-tool(1)>."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:48
+#: ../examples/guestfs-testing.pod:62
msgid "Run virt-alignment-scan on all your guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:50
+#: ../examples/guestfs-testing.pod:64
msgid "Run L<virt-alignment-scan(1)> on guests or disk images:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:52
+#: ../examples/guestfs-testing.pod:66
#, no-wrap
msgid ""
" virt-alignment-scan -a /path/to/disk.img\n"
@@ -5963,14 +6126,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161
-#: ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234
-#: ../src/guestfs.pod:2887
+#: ../examples/guestfs-testing.pod:68 ../examples/guestfs-testing.pod:175
+#: ../examples/guestfs-testing.pod:188 ../examples/guestfs-testing.pod:248
+#: ../src/guestfs.pod:2893
msgid "or:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:56
+#: ../examples/guestfs-testing.pod:70
#, no-wrap
msgid ""
" virt-alignment-scan -d Guest\n"
@@ -5978,22 +6141,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:58
+#: ../examples/guestfs-testing.pod:72
msgid "Does the alignment report match how the guest partitions are aligned?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:60
+#: ../examples/guestfs-testing.pod:74
msgid "Run virt-cat on some files in guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:62
+#: ../examples/guestfs-testing.pod:76
msgid "L<virt-cat(1)> can display files from guests. For a Linux guest, try:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:64
+#: ../examples/guestfs-testing.pod:78
#, no-wrap
msgid ""
" virt-cat LinuxGuest /etc/passwd\n"
@@ -6001,12 +6164,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:66
+#: ../examples/guestfs-testing.pod:80
msgid "A recent feature is support for Windows paths, for example:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:68
+#: ../examples/guestfs-testing.pod:82
#, no-wrap
msgid ""
" virt-cat WindowsGuest 'c:\\windows\\win.ini'\n"
@@ -6014,26 +6177,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:70
+#: ../examples/guestfs-testing.pod:84
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 ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:73
+#: ../examples/guestfs-testing.pod:87
msgid "B<*> Copy some files into a B<shut off> guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:75
+#: ../examples/guestfs-testing.pod:89
msgid ""
"L<virt-copy-in(1)> can recursively copy files and directories into a guest "
"or disk image."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:78
+#: ../examples/guestfs-testing.pod:92
#, no-wrap
msgid ""
" virt-copy-in -d Guest /etc /tmp\n"
@@ -6041,7 +6204,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:80
+#: ../examples/guestfs-testing.pod:94
msgid ""
"This should copy local directory C</etc> to C</tmp/etc> in the guest "
"(recursively). If you boot the guest, can you see all of the copied files "
@@ -6049,12 +6212,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:84
+#: ../examples/guestfs-testing.pod:98
msgid "Shut the guest down and try copying multiple files and directories:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:86
+#: ../examples/guestfs-testing.pod:100
#, no-wrap
msgid ""
" virt-copy-in -d Guest /home /etc/issue /tmp\n"
@@ -6062,39 +6225,39 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:88
+#: ../examples/guestfs-testing.pod:102
msgid "Copy some files out of a guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:90
+#: ../examples/guestfs-testing.pod:104
msgid ""
"L<virt-copy-out(1)> can recursively copy files and directories out of a "
"guest or disk image."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:95
+#: ../examples/guestfs-testing.pod:109
msgid "Note the final space and period in the command is not a typo."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:97
+#: ../examples/guestfs-testing.pod:111
msgid "This should copy C</home> from the guest into the current directory."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:99
+#: ../examples/guestfs-testing.pod:113
msgid "Run virt-df."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:101
+#: ../examples/guestfs-testing.pod:115
msgid "L<virt-df(1)> lists disk space. Run:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:103
+#: ../examples/guestfs-testing.pod:117
#, no-wrap
msgid ""
" virt-df\n"
@@ -6102,31 +6265,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:105
+#: ../examples/guestfs-testing.pod:119
msgid ""
"You can try comparing this to the results from L<df(1)> inside the guest, "
"but there are some provisos:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:112
+#: ../examples/guestfs-testing.pod:126
msgid "The guest must be idle."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:116
+#: ../examples/guestfs-testing.pod:130
msgid "The guest disks must be synched using L<sync(1)>."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:120
+#: ../examples/guestfs-testing.pod:134
msgid ""
"Any action such as booting the guest will write log files causing the "
"numbers to change."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:125
+#: ../examples/guestfs-testing.pod:139
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 "
@@ -6134,17 +6297,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:129
+#: ../examples/guestfs-testing.pod:143
msgid "Try importing virt-df CSV output into a spreadsheet or database."
msgstr ""
-#. type: textblock
-#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3174
-msgid "Run:"
-msgstr ""
-
#. type: verbatim
-#: ../examples/guestfs-testing.pod:133
+#: ../examples/guestfs-testing.pod:147
#, no-wrap
msgid ""
" virt-df --csv > /tmp/report.csv\n"
@@ -6152,33 +6310,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:135
+#: ../examples/guestfs-testing.pod:149
msgid ""
"Now try to load this into your favorite spreadsheet or database. Are the "
"results reproduced faithfully in the spreadsheet/database?"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:138
+#: ../examples/guestfs-testing.pod:152
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 ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:141
+#: ../examples/guestfs-testing.pod:155
msgid "B<*> Edit a file in a B<shut off> guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:143
+#: ../examples/guestfs-testing.pod:157
msgid ""
"L<virt-edit(1)> can edit files in guests. Try this command on a RHEL or "
"Fedora guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:146
+#: ../examples/guestfs-testing.pod:160
#, no-wrap
msgid ""
" virt-edit LinuxGuest /etc/sysconfig/network\n"
@@ -6186,12 +6344,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:148
+#: ../examples/guestfs-testing.pod:162
msgid "On other Linux guests try editing other files such as:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:150
+#: ../examples/guestfs-testing.pod:164
#, no-wrap
msgid ""
" virt-edit LinuxGuest /etc/motd\n"
@@ -6199,24 +6357,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:152
+#: ../examples/guestfs-testing.pod:166
msgid "Are the changes seen inside the guest when it is booted?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:154
+#: ../examples/guestfs-testing.pod:168
msgid "Display the filesystems / partitions / LVs in a guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:156
+#: ../examples/guestfs-testing.pod:170
msgid ""
"L<virt-filesystems(1)> can be used to display filesystems in a guest. Try "
"this command on any disk image or guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:159
+#: ../examples/guestfs-testing.pod:173
#, no-wrap
msgid ""
" virt-filesystems -a /path/to/disk.img --all --long -h\n"
@@ -6224,7 +6382,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:163
+#: ../examples/guestfs-testing.pod:177
#, no-wrap
msgid ""
" virt-filesystems -d Guest --all --long -h\n"
@@ -6232,24 +6390,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:165
+#: ../examples/guestfs-testing.pod:179
msgid "Do the results match what is seen in the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:167
+#: ../examples/guestfs-testing.pod:181
msgid "Run virt-inspector on all your guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:169
+#: ../examples/guestfs-testing.pod:183
msgid ""
"Use L<virt-inspector(1)> to get a report on all of your guests or disk "
"images:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:172
+#: ../examples/guestfs-testing.pod:186
#, no-wrap
msgid ""
" virt-inspector -a /path/to/disk.img | less\n"
@@ -6257,7 +6415,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:176
+#: ../examples/guestfs-testing.pod:190
#, no-wrap
msgid ""
" virt-inspector -d Guest | less\n"
@@ -6265,17 +6423,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:178
+#: ../examples/guestfs-testing.pod:192
msgid "Do the results match what is actually in the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:180
+#: ../examples/guestfs-testing.pod:194
msgid "Try the auditing features of virt-ls on all your guests."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:184
+#: ../examples/guestfs-testing.pod:198
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^- [42]'\n"
@@ -6283,7 +6441,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:188
+#: ../examples/guestfs-testing.pod:202
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^d ...7'\n"
@@ -6291,7 +6449,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:192
+#: ../examples/guestfs-testing.pod:206
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^s'\n"
@@ -6299,7 +6457,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:196
+#: ../examples/guestfs-testing.pod:210
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep -i '^-.*\\.png$'\n"
@@ -6307,12 +6465,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:198
+#: ../examples/guestfs-testing.pod:212
msgid "Display files larger than 10MB in home directories:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:200
+#: ../examples/guestfs-testing.pod:214
#, no-wrap
msgid ""
" virt-ls -lR -d Guest /home | awk '$3 > 10*1024*1024'\n"
@@ -6320,7 +6478,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:204
+#: ../examples/guestfs-testing.pod:218
#, no-wrap
msgid ""
" virt-ls -lR -d Guest --time-days / | awk '$6 <= 7'\n"
@@ -6328,7 +6486,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:208
+#: ../examples/guestfs-testing.pod:222
#, no-wrap
msgid ""
" virt-ls -lR -d Guest --time-days / | grep '^-' | awk '$6 < 1'\n"
@@ -6336,24 +6494,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:210
+#: ../examples/guestfs-testing.pod:224
msgid "Do the results match what is in the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:212
+#: ../examples/guestfs-testing.pod:226
msgid "Create a disk image from a tarball."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:214
+#: ../examples/guestfs-testing.pod:228
msgid ""
"Use L<virt-make-fs(1)> to create a disk image from any tarball that you "
"happen to have:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:217
+#: ../examples/guestfs-testing.pod:231
#, no-wrap
msgid ""
" virt-make-fs --partition=mbr --type=vfat /any/tarball.tar.gz output.img\n"
@@ -6361,7 +6519,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:219
+#: ../examples/guestfs-testing.pod:233
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 "
@@ -6369,29 +6527,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:223
+#: ../examples/guestfs-testing.pod:237
msgid "Try other partitioning schemes, eg. I<--partition=gpt>."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:225
+#: ../examples/guestfs-testing.pod:239
msgid "Try other filesystem formats, eg. I<--type=ntfs>, I<--type=ext2>."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:227
+#: ../examples/guestfs-testing.pod:241
msgid "B<*> Run virt-rescue on a B<shut off> disk image or guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:229
+#: ../examples/guestfs-testing.pod:243
msgid ""
"Use L<virt-rescue(1)> to examine, rescue or repair a B<shut off> guest or "
"disk image:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:232
+#: ../examples/guestfs-testing.pod:246
#, no-wrap
msgid ""
" virt-rescue -a /path/to/disk.img\n"
@@ -6399,7 +6557,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:236
+#: ../examples/guestfs-testing.pod:250
#, no-wrap
msgid ""
" virt-rescue -d Guest\n"
@@ -6407,24 +6565,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:238
+#: ../examples/guestfs-testing.pod:252
msgid "Can you use ordinary shell commands to examine the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:240
+#: ../examples/guestfs-testing.pod:254
msgid "B<*> Resize your guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:242
+#: ../examples/guestfs-testing.pod:256
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 ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:246
+#: ../examples/guestfs-testing.pod:260
#, no-wrap
msgid ""
" truncate -s 30G newdisk.img\n"
@@ -6435,22 +6593,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:251
+#: ../examples/guestfs-testing.pod:265
msgid "Does the guest still boot? Try expanding other partitions."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:253
+#: ../examples/guestfs-testing.pod:267
msgid "B<*> Sparsify a guest disk."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:255
+#: ../examples/guestfs-testing.pod:269
msgid "Using L<virt-sparsify(1)>, make a disk image more sparse:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:257
+#: ../examples/guestfs-testing.pod:271
#, no-wrap
msgid ""
" virt-sparsify /path/to/olddisk.img newdisk.img\n"
@@ -6458,26 +6616,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:259
+#: ../examples/guestfs-testing.pod:273
msgid ""
"Is C<newdisk.img> still bootable after sparsifying? Is the resulting disk "
"image smaller (use C<du> to check)?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:262
+#: ../examples/guestfs-testing.pod:276
msgid "B<*> \"sysprep\" a B<shut off> Linux guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:264
+#: ../examples/guestfs-testing.pod:278
msgid ""
"Note that this really will mess up an existing guest, so it's better to "
"clone the guest before trying this."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:267
+#: ../examples/guestfs-testing.pod:281
#, no-wrap
msgid ""
" virt-sysprep --hostname newhost.example.com -a /path/to/disk.img\n"
@@ -6485,26 +6643,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:269
+#: ../examples/guestfs-testing.pod:283
msgid ""
"Was the sysprep successful? After booting, what changes were made and were "
"they successful?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:272
+#: ../examples/guestfs-testing.pod:286
msgid "Dump the Windows Registry from your Windows guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:274
+#: ../examples/guestfs-testing.pod:288
msgid ""
"Use L<virt-win-reg(1)> to dump out the Windows Registry from any Windows "
"guests that you have."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:277
+#: ../examples/guestfs-testing.pod:291
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\Software' |\n"
@@ -6513,7 +6671,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:280
+#: ../examples/guestfs-testing.pod:294
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\System' |\n"
@@ -6522,19 +6680,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:283
+#: ../examples/guestfs-testing.pod:297
msgid "Does the output match running C<regedit> inside the guest?"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:285
+#: ../examples/guestfs-testing.pod:299
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 ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:288
+#: ../examples/guestfs-testing.pod:302
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKEY_USERS\\username' |\n"
@@ -6543,7 +6701,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:293
+#: ../examples/guestfs-testing.pod:307
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<http://libguestfs."
"org/>."
@@ -6896,7 +7054,7 @@ msgstr ""
#. type: =item
#: ../fish/guestfish-actions.pod:174 ../src/guestfs-actions.pod:234
-#: ../src/guestfs.pod:3057
+#: ../src/guestfs.pod:3063
msgid "C<format>"
msgstr ""
@@ -16211,7 +16369,7 @@ msgstr ""
#. type: =item
#: ../fish/guestfish-actions.pod:4476 ../src/guestfs-actions.pod:6961
-#: ../src/guestfs.pod:3016
+#: ../src/guestfs.pod:3022
msgid "C<appliance>"
msgstr ""
@@ -19927,7 +20085,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2337
+#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2343
#, no-wrap
msgid ""
" guestfish -N fs\n"
@@ -21401,7 +21559,7 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../fish/guestfish.pod:825 ../src/guestfs.pod:513
+#: ../fish/guestfish.pod:825 ../src/guestfs.pod:519
msgid "ENCRYPTED DISKS"
msgstr ""
@@ -21766,7 +21924,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:982 ../src/guestfs.pod:988
+#: ../fish/guestfish.pod:982 ../src/guestfs.pod:994
#, no-wrap
msgid ""
" #!/bin/bash -\n"
@@ -22052,7 +22210,7 @@ msgid "COMMANDS"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1614
+#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1620
msgid "@ACTIONS@"
msgstr ""
@@ -22076,17 +22234,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3304
+#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3310
msgid "FEBOOTSTRAP_KERNEL"
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3306
+#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3312
msgid "FEBOOTSTRAP_MODULES"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3308
+#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3314
msgid ""
"These two environment variables allow the kernel that libguestfs uses in the "
"appliance to be selected. If C<$FEBOOTSTRAP_KERNEL> is not set, then the "
@@ -22144,17 +22302,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3314
+#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3320
msgid "LIBGUESTFS_APPEND"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3316
+#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3322
msgid "Pass additional options to the guest kernel."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3318
+#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3324
msgid "LIBGUESTFS_DEBUG"
msgstr ""
@@ -22166,18 +22324,18 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3323
+#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3329
msgid "LIBGUESTFS_MEMSIZE"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3325
+#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3331
msgid ""
"Set the memory allocated to the qemu process, in megabytes. For example:"
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3328
+#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3334
#, no-wrap
msgid ""
" LIBGUESTFS_MEMSIZE=700\n"
@@ -22185,7 +22343,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3330
+#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3336
msgid "LIBGUESTFS_PATH"
msgstr ""
@@ -22197,19 +22355,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3335
+#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3341
msgid "LIBGUESTFS_QEMU"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3337
+#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3343
msgid ""
"Set the default qemu binary that libguestfs uses. If not set, then the qemu "
"which was found at compile time by the configure script is used."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3343
+#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3349
msgid "LIBGUESTFS_TRACE"
msgstr ""
@@ -22232,19 +22390,19 @@ msgstr ""
#. type: =item
#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:261
-#: ../src/guestfs.pod:3348
+#: ../src/guestfs.pod:3354
msgid "TMPDIR"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3350
+#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3356
msgid ""
"Location of temporary directory, defaults to C</tmp> except for the cached "
"supermin appliance which defaults to C</var/tmp>."
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3353
+#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3359
msgid ""
"If libguestfs was compiled to use the supermin appliance then the real "
"appliance is cached in this directory, shared between all handles belonging "
@@ -25176,14 +25334,6 @@ msgid ""
"and L<virt-df(1)>, we recommend you go and read those manual pages first."
msgstr ""
-#. type: =item
-#: ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603
-#: ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:463
-#: ../src/guestfs.pod:1202 ../src/guestfs.pod:1371 ../src/guestfs.pod:1535
-#: ../src/guestfs.pod:2784
-msgid "1."
-msgstr ""
-
#. type: textblock
#: ../resize/virt-resize.pod:33
msgid ""
@@ -25217,14 +25367,6 @@ msgid ""
"\n"
msgstr ""
-#. type: =item
-#: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610
-#: ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:469
-#: ../src/guestfs.pod:1206 ../src/guestfs.pod:1375 ../src/guestfs.pod:1539
-#: ../src/guestfs.pod:2809
-msgid "2."
-msgstr ""
-
#. type: textblock
#: ../resize/virt-resize.pod:46
msgid ""
@@ -25241,13 +25383,6 @@ msgid ""
"\n"
msgstr ""
-#. type: =item
-#: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616
-#: ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:480
-#: ../src/guestfs.pod:1210 ../src/guestfs.pod:1545
-msgid "3."
-msgstr ""
-
#. type: textblock
#: ../resize/virt-resize.pod:54
msgid ""
@@ -37106,26 +37241,39 @@ msgid ""
"LANGUAGES> below."
msgstr ""
-#. type: =head1
+#. type: textblock
#: ../src/guestfs.pod:39
-msgid "API OVERVIEW"
+msgid "For tips and recipes, see L<guestfs-recipes(1)>."
msgstr ""
#. type: textblock
#: ../src/guestfs.pod:41
msgid ""
+"If you are having performance problems, read L<guestfs-performance(1)>. To "
+"help test libguestfs, read L<libguestfs-test-tool(1)> and L<guestfs-testing"
+"(1)>."
+msgstr ""
+
+#. type: =head1
+#: ../src/guestfs.pod:45
+msgid "API OVERVIEW"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:47
+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 ""
#. type: =head2
-#: ../src/guestfs.pod:46
+#: ../src/guestfs.pod:52
msgid "HANDLES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:48
+#: ../src/guestfs.pod:54
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 "
@@ -37135,12 +37283,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:55
+#: ../src/guestfs.pod:61
msgid "The general structure of all libguestfs-using programs looks like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:58
+#: ../src/guestfs.pod:64
#, no-wrap
msgid ""
" guestfs_h *g = guestfs_create ();\n"
@@ -37148,7 +37296,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:60
+#: ../src/guestfs.pod:66
#, no-wrap
msgid ""
" /* Call guestfs_add_drive additional times if there are\n"
@@ -37159,7 +37307,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:65
+#: ../src/guestfs.pod:71
#, no-wrap
msgid ""
" /* Most manipulation calls won't work until you've launched\n"
@@ -37171,7 +37319,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:71
+#: ../src/guestfs.pod:77
#, no-wrap
msgid ""
" /* Now you can examine what partitions, LVs etc are available.\n"
@@ -37182,7 +37330,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:76
+#: ../src/guestfs.pod:82
#, no-wrap
msgid ""
" /* To access a filesystem in the image, you must mount it.\n"
@@ -37192,7 +37340,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:80
+#: ../src/guestfs.pod:86
#, no-wrap
msgid ""
" /* Now you can perform filesystem actions on the guest\n"
@@ -37203,7 +37351,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:85
+#: ../src/guestfs.pod:91
#, no-wrap
msgid ""
" /* Synchronize the disk. This is the opposite of guestfs_launch. */\n"
@@ -37212,7 +37360,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:88
+#: ../src/guestfs.pod:94
#, no-wrap
msgid ""
" /* Close and free the handle 'g'. */\n"
@@ -37221,7 +37369,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:91
+#: ../src/guestfs.pod:97
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 "
@@ -37233,12 +37381,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:100
+#: ../src/guestfs.pod:106
msgid "DISK IMAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:102
+#: ../src/guestfs.pod:108
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 "
@@ -37248,7 +37396,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:108
+#: ../src/guestfs.pod:114
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 "
@@ -37256,7 +37404,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:112
+#: ../src/guestfs.pod:118
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -37266,12 +37414,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:116
+#: ../src/guestfs.pod:122
msgid "You can add a disk read-only using:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:118
+#: ../src/guestfs.pod:124
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -37282,14 +37430,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:123
+#: ../src/guestfs.pod:129
msgid ""
"or by calling the older function L</guestfs_add_drive_ro>. In either case "
"libguestfs won't modify the file."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:126
+#: ../src/guestfs.pod:132
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 "
@@ -37297,7 +37445,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:130
+#: ../src/guestfs.pod:136
msgid ""
"You must add at least one disk image, and you may add multiple disk images. "
"In the API, the disk images are usually referred to as C</dev/sda> (for the "
@@ -37305,7 +37453,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:135
+#: ../src/guestfs.pod:141
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 "
@@ -37313,12 +37461,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:140
+#: ../src/guestfs.pod:146
msgid "MOUNTING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:142
+#: ../src/guestfs.pod:148
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 "
@@ -37328,7 +37476,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:149
+#: ../src/guestfs.pod:155
#, no-wrap
msgid ""
" guestfs_mount_options (g, \"\", \"/dev/sda1\", \"/\");\n"
@@ -37336,7 +37484,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:151
+#: ../src/guestfs.pod:157
msgid ""
"where C</dev/sda1> means literally the first partition (C<1>) of the first "
"disk image that we added (C</dev/sda>). If the disk contains Linux LVM2 "
@@ -37346,7 +37494,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:157
+#: ../src/guestfs.pod:163
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</"
@@ -37357,7 +37505,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:165
+#: ../src/guestfs.pod:171
msgid ""
"Libguestfs also has a set of APIs for inspection of unknown disk images (see "
"L</INSPECTION> below). But you might find it easier to look at higher level "
@@ -37365,19 +37513,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:170
+#: ../src/guestfs.pod:176
msgid ""
"To mount a filesystem read-only, use L</guestfs_mount_ro>. There are "
"several other variations of the C<guestfs_mount_*> call."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:173
+#: ../src/guestfs.pod:179
msgid "FILESYSTEM ACCESS AND MODIFICATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:175
+#: ../src/guestfs.pod:181
msgid ""
"The majority of the libguestfs API consists of fairly low-level calls for "
"accessing and modifying the files, directories, symlinks etc on mounted "
@@ -37387,21 +37535,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:181
+#: ../src/guestfs.pod:187
msgid ""
"Specify filenames as full paths, starting with C<\"/\"> and including the "
"mount point."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:184
+#: ../src/guestfs.pod:190
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 ""
#. type: verbatim
-#: ../src/guestfs.pod:187
+#: ../src/guestfs.pod:193
#, no-wrap
msgid ""
" char *data = guestfs_cat (g, \"/etc/passwd\");\n"
@@ -37409,7 +37557,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:189
+#: ../src/guestfs.pod:195
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), "
@@ -37417,14 +37565,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:193
+#: ../src/guestfs.pod:199
msgid ""
"As another example, to create a top-level directory on that filesystem "
"called C<\"var\"> you would do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:196
+#: ../src/guestfs.pod:202
#, no-wrap
msgid ""
" guestfs_mkdir (g, \"/var\");\n"
@@ -37432,12 +37580,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:198
+#: ../src/guestfs.pod:204
msgid "To create a symlink you could do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:200
+#: ../src/guestfs.pod:206
#, no-wrap
msgid ""
" guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
@@ -37446,14 +37594,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:203
+#: ../src/guestfs.pod:209
msgid ""
"Libguestfs will reject attempts to use relative paths and there is no "
"concept of a current working directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:206
+#: ../src/guestfs.pod:212
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 "
@@ -37463,33 +37611,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:212
+#: ../src/guestfs.pod:218
msgid ""
"File writes are affected by the per-handle umask, set by calling L</"
"guestfs_umask> and defaulting to 022. See L</UMASK>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:215
+#: ../src/guestfs.pod:221
msgid "PARTITIONING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:217
+#: ../src/guestfs.pod:223
msgid ""
"Libguestfs contains API calls to read, create and modify partition tables on "
"disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:220
+#: ../src/guestfs.pod:226
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 ""
#. type: verbatim
-#: ../src/guestfs.pod:224
+#: ../src/guestfs.pod:230
#, no-wrap
msgid ""
" const char *parttype = \"mbr\";\n"
@@ -37500,18 +37648,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:229
+#: ../src/guestfs.pod:235
msgid ""
"Obviously this effectively wipes anything that was on that disk image before."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:232
+#: ../src/guestfs.pod:238
msgid "LVM2"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:234
+#: ../src/guestfs.pod:240
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 "
@@ -37520,19 +37668,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:239
+#: ../src/guestfs.pod:245
msgid ""
"This author strongly recommends reading the LVM HOWTO, online at L<http://"
"tldp.org/HOWTO/LVM-HOWTO/>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:242
+#: ../src/guestfs.pod:248
msgid "DOWNLOADING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:244
+#: ../src/guestfs.pod:250
msgid ""
"Use L</guestfs_cat> to download small, text only files. This call is "
"limited to files which are less than 2 MB and which cannot contain any ASCII "
@@ -37540,7 +37688,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:248
+#: ../src/guestfs.pod:254
msgid ""
"L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
"bit data, since it returns a (pointer, size) pair. However it is still "
@@ -37548,31 +37696,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:252
+#: ../src/guestfs.pod:258
msgid ""
"L</guestfs_download> can be used to download any file, with no limits on "
"content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:255
+#: ../src/guestfs.pod:261
msgid ""
"To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:258
+#: ../src/guestfs.pod:264
msgid "UPLOADING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:260
+#: ../src/guestfs.pod:266
msgid ""
"It's often the case that you want to write a file or files to the disk image."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:263
+#: ../src/guestfs.pod:269
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</"
@@ -37582,20 +37730,20 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:269
+#: ../src/guestfs.pod:275
msgid ""
"To upload a single file, use L</guestfs_upload>. This call has no limits on "
"file content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:272
+#: ../src/guestfs.pod:278
msgid ""
"To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:274
+#: ../src/guestfs.pod:280
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)"
@@ -37609,12 +37757,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:285
+#: ../src/guestfs.pod:291
msgid "COPYING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:287
+#: ../src/guestfs.pod:293
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 "
@@ -37622,52 +37770,52 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:293
+#: ../src/guestfs.pod:299
msgid "B<file> to B<file>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:295
+#: ../src/guestfs.pod:301
msgid ""
"Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
"directories recursively."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:298
+#: ../src/guestfs.pod:304
msgid ""
"To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:301
+#: ../src/guestfs.pod:307
msgid "B<file> to B<device>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:303
+#: ../src/guestfs.pod:309
msgid "B<device> to B<file>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:305
+#: ../src/guestfs.pod:311
msgid "B<device> to B<device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:307
+#: ../src/guestfs.pod:313
msgid ""
"Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or L</"
"guestfs_copy_device_to_device>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:310
+#: ../src/guestfs.pod:316
msgid "Example: duplicate the contents of an LV:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:312
+#: ../src/guestfs.pod:318
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -37678,7 +37826,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:317
+#: ../src/guestfs.pod:323
msgid ""
"The destination (C</dev/VG/Copy>) must be at least as large as the source "
"(C</dev/VG/Original>). To copy less than the whole source device, use the "
@@ -37686,7 +37834,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:321
+#: ../src/guestfs.pod:327
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -37697,32 +37845,32 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:326
+#: ../src/guestfs.pod:332
msgid "B<file on the host> to B<file or device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:328
+#: ../src/guestfs.pod:334
msgid "Use L</guestfs_upload>. See L</UPLOADING> above."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:330
+#: ../src/guestfs.pod:336
msgid "B<file or device> to B<file on the host>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:332
+#: ../src/guestfs.pod:338
msgid "Use L</guestfs_download>. See L</DOWNLOADING> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:336
+#: ../src/guestfs.pod:342
msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:338
+#: ../src/guestfs.pod:344
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 "
@@ -37733,12 +37881,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:346
+#: ../src/guestfs.pod:352
msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:349
+#: ../src/guestfs.pod:355
#, no-wrap
msgid ""
" guestfs_download (g, filename, \"/dev/stdout\");\n"
@@ -37746,12 +37894,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:351
+#: ../src/guestfs.pod:357
msgid "and you can write tar output to a file descriptor C<fd> by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:353
+#: ../src/guestfs.pod:359
#, no-wrap
msgid ""
" char devfd[64];\n"
@@ -37761,26 +37909,26 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:357
+#: ../src/guestfs.pod:363
msgid "LISTING FILES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:359
+#: ../src/guestfs.pod:365
msgid ""
"L</guestfs_ll> is just designed for humans to read (mainly when using the "
"L<guestfish(1)>-equivalent command C<ll>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:362
+#: ../src/guestfs.pod:368
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 ""
#. type: textblock
-#: ../src/guestfs.pod:365
+#: ../src/guestfs.pod:371
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 "
@@ -37788,18 +37936,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:369
+#: ../src/guestfs.pod:375
msgid ""
"L</guestfs_find> and L</guestfs_find0> can be used to recursively list files."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:372
+#: ../src/guestfs.pod:378
msgid "RUNNING COMMANDS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:374
+#: ../src/guestfs.pod:380
msgid ""
"Although libguestfs is primarily an API for manipulating files inside guest "
"images, we also provide some limited facilities for running commands inside "
@@ -37807,56 +37955,56 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:378
+#: ../src/guestfs.pod:384
msgid "There are many limitations to this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:384
+#: ../src/guestfs.pod:390
msgid ""
"The kernel version that the command runs under will be different from what "
"it expects."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:389
+#: ../src/guestfs.pod:395
msgid ""
"If the command needs to communicate with daemons, then most likely they "
"won't be running."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:394
+#: ../src/guestfs.pod:400
msgid "The command will be running in limited memory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:398
+#: ../src/guestfs.pod:404
msgid ""
"The network may not be available unless you enable it (see L</"
"guestfs_set_network>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:403
+#: ../src/guestfs.pod:409
msgid "Only supports Linux guests (not Windows, BSD, etc)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:407
+#: ../src/guestfs.pod:413
msgid ""
"Architecture limitations (eg. won't work for a PPC guest on an X86 host)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:412
+#: ../src/guestfs.pod:418
msgid ""
"For SELinux guests, you may need to enable SELinux and load policy first. "
"See L</SELINUX> in this manpage."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:417
+#: ../src/guestfs.pod:423
msgid ""
"I<Security:> It is not safe to run commands from untrusted, possibly "
"malicious guests. These commands may attempt to exploit your program by "
@@ -37868,7 +38016,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:426
+#: ../src/guestfs.pod:432
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 "
@@ -37878,26 +38026,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:434
+#: ../src/guestfs.pod:440
msgid ""
"The two main API calls to run commands are L</guestfs_command> and L</"
"guestfs_sh> (there are also variations)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:437
+#: ../src/guestfs.pod:443
msgid ""
"The difference is that L</guestfs_sh> runs commands using the shell, so any "
"shell globs, redirections, etc will work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:440
+#: ../src/guestfs.pod:446
msgid "CONFIGURATION FILES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:442
+#: ../src/guestfs.pod:448
msgid ""
"To read and write configuration files in Linux guest filesystems, we "
"strongly recommend using Augeas. For example, Augeas understands how to "
@@ -37906,7 +38054,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:447
+#: ../src/guestfs.pod:453
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 "
@@ -37914,7 +38062,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:451
+#: ../src/guestfs.pod:457
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 "
@@ -37922,24 +38070,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:455
+#: ../src/guestfs.pod:461
msgid "SELINUX"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:457
+#: ../src/guestfs.pod:463
msgid ""
"We support SELinux guests. To ensure that labeling happens correctly in "
"SELinux guests, you need to enable SELinux and load the guest's policy:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:465
+#: ../src/guestfs.pod:471
msgid "Before launching, do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:467
+#: ../src/guestfs.pod:473
#, no-wrap
msgid ""
" guestfs_set_selinux (g, 1);\n"
@@ -37947,14 +38095,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:471
+#: ../src/guestfs.pod:477
msgid ""
"After mounting the guest's filesystem(s), load the policy. This is best "
"done by running the L<load_policy(8)> command in the guest itself:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:475
+#: ../src/guestfs.pod:481
#, no-wrap
msgid ""
" guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -37962,21 +38110,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:477
+#: ../src/guestfs.pod:483
msgid ""
"(Older versions of C<load_policy> require you to specify the name of the "
"policy file)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:482
+#: ../src/guestfs.pod:488
msgid ""
"Optionally, set the security context for the API. The correct security "
"context to use can only be known by inspecting the guest. As an example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:486
+#: ../src/guestfs.pod:492
#, no-wrap
msgid ""
" guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -37984,24 +38132,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:490
+#: ../src/guestfs.pod:496
msgid "This will work for running commands and editing existing files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:498
msgid ""
"When new files are created, you may need to label them explicitly, for "
"example by running the external command C<restorecon pathname>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:496
+#: ../src/guestfs.pod:502
msgid "UMASK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:504
msgid ""
"Certain calls are affected by the current file mode creation mask (the "
"\"umask\"). In particular ones which create files or directories, such as "
@@ -38011,14 +38159,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:504
+#: ../src/guestfs.pod:510
msgid ""
"The default umask is C<022>, so files are created with modes such as C<0644> "
"and directories with C<0755>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:507
+#: ../src/guestfs.pod:513
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</"
@@ -38026,12 +38174,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:511
+#: ../src/guestfs.pod:517
msgid "For more information about umask, see L<umask(2)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:515
+#: ../src/guestfs.pod:521
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) "
@@ -38040,21 +38188,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:521
+#: ../src/guestfs.pod:527
msgid ""
"Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
"returns the string C<crypto_LUKS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:524
+#: ../src/guestfs.pod:530
msgid ""
"Then open these devices by calling L</guestfs_luks_open>. Obviously you "
"will require the passphrase!"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:527
+#: ../src/guestfs.pod:533
msgid ""
"Opening a LUKS device creates a new device mapper device called C</dev/"
"mapper/mapname> (where C<mapname> is the string you supply to L</"
@@ -38063,7 +38211,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:533
+#: ../src/guestfs.pod:539
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"
@@ -38071,7 +38219,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:537
+#: ../src/guestfs.pod:543
msgid ""
"Use the reverse process to close a LUKS device. Unmount any logical volumes "
"on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, "
@@ -38081,12 +38229,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:544
+#: ../src/guestfs.pod:550
msgid "INSPECTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:546
+#: ../src/guestfs.pod:552
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. (These APIs used to "
@@ -38096,14 +38244,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:553
+#: ../src/guestfs.pod:559
msgid ""
"Add all disks belonging to the unknown virtual machine and call L</"
"guestfs_launch> in the usual way."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:556
+#: ../src/guestfs.pod:562
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 "
@@ -38116,7 +38264,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:571
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</"
@@ -38125,7 +38273,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:571
+#: ../src/guestfs.pod:577
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 "
@@ -38136,7 +38284,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:578
+#: ../src/guestfs.pod:584
#, no-wrap
msgid ""
" /boot => /dev/sda1\n"
@@ -38146,21 +38294,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:582
+#: ../src/guestfs.pod:588
msgid ""
"The caller can then make calls to L</guestfs_mount_options> to mount the "
"filesystems as suggested."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:585
+#: ../src/guestfs.pod:591
msgid ""
"Be careful to mount filesystems in the right order (eg. C</> before C</"
"usr>). Sorting the keys of the hash by length, shortest first, should work."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:589
+#: ../src/guestfs.pod:595
msgid ""
"Inspection currently only works for some common operating systems. "
"Contributors are welcome to send patches for other operating systems that we "
@@ -38168,7 +38316,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:593
+#: ../src/guestfs.pod:599
msgid ""
"Encrypted disks must be opened before inspection. See L</ENCRYPTED DISKS> "
"for more details. The L</guestfs_inspect_os> function just ignores any "
@@ -38176,7 +38324,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:597
+#: ../src/guestfs.pod:603
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 "
@@ -38189,19 +38337,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:606
+#: ../src/guestfs.pod:612
msgid "INSPECTING INSTALL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:608
+#: ../src/guestfs.pod:614
msgid ""
"Libguestfs (since 1.9.4) can detect some install disks, install CDs, live "
"CDs and more."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:611
+#: ../src/guestfs.pod:617
msgid ""
"Call L</guestfs_inspect_get_format> to return the format of the operating "
"system, which currently can be C<installed> (a regular operating system) or "
@@ -38209,7 +38357,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:615
+#: ../src/guestfs.pod:621
msgid ""
"Further information is available about the operating system that can be "
"installed using the regular inspection APIs like L</"
@@ -38217,7 +38365,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:620
+#: ../src/guestfs.pod:626
msgid ""
"Some additional information specific to installer disks is also available "
"from the L</guestfs_inspect_is_live>, L</guestfs_inspect_is_netinst> and L</"
@@ -38225,24 +38373,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:625
+#: ../src/guestfs.pod:631
msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:627
+#: ../src/guestfs.pod:633
msgid ""
"Libguestfs can mount NTFS partitions. It does this using the L<http://www."
"ntfs-3g.org/> driver."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:630
+#: ../src/guestfs.pod:636
msgid "DRIVE LETTERS AND PATHS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:632
+#: ../src/guestfs.pod:638
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 "
@@ -38252,14 +38400,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:638
+#: ../src/guestfs.pod:644
msgid ""
"Drive letter mappings can be found using inspection (see L</INSPECTION> and "
"L</guestfs_inspect_get_drive_mappings>)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:641
+#: ../src/guestfs.pod:647
msgid ""
"Dealing with separator characters (backslash vs forward slash) is outside "
"the scope of libguestfs, but usually a simple character replacement will "
@@ -38267,33 +38415,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:645
+#: ../src/guestfs.pod:651
msgid ""
"To resolve the case insensitivity of paths, call L</"
"guestfs_case_sensitive_path>."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:648
+#: ../src/guestfs.pod:654
msgid "LONG FILENAMES ON NTFS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:650
+#: ../src/guestfs.pod:656
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 ""
#. type: textblock
-#: ../src/guestfs.pod:654
+#: ../src/guestfs.pod:660
msgid ""
"Most Linux filesystems support filenames up to 255 I<bytes>. This means you "
"may get an error:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:657
+#: ../src/guestfs.pod:663
#, no-wrap
msgid ""
" File name too long\n"
@@ -38301,14 +38449,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:659
+#: ../src/guestfs.pod:665
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 ""
#. type: textblock
-#: ../src/guestfs.pod:662
+#: ../src/guestfs.pod:668
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 "
@@ -38316,7 +38464,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:666
+#: ../src/guestfs.pod:672
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 "
@@ -38324,12 +38472,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:670
+#: ../src/guestfs.pod:676
msgid "ACCESSING THE WINDOWS REGISTRY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:672
+#: ../src/guestfs.pod:678
msgid ""
"Libguestfs also provides some help for decoding Windows Registry \"hive\" "
"files, through the library C<hivex> which is part of the libguestfs project "
@@ -38340,12 +38488,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:680
+#: ../src/guestfs.pod:686
msgid "SYMLINKS ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:682
+#: ../src/guestfs.pod:688
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 "
@@ -38353,14 +38501,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:686
+#: ../src/guestfs.pod:692
msgid ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-"
"symbolic-links/>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:688
+#: ../src/guestfs.pod:694
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 "
@@ -38370,7 +38518,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:695
+#: ../src/guestfs.pod:701
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 "
@@ -38379,37 +38527,37 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:700
+#: ../src/guestfs.pod:706
msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:702
+#: ../src/guestfs.pod:708
msgid ""
"There are other useful extended attributes that can be read from ntfs-3g "
"filesystems (using L</guestfs_getxattr>). See:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:705
+#: ../src/guestfs.pod:711
msgid ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:707
+#: ../src/guestfs.pod:713
msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:709
+#: ../src/guestfs.pod:715
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
-#: ../src/guestfs.pod:712
+#: ../src/guestfs.pod:718
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)> "
@@ -38419,14 +38567,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:718
+#: ../src/guestfs.pod:724
msgid ""
"Error messages are automatically transformed into exceptions if the language "
"supports it."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:721
+#: ../src/guestfs.pod:727
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 "
@@ -38434,58 +38582,58 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:727
+#: ../src/guestfs.pod:733
msgid "B<C++>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:729
+#: ../src/guestfs.pod:735
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 ""
#. type: =item
-#: ../src/guestfs.pod:733
+#: ../src/guestfs.pod:739
msgid "B<C#>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:735
+#: ../src/guestfs.pod:741
msgid ""
"The C# bindings are highly experimental. Please read the warnings at the "
"top of C<csharp/Libguestfs.cs>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:738
+#: ../src/guestfs.pod:744
msgid "B<Erlang>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:740
+#: ../src/guestfs.pod:746
msgid "See L<guestfs-erlang(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:742
+#: ../src/guestfs.pod:748
msgid "B<GObject>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:744
+#: ../src/guestfs.pod:750
msgid ""
"Experimental GObject bindings (with GObject Introspection support) are "
"available. See the C<gobject> directory in the source."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:747
+#: ../src/guestfs.pod:753
msgid "B<Haskell>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:749
+#: ../src/guestfs.pod:755
msgid ""
"This is the only language binding that is working but incomplete. Only "
"calls which return simple integers have been bound in Haskell, and we are "
@@ -38493,96 +38641,96 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:753
+#: ../src/guestfs.pod:759
msgid "B<Java>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:755
+#: ../src/guestfs.pod:761
msgid ""
"Full documentation is contained in the Javadoc which is distributed with "
"libguestfs. For examples, see L<guestfs-java(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:758
+#: ../src/guestfs.pod:764
msgid "B<OCaml>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:760
+#: ../src/guestfs.pod:766
msgid "See L<guestfs-ocaml(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:762
+#: ../src/guestfs.pod:768
msgid "B<Perl>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:764
+#: ../src/guestfs.pod:770
msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:766
+#: ../src/guestfs.pod:772
msgid "B<PHP>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:768
+#: ../src/guestfs.pod:774
msgid ""
"For documentation see C<README-PHP> supplied with libguestfs sources or in "
"the php-libguestfs package for your distribution."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:771
+#: ../src/guestfs.pod:777
msgid "The PHP binding only works correctly on 64 bit machines."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:773
+#: ../src/guestfs.pod:779
msgid "B<Python>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:775
+#: ../src/guestfs.pod:781
msgid "See L<guestfs-python(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:777
+#: ../src/guestfs.pod:783
msgid "B<Ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:779
+#: ../src/guestfs.pod:785
msgid "See L<guestfs-ruby(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:781
+#: ../src/guestfs.pod:787
msgid "For JRuby, use the Java bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:783
+#: ../src/guestfs.pod:789
msgid "B<shell scripts>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:785
+#: ../src/guestfs.pod:791
msgid "See L<guestfish(1)>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:789
+#: ../src/guestfs.pod:795
msgid "LIBGUESTFS GOTCHAS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:791
+#: ../src/guestfs.pod:797
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 "
@@ -38590,7 +38738,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:795
+#: ../src/guestfs.pod:801
msgid ""
"Since we developed libguestfs and the associated tools, there are several "
"things we would have designed differently, but are now stuck with for "
@@ -38599,19 +38747,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:803
+#: ../src/guestfs.pod:809
msgid "Autosync / forgetting to sync."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:805
+#: ../src/guestfs.pod:811
msgid ""
"I<Update:> Autosync is enabled by default for all API users starting from "
"libguestfs 1.5.24. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:808
+#: ../src/guestfs.pod:814
msgid ""
"When modifying a filesystem from C or another language, you B<must> unmount "
"all filesystems and call L</guestfs_sync> explicitly before you close the "
@@ -38619,7 +38767,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:812
+#: ../src/guestfs.pod:818
#, no-wrap
msgid ""
" guestfs_set_autosync (g, 1);\n"
@@ -38627,14 +38775,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:814
+#: ../src/guestfs.pod:820
msgid ""
"to have the unmount/sync done automatically for you when the handle 'g' is "
"closed. (This feature is called \"autosync\", L</guestfs_set_autosync> q.v.)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:818
+#: ../src/guestfs.pod:824
msgid ""
"If you forget to do this, then it is entirely possible that your changes "
"won't be written out, or will be partially written, or (very rarely) that "
@@ -38642,7 +38790,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:822
+#: ../src/guestfs.pod:828
msgid ""
"Note that in L<guestfish(3)> autosync is the default. So quick and dirty "
"guestfish scripts that forget to sync will work just fine, which can make "
@@ -38650,19 +38798,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:826
+#: ../src/guestfs.pod:832
msgid "Mount option C<-o sync> should not be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:828
+#: ../src/guestfs.pod:834
msgid ""
"I<Update:> L</guestfs_mount> no longer adds any options starting from "
"libguestfs 1.13.16. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:831
+#: ../src/guestfs.pod:837
msgid ""
"If you use L</guestfs_mount>, then C<-o sync,noatime> are added implicitly. "
"However C<-o sync> does not add any reliability benefit, but does have a "
@@ -38670,31 +38818,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:835
+#: ../src/guestfs.pod:841
msgid ""
"The work around is to use L</guestfs_mount_options> and set the mount "
"options that you actually want to use."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:838
+#: ../src/guestfs.pod:844
msgid "Read-only should be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:840
+#: ../src/guestfs.pod:846
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 ""
#. type: textblock
-#: ../src/guestfs.pod:843
+#: ../src/guestfs.pod:849
msgid "This would reduce the potential to corrupt live VM images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:845
+#: ../src/guestfs.pod:851
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</"
@@ -38702,12 +38850,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:849
+#: ../src/guestfs.pod:855
msgid "guestfish command line is hard to use."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:851
+#: ../src/guestfs.pod:857
msgid ""
"C<guestfish disk.img> doesn't do what people expect (open C<disk.img> for "
"examination). It tries to run a guestfish command C<disk.img> which doesn't "
@@ -38717,12 +38865,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:858
+#: ../src/guestfs.pod:864
msgid "guestfish megabyte modifiers don't work right on all commands"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:860
+#: ../src/guestfs.pod:866
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 "
@@ -38732,12 +38880,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:867
+#: ../src/guestfs.pod:873
msgid "The most common is L</guestfs_lvcreate>. The guestfish command:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:869
+#: ../src/guestfs.pod:875
#, no-wrap
msgid ""
" lvcreate LV VG 100M\n"
@@ -38745,7 +38893,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:871
+#: ../src/guestfs.pod:877
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 "
@@ -38754,19 +38902,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:876
+#: ../src/guestfs.pod:882
msgid ""
"This could be fixed in the generator by specially marking parameters and "
"return values which take bytes or other units."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:879
+#: ../src/guestfs.pod:885
msgid "Ambiguity between devices and paths"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:881
+#: ../src/guestfs.pod:887
msgid ""
"There is a subtle ambiguity in the API between a device name (eg. C</dev/"
"sdb2>) and a similar pathname. A file might just happen to be called "
@@ -38774,7 +38922,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:886
+#: ../src/guestfs.pod:892
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>. "
@@ -38783,7 +38931,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:892
+#: ../src/guestfs.pod:898
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 "
@@ -38793,7 +38941,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:898
+#: ../src/guestfs.pod:904
#, no-wrap
msgid ""
" type path = Path of string | Device of int | Partition of int * int\n"
@@ -38801,12 +38949,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:900
+#: ../src/guestfs.pod:906
msgid "which would allow you to pass arguments like:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:902
+#: ../src/guestfs.pod:908
#, no-wrap
msgid ""
" Path \"/foo/bar\"\n"
@@ -38817,26 +38965,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:907
+#: ../src/guestfs.pod:913
msgid ""
"As you can see there are still problems to resolve even with this "
"representation. Also consider how it might work in guestfish."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:912
+#: ../src/guestfs.pod:918
msgid "KEYS AND PASSPHRASES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:914
+#: ../src/guestfs.pod:920
msgid ""
"Certain libguestfs calls take a parameter that contains sensitive key "
"material, passed in as a C string."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:917
+#: ../src/guestfs.pod:923
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 "
@@ -38845,7 +38993,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:922
+#: ../src/guestfs.pod:928
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, "
@@ -38853,19 +39001,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:927
+#: ../src/guestfs.pod:933
msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:929
+#: ../src/guestfs.pod:935
msgid ""
"All high-level libguestfs actions are synchronous. If you want to use "
"libguestfs asynchronously then you must create a thread."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:932
+#: ../src/guestfs.pod:938
msgid ""
"Only use the handle from a single thread. Either use the handle exclusively "
"from one thread, or provide your own mutex so that two threads cannot issue "
@@ -38873,33 +39021,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:936
+#: ../src/guestfs.pod:942
msgid ""
"See the graphical program guestfs-browser for one possible architecture for "
"multithreaded programs using libvirt and libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:939
+#: ../src/guestfs.pod:945
msgid "PATH"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:941
+#: ../src/guestfs.pod:947
msgid ""
"Libguestfs needs a supermin appliance, which it finds by looking along an "
"internal path."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:944
+#: ../src/guestfs.pod:950
msgid ""
"By default it looks for these in the directory C<$libdir/guestfs> (eg. C</"
"usr/local/lib/guestfs> or C</usr/lib64/guestfs>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:947
+#: ../src/guestfs.pod:953
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 "
@@ -38910,12 +39058,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:954
+#: ../src/guestfs.pod:960
msgid "QEMU WRAPPERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:956
+#: ../src/guestfs.pod:962
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 "
@@ -38923,7 +39071,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:960
+#: ../src/guestfs.pod:966
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 "
@@ -38932,14 +39080,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:965
+#: ../src/guestfs.pod:971
msgid ""
"Here is an example of a wrapper, where I have built my own copy of qemu from "
"source:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:968
+#: ../src/guestfs.pod:974
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -38949,7 +39097,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:972
+#: ../src/guestfs.pod:978
msgid ""
"Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and "
"then use it by setting the LIBGUESTFS_QEMU environment variable. For "
@@ -38957,7 +39105,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:976
+#: ../src/guestfs.pod:982
#, no-wrap
msgid ""
" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
@@ -38965,14 +39113,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:978
+#: ../src/guestfs.pod:984
msgid ""
"Note that libguestfs also calls qemu with the -help and -version options in "
"order to determine features."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:981
+#: ../src/guestfs.pod:987
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 "
@@ -38982,7 +39130,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:990
+#: ../src/guestfs.pod:996
#, no-wrap
msgid ""
" i=0\n"
@@ -39000,7 +39148,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1002
+#: ../src/guestfs.pod:1008
#, no-wrap
msgid ""
" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n"
@@ -39008,19 +39156,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1004
+#: ../src/guestfs.pod:1010
msgid "ATTACHING TO RUNNING DAEMONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1006
+#: ../src/guestfs.pod:1012
msgid ""
"I<Note (1):> This is B<highly experimental> and has a tendency to eat "
"babies. Use with caution."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1009
+#: ../src/guestfs.pod:1015
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 "
@@ -39028,12 +39176,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1013
+#: ../src/guestfs.pod:1019
msgid "Using guestfs_set_attach_method"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1015
+#: ../src/guestfs.pod:1021
msgid ""
"By calling L</guestfs_set_attach_method> you can change how the library "
"connects to the C<guestfsd> daemon in L</guestfs_launch> (read L</"
@@ -39041,14 +39189,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1019
+#: ../src/guestfs.pod:1025
msgid ""
"The normal attach method is C<appliance>, where a small appliance is created "
"containing the daemon, and then the library connects to this."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1022
+#: ../src/guestfs.pod:1028
msgid ""
"Setting attach method 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 "
@@ -39056,7 +39204,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1026
+#: ../src/guestfs.pod:1032
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 "
@@ -39064,12 +39212,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1030
+#: ../src/guestfs.pod:1036
msgid "Using guestfs_add_domain with live flag"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1032
+#: ../src/guestfs.pod:1038
msgid ""
"L</guestfs_add_domain> provides some help for getting the correct attach "
"method. If you pass the C<live> option to this function, then (if the "
@@ -39078,7 +39226,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1038
+#: ../src/guestfs.pod:1044
#, no-wrap
msgid ""
" <domain>\n"
@@ -39096,14 +39244,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1050
+#: ../src/guestfs.pod:1056
msgid ""
"L</guestfs_add_domain> extracts C</path/to/socket> and sets the attach "
"method to C<unix:/path/to/socket>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1053
+#: ../src/guestfs.pod:1059
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 "
@@ -39111,19 +39259,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1057
+#: ../src/guestfs.pod:1063
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 ""
#. type: =head2
-#: ../src/guestfs.pod:1061
+#: ../src/guestfs.pod:1067
msgid "ABI GUARANTEE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1063
+#: ../src/guestfs.pod:1069
msgid ""
"We guarantee the libguestfs ABI (binary interface), for public, high-level "
"actions as outlined in this section. Although we will deprecate some "
@@ -39133,12 +39281,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1069
+#: ../src/guestfs.pod:1075
msgid "BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1071
+#: ../src/guestfs.pod:1077
msgid ""
"In the kernel there is now quite a profusion of schemata for naming block "
"devices (in this context, by I<block device> I mean a physical or virtual "
@@ -39152,7 +39300,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1083
+#: ../src/guestfs.pod:1089
msgid ""
"As discussed above, libguestfs uses a qemu appliance running an embedded "
"Linux kernel to access block devices. We can run a variety of appliances "
@@ -39160,7 +39308,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1087
+#: ../src/guestfs.pod:1093
msgid ""
"This causes a problem for libguestfs because many API calls use device or "
"partition names. Working scripts and the recipe (example) scripts that we "
@@ -39168,7 +39316,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1092
+#: ../src/guestfs.pod:1098
msgid ""
"Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>. "
"Internally C</dev/sd*> names are translated, if necessary, to other names as "
@@ -39177,7 +39325,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1098
+#: ../src/guestfs.pod:1104
msgid ""
"Note that this I<only> applies to parameters. The L</guestfs_list_devices>, "
"L</guestfs_list_partitions> and similar calls return the true names of the "
@@ -39185,12 +39333,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1103
+#: ../src/guestfs.pod:1109
msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1105
+#: ../src/guestfs.pod:1111
msgid ""
"Usually this translation is transparent. However in some (very rare) cases "
"you may need to know the exact algorithm. Such cases include where you use "
@@ -39199,7 +39347,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1111
+#: ../src/guestfs.pod:1117
msgid ""
"The algorithm is applied only to I<parameters> which are known to be either "
"device or partition names. Return values from functions such as L</"
@@ -39207,54 +39355,54 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1119
+#: ../src/guestfs.pod:1125
msgid "Is the string a parameter which is a device or partition name?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1123
+#: ../src/guestfs.pod:1129
msgid "Does the string begin with C</dev/sd>?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1127
+#: ../src/guestfs.pod:1133
msgid ""
"Does the named device exist? If so, we use that device. However if I<not> "
"then we continue with this algorithm."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1132
+#: ../src/guestfs.pod:1138
msgid "Replace initial C</dev/sd> string with C</dev/hd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1134
+#: ../src/guestfs.pod:1140
msgid "For example, change C</dev/sda2> to C</dev/hda2>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1136
+#: ../src/guestfs.pod:1142
msgid "If that named device exists, use it. If not, continue."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1140
+#: ../src/guestfs.pod:1146
msgid "Replace initial C</dev/sd> string with C</dev/vd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1142
+#: ../src/guestfs.pod:1148
msgid "If that named device exists, use it. If not, return an error."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1146
+#: ../src/guestfs.pod:1152
msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1148
+#: ../src/guestfs.pod:1154
msgid ""
"Although the standard naming scheme and automatic translation is useful for "
"simple programs and guestfish scripts, for larger programs it is best not to "
@@ -39262,39 +39410,39 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1152
+#: ../src/guestfs.pod:1158
msgid ""
"Where possible for maximum future portability programs using libguestfs "
"should use these future-proof techniques:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1159
+#: ../src/guestfs.pod:1165
msgid ""
"Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual "
"device names, and then use those names directly."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1162
+#: ../src/guestfs.pod:1168
msgid ""
"Since those device names exist by definition, they will never be translated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1167
+#: ../src/guestfs.pod:1173
msgid ""
"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
"filesystem labels."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1172
+#: ../src/guestfs.pod:1178
msgid "NULL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1174
+#: ../src/guestfs.pod:1180
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 "
@@ -39302,46 +39450,46 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1178
+#: ../src/guestfs.pod:1184
msgid "A null disk has the following properties:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1184
+#: ../src/guestfs.pod:1190
msgid ""
"A null disk will appear as a normal device, eg. in calls to L</"
"guestfs_list_devices>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1189
+#: ../src/guestfs.pod:1195
msgid "You may add C<\"/dev/null\"> multiple times."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1193
+#: ../src/guestfs.pod:1199
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1198
+#: ../src/guestfs.pod:1204
msgid "Null disks are used for three main purposes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1204
+#: ../src/guestfs.pod:1210
msgid "Performance testing of libguestfs (see L<guestfs-performance(1)>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1208
+#: ../src/guestfs.pod:1214
msgid "The internal test suite."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1212
+#: ../src/guestfs.pod:1218
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 "
@@ -39349,12 +39497,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1216
+#: ../src/guestfs.pod:1222
msgid "For example, to test if a feature is available, use code like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1218
+#: ../src/guestfs.pod:1224
#, no-wrap
msgid ""
" guestfs_h *g;\n"
@@ -39363,7 +39511,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1221
+#: ../src/guestfs.pod:1227
#, fuzzy, no-wrap
#| msgid ""
#| " guestfs_h *g = guestfs_create ();\n"
@@ -39396,19 +39544,19 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1235
+#: ../src/guestfs.pod:1241
msgid ""
"This section discusses security implications of using libguestfs, "
"particularly with untrusted or malicious guests or disk images."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1238
+#: ../src/guestfs.pod:1244
msgid "GENERAL SECURITY CONSIDERATIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1240
+#: ../src/guestfs.pod:1246
msgid ""
"Be careful with any files or data that you download from a guest (by "
"\"download\" we mean not just the L</guestfs_download> command but any "
@@ -39418,42 +39566,42 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1250
+#: ../src/guestfs.pod:1256
msgid "the data (file etc) not being present"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1254
+#: ../src/guestfs.pod:1260
msgid "being present but empty"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1258
+#: ../src/guestfs.pod:1264
msgid "being much larger than normal"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1262
+#: ../src/guestfs.pod:1268
msgid "containing arbitrary 8 bit data"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1266
+#: ../src/guestfs.pod:1272
msgid "being in an unexpected character encoding"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1270
+#: ../src/guestfs.pod:1276
msgid "containing homoglyphs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1274
+#: ../src/guestfs.pod:1280
msgid "SECURITY OF MOUNTING FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1276
+#: ../src/guestfs.pod:1282
msgid ""
"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
"(VFS) module can sometimes be escalated into exploits by deliberately "
@@ -39469,7 +39617,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1289
+#: ../src/guestfs.pod:1295
msgid ""
"That explains why you should never mount a filesystem from an untrusted "
"guest on your host kernel. How about libguestfs? We run a Linux kernel "
@@ -39483,19 +39631,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1300
+#: ../src/guestfs.pod:1306
msgid ""
"In any case callers can reduce the attack surface by forcing the filesystem "
"type when mounting (use L</guestfs_mount_vfs>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1303
+#: ../src/guestfs.pod:1309
msgid "PROTOCOL SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1305
+#: ../src/guestfs.pod:1311
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 "
@@ -39505,12 +39653,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1311
+#: ../src/guestfs.pod:1317
msgid "INSPECTION SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1313
+#: ../src/guestfs.pod:1319
msgid ""
"Parts of the inspection API (see L</INSPECTION>) return untrusted strings "
"directly from the guest, and these could contain any 8 bit data. Callers "
@@ -39519,7 +39667,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1319
+#: ../src/guestfs.pod:1325
msgid ""
"Guest configuration may be altered in unusual ways by the administrator of "
"the virtual machine, and may not reflect reality (particularly for untrusted "
@@ -39530,7 +39678,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1327
+#: ../src/guestfs.pod:1333
msgid ""
"The inspection API parses guest configuration using two external libraries: "
"Augeas (Linux configuration) and hivex (Windows Registry). Both are "
@@ -39540,12 +39688,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1333
+#: ../src/guestfs.pod:1339
msgid "RUNNING UNTRUSTED GUEST COMMANDS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1335
+#: ../src/guestfs.pod:1341
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 "
@@ -39555,24 +39703,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1341
+#: ../src/guestfs.pod:1347
msgid "CVE-2010-3851"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1343
+#: ../src/guestfs.pod:1349
msgid "L<https://bugzilla.redhat.com/642934>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1345
+#: ../src/guestfs.pod:1351
msgid ""
"This security bug concerns the automatic disk format detection that qemu "
"does on disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1348
+#: ../src/guestfs.pod:1354
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 "
@@ -39581,7 +39729,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1353
+#: ../src/guestfs.pod:1359
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 "
@@ -39590,7 +39738,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1358
+#: ../src/guestfs.pod:1364
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 "
@@ -39602,25 +39750,25 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1366
+#: ../src/guestfs.pod:1372
msgid ""
"In libguestfs this is rather hard to exploit except under two circumstances:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1373
+#: ../src/guestfs.pod:1379
msgid "You have enabled the network or have opened the disk in write mode."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1377
+#: ../src/guestfs.pod:1383
msgid ""
"You are also running untrusted code from the guest (see L</RUNNING "
"COMMANDS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1382
+#: ../src/guestfs.pod:1388
msgid ""
"The way to avoid this is to specify the expected disk format when adding "
"disks (the optional C<format> option to L</guestfs_add_drive_opts>). You "
@@ -39629,31 +39777,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1387
+#: ../src/guestfs.pod:1393
msgid ""
"For disks added from libvirt using calls like L</guestfs_add_domain>, the "
"format is fetched from libvirt and passed through."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1390
+#: ../src/guestfs.pod:1396
msgid ""
"For libguestfs tools, use the I<--format> command line parameter as "
"appropriate."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1393
+#: ../src/guestfs.pod:1399
msgid "CONNECTION MANAGEMENT"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1395
+#: ../src/guestfs.pod:1401
msgid "guestfs_h *"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1397
+#: ../src/guestfs.pod:1403
msgid ""
"C<guestfs_h> is the opaque type representing a connection handle. Create a "
"handle by calling L</guestfs_create>. Call L</guestfs_close> to free the "
@@ -39661,19 +39809,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1401
+#: ../src/guestfs.pod:1407
msgid ""
"For information on using multiple handles and threads, see the section L</"
"MULTIPLE HANDLES AND MULTIPLE THREADS> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1404
+#: ../src/guestfs.pod:1410
msgid "guestfs_create"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1406
+#: ../src/guestfs.pod:1412
#, no-wrap
msgid ""
" guestfs_h *guestfs_create (void);\n"
@@ -39681,19 +39829,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1408
+#: ../src/guestfs.pod:1414
msgid "Create a connection handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1410
+#: ../src/guestfs.pod:1416
msgid ""
"On success this returns a non-NULL pointer to a handle. On error it returns "
"NULL."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1413
+#: ../src/guestfs.pod:1419
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 "
@@ -39701,24 +39849,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1417
+#: ../src/guestfs.pod:1423
msgid "After configuring the handle, you have to call L</guestfs_launch>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1419
+#: ../src/guestfs.pod:1425
msgid ""
"You may also want to configure error handling for the handle. See the L</"
"ERROR HANDLING> section below."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1422
+#: ../src/guestfs.pod:1428
msgid "guestfs_close"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1424
+#: ../src/guestfs.pod:1430
#, no-wrap
msgid ""
" void guestfs_close (guestfs_h *g);\n"
@@ -39726,19 +39874,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1426
+#: ../src/guestfs.pod:1432
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1429
+#: ../src/guestfs.pod:1435
msgid "The correct way to close the handle is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1431
+#: ../src/guestfs.pod:1437
#, no-wrap
msgid ""
" if (guestfs_shutdown (g) == -1) {\n"
@@ -39749,52 +39897,52 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1436
+#: ../src/guestfs.pod:1442
msgid ""
"L</guestfs_shutdown> is only needed if B<all> of the following are true:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1442
+#: ../src/guestfs.pod:1448
msgid "one or more disks were added in read-write mode, I<and>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1446
+#: ../src/guestfs.pod:1452
msgid "guestfs_launch was called, I<and>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1450
+#: ../src/guestfs.pod:1456
msgid "you made some changes, I<and>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1452
+#: ../src/guestfs.pod:1458
msgid "4"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1454
+#: ../src/guestfs.pod:1460
msgid ""
"you have a way to handle write errors (eg. by exiting with an error code or "
"reporting something to the user)."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1459
+#: ../src/guestfs.pod:1465
msgid "ERROR HANDLING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1461
+#: ../src/guestfs.pod:1467
msgid ""
"API functions can return errors. For example, almost all functions that "
"return C<int> will return C<-1> to indicate an error."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1464
+#: ../src/guestfs.pod:1470
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 "
@@ -39802,7 +39950,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1468
+#: ../src/guestfs.pod:1474
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 "
@@ -39810,7 +39958,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1473
+#: ../src/guestfs.pod:1479
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 "
@@ -39818,7 +39966,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1477
+#: ../src/guestfs.pod:1483
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1)\n"
@@ -39827,21 +39975,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1480
+#: ../src/guestfs.pod:1486
msgid ""
"since the default error handler will ensure that an error message has been "
"printed to C<stderr> before the program exits."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1483
+#: ../src/guestfs.pod:1489
msgid ""
"For other programs the caller will almost certainly want to install an "
"alternate error handler or do error handling in-line like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1486
+#: ../src/guestfs.pod:1492
#, no-wrap
msgid ""
" /* This disables the default behaviour of printing errors\n"
@@ -39851,7 +39999,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1490
+#: ../src/guestfs.pod:1496
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1) {\n"
@@ -39868,7 +40016,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1501
+#: ../src/guestfs.pod:1507
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</"
@@ -39876,7 +40024,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1505
+#: ../src/guestfs.pod:1511
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 "
@@ -39886,12 +40034,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1511
+#: ../src/guestfs.pod:1517
msgid "guestfs_last_error"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1513
+#: ../src/guestfs.pod:1519
#, no-wrap
msgid ""
" const char *guestfs_last_error (guestfs_h *g);\n"
@@ -39899,26 +40047,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1515
+#: ../src/guestfs.pod:1521
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1519
+#: ../src/guestfs.pod:1525
msgid ""
"The lifetime of the returned string is until the next error occurs, or L</"
"guestfs_close> is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1522
+#: ../src/guestfs.pod:1528
msgid "guestfs_last_errno"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1524
+#: ../src/guestfs.pod:1530
#, no-wrap
msgid ""
" int guestfs_last_errno (guestfs_h *g);\n"
@@ -39926,28 +40074,28 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1526
+#: ../src/guestfs.pod:1532
msgid "This returns the last error number (errno) that happened on C<g>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1528
+#: ../src/guestfs.pod:1534
msgid "If successful, an errno integer not equal to zero is returned."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1530
+#: ../src/guestfs.pod:1536
msgid ""
"If no error, this returns 0. This call can return 0 in three situations:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1537
+#: ../src/guestfs.pod:1543
msgid "There has not been any error on the handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1541
+#: ../src/guestfs.pod:1547
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 "
@@ -39955,14 +40103,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1547
+#: ../src/guestfs.pod:1553
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1553
+#: ../src/guestfs.pod:1559
msgid ""
"Libguestfs tries to convert the errno from inside the applicance into a "
"corresponding errno for the caller (not entirely trivial: the appliance "
@@ -39973,12 +40121,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1561
+#: ../src/guestfs.pod:1567
msgid "guestfs_set_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1563
+#: ../src/guestfs.pod:1569
#, no-wrap
msgid ""
" typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -39991,7 +40139,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1570
+#: ../src/guestfs.pod:1576
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 "
@@ -39999,14 +40147,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1574
+#: ../src/guestfs.pod:1580
msgid ""
"C<errno> is not passed to the callback. To get that the callback must call "
"L</guestfs_last_errno>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1577
+#: ../src/guestfs.pod:1583
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 "
@@ -40014,22 +40162,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1581
+#: ../src/guestfs.pod:1587
msgid "The default handler prints messages on C<stderr>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1583
+#: ../src/guestfs.pod:1589
msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1585
+#: ../src/guestfs.pod:1591
msgid "guestfs_get_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1587
+#: ../src/guestfs.pod:1593
#, no-wrap
msgid ""
" guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -40038,17 +40186,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1590
+#: ../src/guestfs.pod:1596
msgid "Returns the current error handler callback."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1592
+#: ../src/guestfs.pod:1598
msgid "guestfs_set_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1594
+#: ../src/guestfs.pod:1600
#, no-wrap
msgid ""
" typedef void (*guestfs_abort_cb) (void);\n"
@@ -40058,30 +40206,30 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1598
+#: ../src/guestfs.pod:1604
msgid ""
"The callback C<cb> will be called if there is an out of memory situation. "
"I<Note this callback must not return>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1601
+#: ../src/guestfs.pod:1607
msgid "The default is to call L<abort(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1603
+#: ../src/guestfs.pod:1609
msgid ""
"You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1606
+#: ../src/guestfs.pod:1612
msgid "guestfs_get_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1608
+#: ../src/guestfs.pod:1614
#, no-wrap
msgid ""
" guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -40089,37 +40237,37 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1610
+#: ../src/guestfs.pod:1616
msgid "This returns the current out of memory handler."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1612
+#: ../src/guestfs.pod:1618
msgid "API CALLS"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1616
+#: ../src/guestfs.pod:1622
msgid "STRUCTURES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1618
+#: ../src/guestfs.pod:1624
msgid "@STRUCTS@"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1620
+#: ../src/guestfs.pod:1626
msgid "AVAILABILITY"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1622
+#: ../src/guestfs.pod:1628
msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1624
+#: ../src/guestfs.pod:1630
msgid ""
"Using L</guestfs_available> you can test availability of the following "
"groups of functions. This test queries the appliance to see if the "
@@ -40127,17 +40275,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1629
+#: ../src/guestfs.pod:1635
msgid "@AVAILABILITY@"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1631
+#: ../src/guestfs.pod:1637
msgid "GUESTFISH supported COMMAND"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1633
+#: ../src/guestfs.pod:1639
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 "
@@ -40145,19 +40293,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1638
+#: ../src/guestfs.pod:1644
msgid "SINGLE CALLS AT COMPILE TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1640
+#: ../src/guestfs.pod:1646
msgid ""
"Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API "
"function, such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1643
+#: ../src/guestfs.pod:1649
#, no-wrap
msgid ""
" #define LIBGUESTFS_HAVE_DD 1\n"
@@ -40165,12 +40313,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1645
+#: ../src/guestfs.pod:1651
msgid "if L</guestfs_dd> is available."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1647
+#: ../src/guestfs.pod:1653
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 "
@@ -40178,7 +40326,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1652
+#: ../src/guestfs.pod:1658
#, no-wrap
msgid ""
" AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -40187,19 +40335,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1655
+#: ../src/guestfs.pod:1661
msgid ""
"which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
"in your program."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1658
+#: ../src/guestfs.pod:1664
msgid "SINGLE CALLS AT RUN TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1660
+#: ../src/guestfs.pod:1666
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 "
@@ -40209,7 +40357,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1667
+#: ../src/guestfs.pod:1673
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 "
@@ -40217,7 +40365,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1671
+#: ../src/guestfs.pod:1677
#, no-wrap
msgid ""
" #include <stdio.h>\n"
@@ -40229,7 +40377,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1677
+#: ../src/guestfs.pod:1683
#, no-wrap
msgid ""
" main ()\n"
@@ -40241,7 +40389,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1683
+#: ../src/guestfs.pod:1689
#, no-wrap
msgid ""
" /* Test if the function guestfs_dd is really available. */\n"
@@ -40256,7 +40404,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1692
+#: ../src/guestfs.pod:1698
#, no-wrap
msgid ""
" if (!has_function)\n"
@@ -40275,7 +40423,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1705
+#: ../src/guestfs.pod:1711
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 "
@@ -40283,7 +40431,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1710
+#: ../src/guestfs.pod:1716
#, no-wrap
msgid ""
" Requires: libguestfs >= 1.0.80\n"
@@ -40291,12 +40439,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1712
+#: ../src/guestfs.pod:1718
msgid "CALLS WITH OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1714
+#: ../src/guestfs.pod:1720
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 "
@@ -40304,7 +40452,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1719
+#: ../src/guestfs.pod:1725
#, no-wrap
msgid ""
" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -40312,14 +40460,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1721
+#: ../src/guestfs.pod:1727
msgid ""
"Call this with a list of optional arguments, terminated by C<-1>. So to "
"call with no optional arguments specified:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1724
+#: ../src/guestfs.pod:1730
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename, -1);\n"
@@ -40327,12 +40475,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1726
+#: ../src/guestfs.pod:1732
msgid "With a single optional argument:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1728
+#: ../src/guestfs.pod:1734
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -40342,12 +40490,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1732
+#: ../src/guestfs.pod:1738
msgid "With two:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1734
+#: ../src/guestfs.pod:1740
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -40358,19 +40506,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1739
+#: ../src/guestfs.pod:1745
msgid ""
"and so forth. Don't forget the terminating C<-1> otherwise Bad Things will "
"happen!"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1742
+#: ../src/guestfs.pod:1748
msgid "USING va_list FOR OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1744
+#: ../src/guestfs.pod:1750
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 "
@@ -40378,7 +40526,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1748
+#: ../src/guestfs.pod:1754
#, no-wrap
msgid ""
" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -40387,12 +40535,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1751
+#: ../src/guestfs.pod:1757
msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1753
+#: ../src/guestfs.pod:1759
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 "
@@ -40402,7 +40550,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1759
+#: ../src/guestfs.pod:1765
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv {\n"
@@ -40417,12 +40565,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1768
+#: ../src/guestfs.pod:1774
msgid "You could call it like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1770
+#: ../src/guestfs.pod:1776
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -40435,7 +40583,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1777
+#: ../src/guestfs.pod:1783
#, no-wrap
msgid ""
" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -40443,29 +40591,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1785
+#: ../src/guestfs.pod:1791
msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1790
+#: ../src/guestfs.pod:1796
msgid "You do not need to fill in all fields of the structure."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1794
+#: ../src/guestfs.pod:1800
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 ""
#. type: =head2
-#: ../src/guestfs.pod:1799
+#: ../src/guestfs.pod:1805
msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1801
+#: ../src/guestfs.pod:1807
msgid ""
"In other languages, optional arguments are expressed in the way that is "
"natural for that language. We refer you to the language-specific "
@@ -40473,17 +40621,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1805
+#: ../src/guestfs.pod:1811
msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1807
+#: ../src/guestfs.pod:1813
msgid "SETTING CALLBACKS TO HANDLE EVENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1809
+#: ../src/guestfs.pod:1815
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 "
@@ -40495,7 +40643,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1818
+#: ../src/guestfs.pod:1824
msgid ""
"Handles generate events when certain things happen, such as log messages "
"being generated, progress messages during long-running operations, or the "
@@ -40507,7 +40655,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1826
+#: ../src/guestfs.pod:1832
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 "
@@ -40516,31 +40664,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1831
+#: ../src/guestfs.pod:1837
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 ""
#. type: =head3
-#: ../src/guestfs.pod:1835
+#: ../src/guestfs.pod:1841
msgid "CLASSES OF EVENTS"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1839
+#: ../src/guestfs.pod:1845
msgid "GUESTFS_EVENT_CLOSE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1842
+#: ../src/guestfs.pod:1848
msgid ""
"The callback function will be called while the handle is being closed "
"(synchronously from L</guestfs_close>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1845
+#: ../src/guestfs.pod:1851
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 "
@@ -40551,19 +40699,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1852
+#: ../src/guestfs.pod:1858
msgid ""
"If no callback is registered: the handle is closed without any callback "
"being invoked."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1855
+#: ../src/guestfs.pod:1861
msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1858
+#: ../src/guestfs.pod:1864
msgid ""
"The callback function will be called when the child process quits, either "
"asynchronously or if killed by L</guestfs_kill_subprocess>. (This "
@@ -40571,17 +40719,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1862 ../src/guestfs.pod:1871 ../src/guestfs.pod:1988
+#: ../src/guestfs.pod:1868 ../src/guestfs.pod:1877 ../src/guestfs.pod:1994
msgid "If no callback is registered: the event is ignored."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1864
+#: ../src/guestfs.pod:1870
msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1867
+#: ../src/guestfs.pod:1873
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 "
@@ -40589,12 +40737,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1873
+#: ../src/guestfs.pod:1879
msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1876
+#: ../src/guestfs.pod:1882
msgid ""
"Some long-running operations can generate progress messages. If this "
"callback is registered, then it will be called each time a progress message "
@@ -40604,14 +40752,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1882
+#: ../src/guestfs.pod:1888
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1885
+#: ../src/guestfs.pod:1891
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 "
@@ -40619,24 +40767,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1890
+#: ../src/guestfs.pod:1896
msgid "The only defined and stable parts of the API are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1896
+#: ../src/guestfs.pod:1902
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1901
+#: ../src/guestfs.pod:1907
msgid "0 E<lt>= C<position> E<lt>= C<total>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1905
+#: ../src/guestfs.pod:1911
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 "
@@ -40644,7 +40792,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1909
+#: ../src/guestfs.pod:1915
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 "
@@ -40652,7 +40800,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1915
+#: ../src/guestfs.pod:1921
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 "
@@ -40661,7 +40809,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1920
+#: ../src/guestfs.pod:1926
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 "
@@ -40669,14 +40817,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1924
+#: ../src/guestfs.pod:1930
msgid ""
"As noted above, if the call fails with an error then the final message may "
"not be generated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1929
+#: ../src/guestfs.pod:1935
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 "
@@ -40685,31 +40833,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1935
+#: ../src/guestfs.pod:1941
msgid "If no callback is registered: progress messages are discarded."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1937
+#: ../src/guestfs.pod:1943
msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1940
+#: ../src/guestfs.pod:1946
msgid ""
"The callback function is called whenever a log message is generated by qemu, "
"the appliance kernel, guestfsd (daemon), or utility programs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1943
+#: ../src/guestfs.pod:1949
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set before launch (L</"
"guestfs_launch>) then additional debug messages are generated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1946 ../src/guestfs.pod:1960
+#: ../src/guestfs.pod:1952 ../src/guestfs.pod:1966
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 "
@@ -40717,63 +40865,63 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1951
+#: ../src/guestfs.pod:1957
msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1954
+#: ../src/guestfs.pod:1960
msgid ""
"The callback function is called whenever a log message is generated by the "
"library part of libguestfs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1957
+#: ../src/guestfs.pod:1963
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set then additional debug "
"messages are generated."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1965
+#: ../src/guestfs.pod:1971
msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1968
+#: ../src/guestfs.pod:1974
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1971
+#: ../src/guestfs.pod:1977
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 ""
#. type: =item
-#: ../src/guestfs.pod:1975
+#: ../src/guestfs.pod:1981
msgid "GUESTFS_EVENT_ENTER (payload type: function name)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1978
+#: ../src/guestfs.pod:1984
msgid ""
"The callback function is called whenever a libguestfs function is entered."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1981
+#: ../src/guestfs.pod:1987
msgid ""
"The payload is a string which contains the name of the function that we are "
"entering (not including C<guestfs_> prefix)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1984
+#: ../src/guestfs.pod:1990
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 "
@@ -40781,12 +40929,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1992
+#: ../src/guestfs.pod:1998
msgid "guestfs_set_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1994
+#: ../src/guestfs.pod:2000
#, no-wrap
msgid ""
" int guestfs_set_event_callback (guestfs_h *g,\n"
@@ -40798,14 +40946,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2000
+#: ../src/guestfs.pod:2006
msgid ""
"This function registers a callback (C<cb>) for all event classes in the "
"C<event_bitmask>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2003
+#: ../src/guestfs.pod:2009
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>. "
@@ -40814,40 +40962,40 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2009
+#: ../src/guestfs.pod:2015
msgid "C<flags> should always be passed as 0."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2011
+#: ../src/guestfs.pod:2017
msgid ""
"C<opaque> is an opaque pointer which is passed to the callback. You can use "
"it for any purpose."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2014
+#: ../src/guestfs.pod:2020
msgid ""
"The return value is the event handle (an integer) which you can use to "
"delete the callback (see below)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2017
+#: ../src/guestfs.pod:2023
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 ""
#. type: textblock
-#: ../src/guestfs.pod:2020
+#: ../src/guestfs.pod:2026
msgid ""
"Callbacks remain in effect until they are deleted, or until the handle is "
"closed."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2023
+#: ../src/guestfs.pod:2029
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 "
@@ -40855,12 +41003,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2027
+#: ../src/guestfs.pod:2033
msgid "guestfs_delete_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2029
+#: ../src/guestfs.pod:2035
#, no-wrap
msgid ""
" void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n"
@@ -40868,7 +41016,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2031
+#: ../src/guestfs.pod:2037
msgid ""
"Delete a callback that was previously registered. C<event_handle> should be "
"the integer that was returned by a previous call to "
@@ -40876,12 +41024,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2035
+#: ../src/guestfs.pod:2041
msgid "guestfs_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2037
+#: ../src/guestfs.pod:2043
#, no-wrap
msgid ""
" typedef void (*guestfs_event_callback) (\n"
@@ -40896,13 +41044,13 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2046
+#: ../src/guestfs.pod:2052
msgid ""
"This is the type of the event callback function that you have to provide."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2049
+#: ../src/guestfs.pod:2055
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 "
@@ -40910,7 +41058,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2053
+#: ../src/guestfs.pod:2059
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 "
@@ -40919,7 +41067,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2058
+#: ../src/guestfs.pod:2064
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 "
@@ -40927,19 +41075,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2062
+#: ../src/guestfs.pod:2068
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 ""
#. type: =head3
-#: ../src/guestfs.pod:2065
+#: ../src/guestfs.pod:2071
msgid "EXAMPLE: CAPTURING LOG MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2067
+#: ../src/guestfs.pod:2073
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 "
@@ -40947,7 +41095,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2071
+#: ../src/guestfs.pod:2077
msgid ""
"Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, "
"C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error "
@@ -40955,14 +41103,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2076
+#: ../src/guestfs.pod:2082
msgid ""
"Programs have to set up a callback to capture the classes of events of "
"interest:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2079
+#: ../src/guestfs.pod:2085
#, no-wrap
msgid ""
" int eh =\n"
@@ -40978,14 +41126,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2089
+#: ../src/guestfs.pod:2095
msgid ""
"The callback can then direct messages to the appropriate place. In this "
"example, messages are directed to syslog:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2092
+#: ../src/guestfs.pod:2098
#, no-wrap
msgid ""
" static void\n"
@@ -41006,12 +41154,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2107
+#: ../src/guestfs.pod:2113
msgid "CANCELLING LONG TRANSFERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2109
+#: ../src/guestfs.pod:2115
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 "
@@ -41020,12 +41168,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2114
+#: ../src/guestfs.pod:2120
msgid "guestfs_user_cancel"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2116
+#: ../src/guestfs.pod:2122
#, no-wrap
msgid ""
" void guestfs_user_cancel (guestfs_h *g);\n"
@@ -41033,13 +41181,13 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2118
+#: ../src/guestfs.pod:2124
msgid ""
"C<guestfs_user_cancel> cancels the current upload or download operation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2121
+#: ../src/guestfs.pod:2127
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 "
@@ -41047,7 +41195,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2125
+#: ../src/guestfs.pod:2131
msgid ""
"The transfer that was in progress (if there is one) will stop shortly "
"afterwards, and will return an error. The errno (see L</"
@@ -41056,7 +41204,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2131
+#: ../src/guestfs.pod:2137
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 "
@@ -41064,12 +41212,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2135
+#: ../src/guestfs.pod:2141
msgid "There are two common places that you might call C<guestfs_user_cancel>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2137
+#: ../src/guestfs.pod:2143
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 "
@@ -41078,19 +41226,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2142
+#: ../src/guestfs.pod:2148
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 ""
#. type: =head1
-#: ../src/guestfs.pod:2146
+#: ../src/guestfs.pod:2152
msgid "PRIVATE DATA AREA"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2148
+#: ../src/guestfs.pod:2154
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 "
@@ -41098,12 +41246,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2153
+#: ../src/guestfs.pod:2159
msgid "To attach a named piece of data, use the following call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2155
+#: ../src/guestfs.pod:2161
#, no-wrap
msgid ""
" void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -41111,7 +41259,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2157
+#: ../src/guestfs.pod:2163
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 "
@@ -41119,7 +41267,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2161
+#: ../src/guestfs.pod:2167
msgid ""
"You can use any C<key> you want, but your key should I<not> start with an "
"underscore character. Keys beginning with an underscore character are "
@@ -41129,12 +41277,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2167
+#: ../src/guestfs.pod:2173
msgid "To retrieve the pointer, use:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2169
+#: ../src/guestfs.pod:2175
#, no-wrap
msgid ""
" void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -41142,7 +41290,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2171
+#: ../src/guestfs.pod:2177
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 "
@@ -41150,7 +41298,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2175
+#: ../src/guestfs.pod:2181
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 "
@@ -41161,12 +41309,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2182
+#: ../src/guestfs.pod:2188
msgid "To walk over all entries, use these two functions:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2184
+#: ../src/guestfs.pod:2190
#, no-wrap
msgid ""
" void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n"
@@ -41174,7 +41322,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2186
+#: ../src/guestfs.pod:2192
#, no-wrap
msgid ""
" void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n"
@@ -41182,7 +41330,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2188
+#: ../src/guestfs.pod:2194
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 "
@@ -41192,7 +41340,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2194
+#: ../src/guestfs.pod:2200
msgid ""
"C<guestfs_next_private> returns the next key, pointer pair. The return "
"value of this function is also C<NULL> is there are no further entries to "
@@ -41200,18 +41348,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2198
+#: ../src/guestfs.pod:2204
msgid "Notes about walking over entries:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2204
+#: ../src/guestfs.pod:2210
msgid ""
"You must not call C<guestfs_set_private> while walking over the entries."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2209
+#: ../src/guestfs.pod:2215
msgid ""
"The handle maintains an internal iterator which is reset when you call "
"C<guestfs_first_private>. This internal iterator is invalidated when you "
@@ -41219,12 +41367,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2215
+#: ../src/guestfs.pod:2221
msgid "If you have set the data pointer associated with a key to C<NULL>, ie:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2217
+#: ../src/guestfs.pod:2223
#, no-wrap
msgid ""
" guestfs_set_private (g, key, NULL);\n"
@@ -41232,26 +41380,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2219
+#: ../src/guestfs.pod:2225
msgid "then that C<key> is not returned when walking."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2223
+#: ../src/guestfs.pod:2229
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 ""
#. type: textblock
-#: ../src/guestfs.pod:2229
+#: ../src/guestfs.pod:2235
msgid ""
"The following example code shows how to print all keys and data pointers "
"that are associated with the handle C<g>:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2232
+#: ../src/guestfs.pod:2238
#, no-wrap
msgid ""
" const char *key;\n"
@@ -41265,14 +41413,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2240
+#: ../src/guestfs.pod:2246
msgid ""
"More commonly you are only interested in keys that begin with an application-"
"specific prefix C<foo_>. Modify the loop like so:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2243
+#: ../src/guestfs.pod:2249
#, no-wrap
msgid ""
" const char *key;\n"
@@ -41287,7 +41435,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2252
+#: ../src/guestfs.pod:2258
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 "
@@ -41295,7 +41443,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2256
+#: ../src/guestfs.pod:2262
#, no-wrap
msgid ""
" const char *key;\n"
@@ -41317,7 +41465,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2272
+#: ../src/guestfs.pod:2278
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 "
@@ -41326,12 +41474,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2277
+#: ../src/guestfs.pod:2283
msgid "SYSTEMTAP"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2279
+#: ../src/guestfs.pod:2285
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 "
@@ -41339,12 +41487,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2283
+#: ../src/guestfs.pod:2289
msgid "You can list all the static markers by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2285
+#: ../src/guestfs.pod:2291
#, no-wrap
msgid ""
" stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n"
@@ -41353,26 +41501,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2288
+#: ../src/guestfs.pod:2294
msgid ""
"B<Note:> These static markers are I<not> part of the stable API and may "
"change in future versions."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2291
+#: ../src/guestfs.pod:2297
msgid "SYSTEMTAP SCRIPT EXAMPLE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2293
+#: ../src/guestfs.pod:2299
msgid ""
"This script contains examples of displaying both the static markers and some "
"ordinary C entry points:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2296
+#: ../src/guestfs.pod:2302
#, no-wrap
msgid ""
" global last;\n"
@@ -41380,7 +41528,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2298
+#: ../src/guestfs.pod:2304
#, no-wrap
msgid ""
" function display_time () {\n"
@@ -41393,7 +41541,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2305
+#: ../src/guestfs.pod:2311
#, no-wrap
msgid ""
" printf (\"%d (+%d):\", now, delta);\n"
@@ -41402,7 +41550,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2308
+#: ../src/guestfs.pod:2314
#, no-wrap
msgid ""
" probe begin {\n"
@@ -41413,7 +41561,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2313
+#: ../src/guestfs.pod:2319
#, no-wrap
msgid ""
" /* Display all calls to static markers. */\n"
@@ -41426,7 +41574,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2320
+#: ../src/guestfs.pod:2326
#, no-wrap
msgid ""
" /* Display all calls to guestfs_mkfs* functions. */\n"
@@ -41439,7 +41587,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2327
+#: ../src/guestfs.pod:2333
msgid ""
"The script above can be saved to C<test.stap> and run using the L<stap(1)> "
"program. Note that you either have to be root, or you have to add yourself "
@@ -41448,7 +41596,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2332
+#: ../src/guestfs.pod:2338
#, no-wrap
msgid ""
" # stap /tmp/test.stap\n"
@@ -41457,17 +41605,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2335
+#: ../src/guestfs.pod:2341
msgid "In another terminal, run a guestfish command such as this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2339
+#: ../src/guestfs.pod:2345
msgid "In the first terminal, stap trace output similar to this is shown:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2341
+#: ../src/guestfs.pod:2347
#, no-wrap
msgid ""
" 1318248056692655 (+0):\tlaunch_start\n"
@@ -41480,24 +41628,24 @@ msgid ""
msgstr ""
#. type: =end
-#: ../src/guestfs.pod:2348 ../src/guestfs.pod:2353
+#: ../src/guestfs.pod:2354 ../src/guestfs.pod:2359
msgid "html"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2350
+#: ../src/guestfs.pod:2356
msgid ""
"<!-- old anchor for the next section --> <a name="
"\"state_machine_and_low_level_event_api\"/>"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2355
+#: ../src/guestfs.pod:2361
msgid "ARCHITECTURE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2357
+#: ../src/guestfs.pod:2363
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 "
@@ -41505,7 +41653,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2361
+#: ../src/guestfs.pod:2367
#, no-wrap
msgid ""
" ___________________\n"
@@ -41531,14 +41679,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2381
+#: ../src/guestfs.pod:2387
msgid ""
"The library, linked to the main program, creates the child process and hence "
"the appliance in the L</guestfs_launch> function."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2384
+#: ../src/guestfs.pod:2390
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 "
@@ -41550,7 +41698,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2393
+#: ../src/guestfs.pod:2399
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 "
@@ -41561,17 +41709,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2400
+#: ../src/guestfs.pod:2406
msgid "STATE MACHINE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2402
+#: ../src/guestfs.pod:2408
msgid "libguestfs uses a state machine to model the child process:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2404
+#: ../src/guestfs.pod:2410
#, no-wrap
msgid ""
" |\n"
@@ -41599,7 +41747,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2426
+#: ../src/guestfs.pod:2432
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), "
@@ -41608,7 +41756,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2431
+#: ../src/guestfs.pod:2437
msgid ""
"The guest may be killed by L</guestfs_kill_subprocess>, or may die "
"asynchronously at any time (eg. due to some internal error), and that causes "
@@ -41616,14 +41764,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2435
+#: ../src/guestfs.pod:2441
msgid ""
"Configuration commands for qemu such as L</guestfs_add_drive> can only be "
"issued when in the CONFIG state."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2438
+#: ../src/guestfs.pod:2444
msgid ""
"The API offers one call that goes from CONFIG through LAUNCHING to READY. "
"L</guestfs_launch> blocks until the child process is READY to accept "
@@ -41632,7 +41780,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2444
+#: ../src/guestfs.pod:2450
msgid ""
"API actions such as L</guestfs_mount> can only be issued when in the READY "
"state. These API calls block waiting for the command to be carried out (ie. "
@@ -41642,7 +41790,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2450
+#: ../src/guestfs.pod:2456
msgid ""
"Finally, the child process sends asynchronous messages back to the main "
"program, such as kernel log messages. You can register a callback to "
@@ -41650,17 +41798,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2454
+#: ../src/guestfs.pod:2460
msgid "INTERNALS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2456
+#: ../src/guestfs.pod:2462
msgid "APPLIANCE BOOT PROCESS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2458
+#: ../src/guestfs.pod:2464
msgid ""
"This process has evolved and continues to evolve. The description here "
"corresponds only to the current version of libguestfs and is provided for "
@@ -41668,55 +41816,55 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2462
+#: ../src/guestfs.pod:2468
msgid ""
"In order to follow the stages involved below, enable libguestfs debugging "
"(set the environment variable C<LIBGUESTFS_DEBUG=1>)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2467
+#: ../src/guestfs.pod:2473
msgid "Create the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2469
+#: ../src/guestfs.pod:2475
msgid ""
"C<febootstrap-supermin-helper> is invoked to create the kernel, a small "
"initrd and the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2472
+#: ../src/guestfs.pod:2478
msgid ""
"The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another "
"directory if C<TMPDIR> is set)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2475
+#: ../src/guestfs.pod:2481
msgid ""
"For a complete description of how the appliance is created and cached, read "
"the L<febootstrap(8)> and L<febootstrap-supermin-helper(8)> man pages."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2479
+#: ../src/guestfs.pod:2485
msgid "Start qemu and boot the kernel"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2481
+#: ../src/guestfs.pod:2487
msgid "qemu is invoked to boot the kernel."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2483
+#: ../src/guestfs.pod:2489
msgid "Run the initrd"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2485
+#: ../src/guestfs.pod:2491
msgid ""
"C<febootstrap-supermin-helper> builds a small initrd. The initrd is not the "
"appliance. The purpose of the initrd is to load enough kernel modules in "
@@ -41724,21 +41872,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2489
+#: ../src/guestfs.pod:2495
msgid ""
"The initrd is a cpio archive called C</var/tmp/.guestfs-E<lt>UIDE<gt>/"
"initrd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2492
+#: ../src/guestfs.pod:2498
msgid ""
"When the initrd has started you will see messages showing that kernel "
"modules are being loaded, similar to this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2495
+#: ../src/guestfs.pod:2501
#, no-wrap
msgid ""
" febootstrap: ext2 mini initrd starting up\n"
@@ -41749,12 +41897,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2500
+#: ../src/guestfs.pod:2506
msgid "Find and mount the appliance device"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2502
+#: ../src/guestfs.pod:2508
msgid ""
"The appliance is a sparse file containing an ext2 filesystem which contains "
"a familiar (although reduced in size) Linux operating system. It would "
@@ -41762,33 +41910,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2506
+#: ../src/guestfs.pod:2512
msgid ""
"The regular disks being inspected by libguestfs are the first devices "
"exposed by qemu (eg. as C</dev/vda>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2509
+#: ../src/guestfs.pod:2515
msgid ""
"The last disk added to qemu is the appliance itself (eg. C</dev/vdb> if "
"there was only one regular disk)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2512
+#: ../src/guestfs.pod:2518
msgid ""
"Thus the final job of the initrd is to locate the appliance disk, mount it, "
"and switch root into the appliance, and run C</init> from the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2516
+#: ../src/guestfs.pod:2522
msgid "If this works successfully you will see messages such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2518
+#: ../src/guestfs.pod:2524
#, no-wrap
msgid ""
" febootstrap: picked /sys/block/vdb/dev as root device\n"
@@ -41800,19 +41948,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2524
+#: ../src/guestfs.pod:2530
msgid ""
"Note that C<Starting /init script ...> indicates that the appliance's init "
"script is now running."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2527
+#: ../src/guestfs.pod:2533
msgid "Initialize the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2529
+#: ../src/guestfs.pod:2535
msgid ""
"The appliance itself now initializes itself. This involves starting certain "
"processes like C<udev>, possibly printing some debug information, and "
@@ -41820,19 +41968,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2533
+#: ../src/guestfs.pod:2539
msgid "The daemon"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2535
+#: ../src/guestfs.pod:2541
msgid ""
"Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you "
"should see:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2538
+#: ../src/guestfs.pod:2544
#, no-wrap
msgid ""
" verbose daemon enabled\n"
@@ -41840,14 +41988,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2540
+#: ../src/guestfs.pod:2546
msgid ""
"The daemon expects to see a named virtio-serial port exposed by qemu and "
"connected on the other end to the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2543
+#: ../src/guestfs.pod:2549
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 "
@@ -41855,19 +42003,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2549
+#: ../src/guestfs.pod:2555
msgid "COMMUNICATION PROTOCOL"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2551
+#: ../src/guestfs.pod:2557
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
-#: ../src/guestfs.pod:2554
+#: ../src/guestfs.pod:2560
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 "
@@ -41875,14 +42023,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2558
+#: ../src/guestfs.pod:2564
msgid ""
"The detailed format of structures is in C<src/guestfs_protocol.x> (note: "
"this file is automatically generated)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2561
+#: ../src/guestfs.pod:2567
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 "
@@ -41892,17 +42040,17 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2568
+#: ../src/guestfs.pod:2574
msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2570
+#: ../src/guestfs.pod:2576
msgid "For ordinary functions, the request message is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2572
+#: ../src/guestfs.pod:2578
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -41913,7 +42061,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2577
+#: ../src/guestfs.pod:2583
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 "
@@ -41922,21 +42070,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2583
+#: ../src/guestfs.pod:2589
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
-#: ../src/guestfs.pod:2586
+#: ../src/guestfs.pod:2592
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 ""
#. type: textblock
-#: ../src/guestfs.pod:2590
+#: ../src/guestfs.pod:2596
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 "
@@ -41948,12 +42096,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2598
+#: ../src/guestfs.pod:2604
msgid "The reply message for ordinary functions is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2600
+#: ../src/guestfs.pod:2606
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -41964,27 +42112,27 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2605
+#: ../src/guestfs.pod:2611
msgid ""
"As above the C<guestfs_I<foo>_ret> structure may be completely omitted for "
"functions that return no formal return values."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2608
+#: ../src/guestfs.pod:2614
msgid ""
"As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2611
+#: ../src/guestfs.pod:2617
msgid ""
"In the case of an error, a flag is set in the header, and the reply message "
"is slightly changed:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2614
+#: ../src/guestfs.pod:2620
#, no-wrap
msgid ""
" total length (header + error,\n"
@@ -41995,19 +42143,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2619
+#: ../src/guestfs.pod:2625
msgid ""
"The C<guestfs_message_error> structure contains the error message as a "
"string."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2622
+#: ../src/guestfs.pod:2628
msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2624
+#: ../src/guestfs.pod:2630
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 "
@@ -42015,7 +42163,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2628
+#: ../src/guestfs.pod:2634
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -42029,12 +42177,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2636
+#: ../src/guestfs.pod:2642
msgid "The \"sequence of chunks\" is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2638
+#: ../src/guestfs.pod:2644
#, no-wrap
msgid ""
" length of chunk (not including length word itself)\n"
@@ -42048,7 +42196,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2646
+#: ../src/guestfs.pod:2652
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 "
@@ -42056,7 +42204,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2650
+#: ../src/guestfs.pod:2656
msgid ""
"At time of writing there are no functions that have more than one FileIn "
"parameter. However this is (theoretically) supported, by sending the "
@@ -42065,7 +42213,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2655
+#: ../src/guestfs.pod:2661
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 "
@@ -42074,7 +42222,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2661
+#: ../src/guestfs.pod:2667
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 "
@@ -42086,7 +42234,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2670
+#: ../src/guestfs.pod:2676
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 "
@@ -42096,19 +42244,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2676
+#: ../src/guestfs.pod:2682
msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2678
+#: ../src/guestfs.pod:2684
msgid ""
"The protocol for FileOut parameters is exactly the same as for FileIn "
"parameters, but with the roles of daemon and library reversed."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2681
+#: ../src/guestfs.pod:2687
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -42122,12 +42270,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2689
+#: ../src/guestfs.pod:2695
msgid "INITIAL MESSAGE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2691
+#: ../src/guestfs.pod:2697
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</"
@@ -42135,12 +42283,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2695
+#: ../src/guestfs.pod:2701
msgid "PROGRESS NOTIFICATION MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2697
+#: ../src/guestfs.pod:2703
msgid ""
"The daemon may send progress notification messages at any time. These are "
"distinguished by the normal length word being replaced by "
@@ -42148,7 +42296,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2701
+#: ../src/guestfs.pod:2707
msgid ""
"The library turns them into progress callbacks (see L</"
"GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them "
@@ -42156,7 +42304,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2705
+#: ../src/guestfs.pod:2711
msgid ""
"The daemon self-limits the frequency of progress messages it sends (see "
"C<daemon/proto.c:notify_progress>). Not all calls generate progress "
@@ -42164,12 +42312,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2709
+#: ../src/guestfs.pod:2715
msgid "LIBGUESTFS VERSION NUMBERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2711
+#: ../src/guestfs.pod:2717
msgid ""
"Since April 2010, libguestfs has started to make separate development and "
"stable releases, along with corresponding branches in our git repository. "
@@ -42177,7 +42325,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2716
+#: ../src/guestfs.pod:2722
#, no-wrap
msgid ""
" even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -42194,12 +42342,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2727
+#: ../src/guestfs.pod:2733
msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2729
+#: ../src/guestfs.pod:2735
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 "
@@ -42209,26 +42357,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2735
+#: ../src/guestfs.pod:2741
msgid "Our criteria for backporting changes are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2741
+#: ../src/guestfs.pod:2747
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
-#: ../src/guestfs.pod:2747
+#: ../src/guestfs.pod:2753
msgid ""
"Bug fixes which are not controversial, fix obvious problems, and have been "
"well tested are backported."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2752
+#: ../src/guestfs.pod:2758
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 "
@@ -42236,7 +42384,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2758
+#: ../src/guestfs.pod:2764
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 "
@@ -42244,7 +42392,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2764
+#: ../src/guestfs.pod:2770
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 "
@@ -42255,17 +42403,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2772
+#: ../src/guestfs.pod:2778
msgid "EXTENDING LIBGUESTFS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2774
+#: ../src/guestfs.pod:2780
msgid "ADDING A NEW API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2776
+#: ../src/guestfs.pod:2782
msgid ""
"Large amounts of boilerplate code in libguestfs (RPC, bindings, "
"documentation) are generated, and this makes it easy to extend the "
@@ -42273,19 +42421,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2780
+#: ../src/guestfs.pod:2786
msgid "To add a new API action there are two changes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2786
+#: ../src/guestfs.pod:2792
msgid ""
"You need to add a description of the call (name, parameters, return type, "
"tests, documentation) to C<generator/generator_actions.ml>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2789
+#: ../src/guestfs.pod:2795
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 "
@@ -42296,7 +42444,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2797
+#: ../src/guestfs.pod:2803
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 "
@@ -42306,7 +42454,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2803
+#: ../src/guestfs.pod:2809
msgid ""
"For library-only actions of the second type, add to the "
"C<non_daemon_functions> list. Since these functions are serviced by the "
@@ -42316,36 +42464,36 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2811
+#: ../src/guestfs.pod:2817
msgid "Implement the action (in C):"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2813
+#: ../src/guestfs.pod:2819
msgid ""
"For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the "
"C<daemon/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2816
+#: ../src/guestfs.pod:2822
msgid ""
"For library actions, implement the function C<guestfs__E<lt>nameE<gt>> "
"(note: double underscore) in the C<src/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2819
+#: ../src/guestfs.pod:2825
msgid "In either case, use another function as an example of what to do."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2823
+#: ../src/guestfs.pod:2829
msgid "After making these changes, use C<make> to compile."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2825
+#: ../src/guestfs.pod:2831
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 "
@@ -42353,12 +42501,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2829
+#: ../src/guestfs.pod:2835
msgid "ADDING TESTS FOR AN API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2831
+#: ../src/guestfs.pod:2837
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 (C<generator/"
@@ -42368,61 +42516,61 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2838
+#: ../src/guestfs.pod:2844
msgid ""
"The following describes the test environment used when you add an API test "
"in C<generator_actions.ml>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2841
+#: ../src/guestfs.pod:2847
msgid "The test environment has 4 block devices:"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2845
+#: ../src/guestfs.pod:2851
msgid "C</dev/sda> 500MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2847
+#: ../src/guestfs.pod:2853
msgid "General block device for testing."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2849
+#: ../src/guestfs.pod:2855
msgid "C</dev/sdb> 50MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2851
+#: ../src/guestfs.pod:2857
msgid ""
"C</dev/sdb1> is an ext2 filesystem used for testing filesystem write "
"operations."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2854
+#: ../src/guestfs.pod:2860
msgid "C</dev/sdc> 10MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2856
+#: ../src/guestfs.pod:2862
msgid "Used in a few tests where two block devices are needed."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2858
+#: ../src/guestfs.pod:2864
msgid "C</dev/sdd>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2860
+#: ../src/guestfs.pod:2866
msgid "ISO with fixed content (see C<images/test.iso>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2864
+#: ../src/guestfs.pod:2870
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 "
@@ -42430,7 +42578,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2868
+#: ../src/guestfs.pod:2874
msgid ""
"Each test starts with an initial scenario, selected using one of the "
"C<Init*> expressions, described in C<generator/generator_types.ml>. These "
@@ -42440,7 +42588,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2874
+#: ../src/guestfs.pod:2880
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 "
@@ -42450,14 +42598,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2880
+#: ../src/guestfs.pod:2886
msgid ""
"In addition, packagers can skip individual tests by setting environment "
"variables before running C<make check>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2883
+#: ../src/guestfs.pod:2889
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>_<NUM>=1\n"
@@ -42465,12 +42613,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2885
+#: ../src/guestfs.pod:2891
msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2889
+#: ../src/guestfs.pod:2895
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>=1\n"
@@ -42478,17 +42626,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2891
+#: ../src/guestfs.pod:2897
msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2893
+#: ../src/guestfs.pod:2899
msgid "Packagers can run only certain tests by setting for example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2895
+#: ../src/guestfs.pod:2901
#, no-wrap
msgid ""
" TEST_ONLY=\"vfs_type zerofree\"\n"
@@ -42496,29 +42644,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2897
+#: ../src/guestfs.pod:2903
msgid ""
"See C<tests/c-api/tests.c> for more details of how these environment "
"variables work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2900
+#: ../src/guestfs.pod:2906
msgid "DEBUGGING NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2902
+#: ../src/guestfs.pod:2908
msgid "Test new actions work before submitting them."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2904
+#: ../src/guestfs.pod:2910
msgid "You can use guestfish to try out new commands."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2906
+#: ../src/guestfs.pod:2912
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 "
@@ -42526,12 +42674,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2910
+#: ../src/guestfs.pod:2916
msgid "FORMATTING CODE AND OTHER CONVENTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2912
+#: ../src/guestfs.pod:2918
msgid ""
"Our C source code generally adheres to some basic code-formatting "
"conventions. The existing code base is not totally consistent on this "
@@ -42541,14 +42689,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2918
+#: ../src/guestfs.pod:2924
msgid ""
"If you use Emacs, add the following to one of one of your start-up files (e."
"g., ~/.emacs), to help ensure that you get indentation right:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2921
+#: ../src/guestfs.pod:2927
#, no-wrap
msgid ""
" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
@@ -42564,7 +42712,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2931
+#: ../src/guestfs.pod:2937
#, no-wrap
msgid ""
" ;;; When editing C sources in libguestfs, use this style.\n"
@@ -42582,12 +42730,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2943
+#: ../src/guestfs.pod:2949
msgid "Enable warnings when compiling (and fix any problems this finds):"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2946
+#: ../src/guestfs.pod:2952
#, no-wrap
msgid ""
" ./configure --enable-gcc-warnings\n"
@@ -42595,12 +42743,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2948
+#: ../src/guestfs.pod:2954
msgid "Useful targets are:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2950
+#: ../src/guestfs.pod:2956
#, no-wrap
msgid ""
" make syntax-check -j1 -k # checks for various syntax and\n"
@@ -42609,7 +42757,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2953
+#: ../src/guestfs.pod:2959
#, no-wrap
msgid ""
" make check # runs the test suite\n"
@@ -42617,7 +42765,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2955
+#: ../src/guestfs.pod:2961
#, no-wrap
msgid ""
" make extra-tests # in-depth testing using valgrind\n"
@@ -42626,43 +42774,43 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2958
+#: ../src/guestfs.pod:2964
msgid "DAEMON CUSTOM PRINTF FORMATTERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2960
+#: ../src/guestfs.pod:2966
msgid ""
"In the daemon code we have created custom printf formatters C<%Q> and C<%R>, "
"which are used to do shell quoting."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2965
+#: ../src/guestfs.pod:2971
msgid "%Q"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2967
+#: ../src/guestfs.pod:2973
msgid ""
"Simple shell quoted string. Any spaces or other shell characters are "
"escaped for you."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2970
+#: ../src/guestfs.pod:2976
msgid "%R"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2972
+#: ../src/guestfs.pod:2978
msgid ""
"Same as C<%Q> except the string is treated as a path which is prefixed by "
"the sysroot."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2979
+#: ../src/guestfs.pod:2985
#, no-wrap
msgid ""
" asprintf (&cmd, \"cat %R\", path);\n"
@@ -42670,12 +42818,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2981
+#: ../src/guestfs.pod:2987
msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2983
+#: ../src/guestfs.pod:2989
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 "
@@ -42684,29 +42832,29 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2989
+#: ../src/guestfs.pod:2995
msgid "SUBMITTING YOUR NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2991
+#: ../src/guestfs.pod:2997
msgid ""
"Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/"
"libguestfs> and CC to L<rjones@redhat.com>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2995
+#: ../src/guestfs.pod:3001
msgid "INTERNATIONALIZATION (I18N) SUPPORT"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2997
+#: ../src/guestfs.pod:3003
msgid "We support i18n (gettext anyhow) in the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2999
+#: ../src/guestfs.pod:3005
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 "
@@ -42715,114 +42863,114 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3005
+#: ../src/guestfs.pod:3011
msgid ""
"Debugging messages are never translated, since they are intended for the "
"programmers."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3008
+#: ../src/guestfs.pod:3014
msgid "SOURCE CODE SUBDIRECTORIES"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3012
+#: ../src/guestfs.pod:3018
msgid "C<align>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3014
+#: ../src/guestfs.pod:3020
msgid "L<virt-alignment-scan(1)> command and documentation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3018
+#: ../src/guestfs.pod:3024
msgid "The libguestfs appliance, build scripts and so on."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3020
+#: ../src/guestfs.pod:3026
msgid "C<cat>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3022
+#: ../src/guestfs.pod:3028
msgid ""
"The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and "
"documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3025
+#: ../src/guestfs.pod:3031
msgid "C<clone>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3027
+#: ../src/guestfs.pod:3033
msgid ""
"Tools for cloning virtual machines. Currently contains L<virt-sysprep(1)> "
"command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3030
+#: ../src/guestfs.pod:3036
msgid "C<contrib>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3032
+#: ../src/guestfs.pod:3038
msgid "Outside contributions, experimental parts."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3034
+#: ../src/guestfs.pod:3040
msgid "C<daemon>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3036
+#: ../src/guestfs.pod:3042
msgid ""
"The daemon that runs inside the libguestfs appliance and carries out actions."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3039
+#: ../src/guestfs.pod:3045
msgid "C<df>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3041
+#: ../src/guestfs.pod:3047
msgid "L<virt-df(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3043
+#: ../src/guestfs.pod:3049
msgid "C<edit>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3045
+#: ../src/guestfs.pod:3051
msgid "L<virt-edit(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3047
+#: ../src/guestfs.pod:3053
msgid "C<examples>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3049
+#: ../src/guestfs.pod:3055
msgid "C API example code."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3051
+#: ../src/guestfs.pod:3057
msgid "C<fish>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3053
+#: ../src/guestfs.pod:3059
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)>, "
@@ -42830,80 +42978,80 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3059
+#: ../src/guestfs.pod:3065
msgid "L<virt-format(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3061
+#: ../src/guestfs.pod:3067
msgid "C<fuse>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3063
+#: ../src/guestfs.pod:3069
msgid ""
"L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3065
+#: ../src/guestfs.pod:3071
msgid "C<generator>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3067
+#: ../src/guestfs.pod:3073
msgid ""
"The crucially important generator, used to automatically generate large "
"amounts of boilerplate C code for things like RPC and bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3070
+#: ../src/guestfs.pod:3076
msgid "C<inspector>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3072
+#: ../src/guestfs.pod:3078
msgid "L<virt-inspector(1)>, the virtual machine image inspector."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3074
+#: ../src/guestfs.pod:3080
msgid "C<logo>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3076
+#: ../src/guestfs.pod:3082
msgid "Logo used on the website. The fish is called Arthur by the way."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3078
+#: ../src/guestfs.pod:3084
msgid "C<m4>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3080
+#: ../src/guestfs.pod:3086
msgid "M4 macros used by autoconf."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3082
+#: ../src/guestfs.pod:3088
msgid "C<po>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3084
+#: ../src/guestfs.pod:3090
msgid "Translations of simple gettext strings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3086
+#: ../src/guestfs.pod:3092
msgid "C<po-docs>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3088
+#: ../src/guestfs.pod:3094
msgid ""
"The build infrastructure and PO files for translations of manpages and POD "
"files. Eventually this will be combined with the C<po> directory, but that "
@@ -42911,140 +43059,140 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3092
+#: ../src/guestfs.pod:3098
msgid "C<rescue>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3094
+#: ../src/guestfs.pod:3100
msgid "L<virt-rescue(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3096
+#: ../src/guestfs.pod:3102
msgid "C<resize>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3098
+#: ../src/guestfs.pod:3104
msgid "L<virt-resize(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3100
+#: ../src/guestfs.pod:3106
msgid "C<sparsify>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3102
+#: ../src/guestfs.pod:3108
msgid "L<virt-sparsify(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3104
+#: ../src/guestfs.pod:3110
msgid "C<src>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3106
+#: ../src/guestfs.pod:3112
msgid "Source code to the C library."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3108
+#: ../src/guestfs.pod:3114
msgid "C<test-tool>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3110
+#: ../src/guestfs.pod:3116
msgid ""
"Test tool for end users to test if their qemu/kernel combination will work "
"with libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3113
+#: ../src/guestfs.pod:3119
msgid "C<tests>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3115
+#: ../src/guestfs.pod:3121
msgid "Tests."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3117
+#: ../src/guestfs.pod:3123
msgid "C<tools>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3119
+#: ../src/guestfs.pod:3125
msgid ""
"Command line tools written in Perl (L<virt-win-reg(1)> and many others)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3121
+#: ../src/guestfs.pod:3127
msgid "C<csharp>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3123
+#: ../src/guestfs.pod:3129
msgid "C<erlang>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3125
+#: ../src/guestfs.pod:3131
msgid "C<gobject>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3127
+#: ../src/guestfs.pod:3133
msgid "C<haskell>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3129
+#: ../src/guestfs.pod:3135
msgid "C<java>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3131
+#: ../src/guestfs.pod:3137
msgid "C<ocaml>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3133
+#: ../src/guestfs.pod:3139
msgid "C<php>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3135
+#: ../src/guestfs.pod:3141
msgid "C<perl>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3137
+#: ../src/guestfs.pod:3143
msgid "C<python>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3139
+#: ../src/guestfs.pod:3145
msgid "C<ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3141
+#: ../src/guestfs.pod:3147
msgid "Language bindings."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3145
+#: ../src/guestfs.pod:3151
msgid "MAKING A STABLE RELEASE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3147
+#: ../src/guestfs.pod:3153
msgid ""
"When we make a stable release, there are several steps documented here. See "
"L</LIBGUESTFS VERSION NUMBERS> for general information about the stable "
@@ -43052,33 +43200,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3155
+#: ../src/guestfs.pod:3161
msgid ""
"Check C<make && make check> works on at least Fedora, Debian and Ubuntu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3160
+#: ../src/guestfs.pod:3166
msgid "Finalize RELEASE-NOTES."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3164
+#: ../src/guestfs.pod:3170
msgid "Update ROADMAP."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3168
+#: ../src/guestfs.pod:3174
msgid "Run C<src/api-support/update-from-tarballs.sh>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3172
+#: ../src/guestfs.pod:3178
msgid "Push and pull from Transifex."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3176
+#: ../src/guestfs.pod:3182
#, no-wrap
msgid ""
" tx push -s\n"
@@ -43086,12 +43234,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3178
+#: ../src/guestfs.pod:3184
msgid "to push the latest POT files to Transifex. Then run:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3180
+#: ../src/guestfs.pod:3186
#, no-wrap
msgid ""
" ./tx-pull.sh\n"
@@ -43099,24 +43247,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3182
+#: ../src/guestfs.pod:3188
msgid "which is a wrapper to pull the latest translated C<*.po> files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3186
+#: ../src/guestfs.pod:3192
msgid ""
"Create new stable and development directories under L<http://libguestfs.org/"
"download>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3191
+#: ../src/guestfs.pod:3197
msgid "Create the branch in git:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3193
+#: ../src/guestfs.pod:3199
#, no-wrap
msgid ""
" git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n"
@@ -43127,17 +43275,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:3200
+#: ../src/guestfs.pod:3206
msgid "LIMITS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3202
+#: ../src/guestfs.pod:3208
msgid "PROTOCOL LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3204
+#: ../src/guestfs.pod:3210
msgid ""
"Internally libguestfs uses a message-based protocol to pass API calls and "
"their responses to and from a small \"appliance\" (see L</INTERNALS> for "
@@ -43148,7 +43296,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3212
+#: ../src/guestfs.pod:3218
msgid ""
"A simple call such as L</guestfs_cat> returns its result (the file data) in "
"a simple string. Because this string is at some point internally encoded as "
@@ -43157,7 +43305,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3218
+#: ../src/guestfs.pod:3224
msgid ""
"In order to transfer large files into and out of the guest filesystem, you "
"need to use particular calls that support this. The sections L</UPLOADING> "
@@ -43165,24 +43313,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3222
+#: ../src/guestfs.pod:3228
msgid ""
"You might also consider mounting the disk image using our FUSE filesystem "
"support (L<guestmount(1)>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3225
+#: ../src/guestfs.pod:3231
msgid "MAXIMUM NUMBER OF DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3227
+#: ../src/guestfs.pod:3233
msgid "When using virtio disks (the default) the current limit is B<25> disks."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3230
+#: ../src/guestfs.pod:3236
msgid ""
"Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 "
"slots. However febootstrap only understands disks with names C</dev/vda> "
@@ -43191,14 +43339,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3235
+#: ../src/guestfs.pod:3241
msgid ""
"We are working to substantially raise this limit in future versions but it "
"requires complex changes to qemu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3238
+#: ../src/guestfs.pod:3244
msgid ""
"In future versions of libguestfs it should also be possible to \"hot plug\" "
"disks (add and remove disks after calling L</guestfs_launch>). This also "
@@ -43206,41 +43354,41 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3242
+#: ../src/guestfs.pod:3248
msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3244
+#: ../src/guestfs.pod:3250
msgid "Virtio limits the maximum number of partitions per disk to B<15>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3246
+#: ../src/guestfs.pod:3252
msgid ""
"This is because it reserves 4 bits for the minor device number (thus C</dev/"
"vda>, and C</dev/vda1> through C</dev/vda15>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3249
+#: ../src/guestfs.pod:3255
msgid ""
"If you attach a disk with more than 15 partitions, the extra partitions are "
"ignored by libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3252
+#: ../src/guestfs.pod:3258
msgid "MAXIMUM SIZE OF A DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3254
+#: ../src/guestfs.pod:3260
msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3256
+#: ../src/guestfs.pod:3262
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 "
@@ -43248,7 +43396,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3260
+#: ../src/guestfs.pod:3266
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 "
@@ -43258,19 +43406,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3266
+#: ../src/guestfs.pod:3272
msgid ""
"For the hugest disk image files, we recommend using XFS on the host for "
"storage."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3269
+#: ../src/guestfs.pod:3275
msgid "MAXIMUM SIZE OF A PARTITION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3271
+#: ../src/guestfs.pod:3277
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 "
@@ -43278,7 +43426,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3275
+#: ../src/guestfs.pod:3281
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 "
@@ -43286,12 +43434,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3280
+#: ../src/guestfs.pod:3286
msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3282
+#: ../src/guestfs.pod:3288
msgid ""
"This depends on the filesystem type. libguestfs itself does not impose any "
"known limit. Consult Wikipedia or the filesystem documentation to find out "
@@ -43299,12 +43447,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3286
+#: ../src/guestfs.pod:3292
msgid "MAXIMUM UPLOAD AND DOWNLOAD"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3288
+#: ../src/guestfs.pod:3294
msgid ""
"The API functions L</guestfs_upload>, L</guestfs_download>, L</"
"guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized "
@@ -43312,12 +43460,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3292
+#: ../src/guestfs.pod:3298
msgid "INSPECTION LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3294
+#: ../src/guestfs.pod:3300
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 "
@@ -43327,33 +43475,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3320
+#: ../src/guestfs.pod:3326
msgid ""
"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same "
"effect as calling C<guestfs_set_verbose (g, 1)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3332
+#: ../src/guestfs.pod:3338
msgid ""
"Set the path that libguestfs uses to search for a supermin appliance. See "
"the discussion of paths in section L</PATH> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3341
+#: ../src/guestfs.pod:3347
msgid "See also L</QEMU WRAPPERS> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3345
+#: ../src/guestfs.pod:3351
msgid ""
"Set C<LIBGUESTFS_TRACE=1> to enable command traces. This has the same "
"effect as calling C<guestfs_set_trace (g, 1)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3363
+#: ../src/guestfs.pod:3369
msgid ""
"L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-"
"ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-ruby(3)>, "
@@ -43369,7 +43517,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3402
+#: ../src/guestfs.pod:3408
msgid ""
"Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm"
"(8)>, L<disktype(1)>."
@@ -43403,14 +43551,6 @@ msgstr ""
msgid "If you suspect a problem in libguestfs, then just run:"
msgstr ""
-#. type: verbatim
-#: ../test-tool/libguestfs-test-tool.pod:21
-#, no-wrap
-msgid ""
-" libguestfs-test-tool\n"
-"\n"
-msgstr ""
-
#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:23
msgid "It will print lots of diagnostic messages."
@@ -44589,89 +44729,89 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:556
+#: ../tools/virt-win-reg.pl:546
msgid "SUPPORTED SYSTEMS"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:558
+#: ../tools/virt-win-reg.pl:548
msgid ""
"The program currently supports Windows NT-derived guests starting with "
"Windows XP through to at least Windows 7."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:561
+#: ../tools/virt-win-reg.pl:551
msgid "The following Registry keys are supported:"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:565
+#: ../tools/virt-win-reg.pl:555
msgid "C<HKEY_LOCAL_MACHINE\\SAM>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:567
+#: ../tools/virt-win-reg.pl:557
msgid "C<HKEY_LOCAL_MACHINE\\SECURITY>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:569
+#: ../tools/virt-win-reg.pl:559
msgid "C<HKEY_LOCAL_MACHINE\\SOFTWARE>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:571
+#: ../tools/virt-win-reg.pl:561
msgid "C<HKEY_LOCAL_MACHINE\\SYSTEM>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:573
+#: ../tools/virt-win-reg.pl:563
msgid "C<HKEY_USERS\\.DEFAULT>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:575
+#: ../tools/virt-win-reg.pl:565
msgid "C<HKEY_USERS\\I<SID>>"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:577
+#: ../tools/virt-win-reg.pl:567
msgid "where I<SID> is a Windows User SID (eg. C<S-1-5-18>)."
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:579
+#: ../tools/virt-win-reg.pl:569
msgid "C<HKEY_USERS\\I<username>>"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:581
+#: ../tools/virt-win-reg.pl:571
msgid ""
"where I<username> is a local user name (this is a libguestfs extension)."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:585
+#: ../tools/virt-win-reg.pl:575
msgid ""
"You can use C<HKLM> as a shorthand for C<HKEY_LOCAL_MACHINE>, and C<HKU> for "
"C<HKEY_USERS>."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:588
+#: ../tools/virt-win-reg.pl:578
msgid ""
"The literal keys C<HKEY_USERS\\$SID> and C<HKEY_CURRENT_USER> are not "
"supported (there is no \"current user\")."
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:591
+#: ../tools/virt-win-reg.pl:581
msgid "ENCODING"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:593
+#: ../tools/virt-win-reg.pl:583
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-"
@@ -44681,14 +44821,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:599
+#: ../tools/virt-win-reg.pl:589
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 ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:602
+#: ../tools/virt-win-reg.pl:592
#, no-wrap
msgid ""
" iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg\n"
@@ -44696,14 +44836,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:604
+#: ../tools/virt-win-reg.pl:594
msgid ""
"To go in the opposite direction, after exporting and before sending the file "
"to a Windows user, do something like this:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:607
+#: ../tools/virt-win-reg.pl:597
#, no-wrap
msgid ""
" unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg\n"
@@ -44711,12 +44851,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:609
+#: ../tools/virt-win-reg.pl:599
msgid "For more information about encoding, see L<Win::Hivex::Regedit(3)>."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:611
+#: ../tools/virt-win-reg.pl:601
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-"
@@ -44724,7 +44864,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:615
+#: ../tools/virt-win-reg.pl:605
#, no-wrap
msgid ""
" $ file software.reg\n"
@@ -44734,17 +44874,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:619
+#: ../tools/virt-win-reg.pl:609
msgid "This file would need conversion before you could I<--merge> it."
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:621
+#: ../tools/virt-win-reg.pl:611
msgid "CurrentControlSet etc."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:623
+#: ../tools/virt-win-reg.pl:613
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 "
@@ -44752,7 +44892,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:627
+#: ../tools/virt-win-reg.pl:617
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 "
@@ -44760,7 +44900,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:631
+#: ../tools/virt-win-reg.pl:621
#, no-wrap
msgid ""
" # virt-win-reg WindowsGuest 'HKLM\\SYSTEM\\Select'\n"
@@ -44773,28 +44913,28 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:638
+#: ../tools/virt-win-reg.pl:628
msgid "\"Current\" is the one which Windows will choose when it boots."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:640
+#: ../tools/virt-win-reg.pl:630
msgid ""
"Similarly, other C<Current...> keys in the path may need to be replaced."
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:643
+#: ../tools/virt-win-reg.pl:633
msgid "DELETING REGISTRY KEYS AND VALUES"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:645
+#: ../tools/virt-win-reg.pl:635
msgid "To delete a whole registry key, use the syntax:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:647
+#: ../tools/virt-win-reg.pl:637
#, no-wrap
msgid ""
" [-HKEY_LOCAL_MACHINE\\Foo]\n"
@@ -44802,12 +44942,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:649
+#: ../tools/virt-win-reg.pl:639
msgid "To delete a single value within a key, use the syntax:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:651
+#: ../tools/virt-win-reg.pl:641
#, no-wrap
msgid ""
" [HKEY_LOCAL_MACHINE\\Foo]\n"
@@ -44816,24 +44956,24 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:654
+#: ../tools/virt-win-reg.pl:644
msgid "WINDOWS TIPS"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:656
+#: ../tools/virt-win-reg.pl:646
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 ""
#. type: =head2
-#: ../tools/virt-win-reg.pl:659
+#: ../tools/virt-win-reg.pl:649
msgid "RUNNING A BATCH SCRIPT WHEN A USER LOGS IN"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:661
+#: ../tools/virt-win-reg.pl:651
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 "
@@ -44841,7 +44981,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:665
+#: ../tools/virt-win-reg.pl:655
#, no-wrap
msgid ""
" guestfish -i -d WindowsGuest upload test.bat /test.bat\n"
@@ -44849,12 +44989,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:667
+#: ../tools/virt-win-reg.pl:657
msgid "Prepare a regedit file containing the registry change:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:669
+#: ../tools/virt-win-reg.pl:659
#, no-wrap
msgid ""
" cat > test.reg <<'EOF'\n"
@@ -44865,7 +45005,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:674
+#: ../tools/virt-win-reg.pl:664
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 "
@@ -44873,12 +45013,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:678
+#: ../tools/virt-win-reg.pl:668
msgid "Now update the registry:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:680
+#: ../tools/virt-win-reg.pl:670
#, no-wrap
msgid ""
" virt-win-reg --merge WindowsGuest test.reg\n"
@@ -44886,12 +45026,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../tools/virt-win-reg.pl:682
+#: ../tools/virt-win-reg.pl:672
msgid "INSTALLING A SERVICE"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:684
+#: ../tools/virt-win-reg.pl:674
msgid ""
"This section assumes you are familiar with Windows services, and you either "
"have a program which handles the Windows Service Control Protocol directly "
@@ -44900,14 +45040,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:689
+#: ../tools/virt-win-reg.pl:679
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 ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:693
+#: ../tools/virt-win-reg.pl:683
#, no-wrap
msgid ""
" guestfish -i -d WindowsGuest <<EOF\n"
@@ -44918,7 +45058,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:698
+#: ../tools/virt-win-reg.pl:688
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 "
@@ -44927,7 +45067,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:703
+#: ../tools/virt-win-reg.pl:693
#, no-wrap
msgid ""
" cat > service.reg <<'EOF'\n"
@@ -44942,7 +45082,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:712
+#: ../tools/virt-win-reg.pl:702
#, no-wrap
msgid ""
" [HKLM\\SYSTEM\\ControlSet001\\services\\RHSrvAny\\Parameters]\n"
@@ -44953,7 +45093,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:723
+#: ../tools/virt-win-reg.pl:713
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 "
@@ -44961,7 +45101,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:729
+#: ../tools/virt-win-reg.pl:719
msgid ""
"C<\"ObjectName\"> controls the privileges that the service will have. An "
"alternative is C<\"ObjectName\"=\"LocalSystem\"> which would be the most "
@@ -44969,19 +45109,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:735
+#: ../tools/virt-win-reg.pl:725
msgid ""
"For the meaning of the magic numbers, see this Microsoft KB article: "
"L<http://support.microsoft.com/kb/103000>."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:740
+#: ../tools/virt-win-reg.pl:730
msgid "Update the registry:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:742
+#: ../tools/virt-win-reg.pl:732
#, no-wrap
msgid ""
" virt-win-reg --merge WindowsGuest service.reg\n"
@@ -44989,7 +45129,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:746
+#: ../tools/virt-win-reg.pl:736
msgid ""
"Be careful when passing parameters containing C<\\> (backslash) in the "
"shell. Usually you will have to use 'single quotes' or double backslashes "
@@ -44997,12 +45137,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:750
+#: ../tools/virt-win-reg.pl:740
msgid "Paths and value names are case-insensitive."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:759
+#: ../tools/virt-win-reg.pl:749
msgid ""
"L<hivex(3)>, L<hivexsh(1)>, L<hivexregedit(1)>, L<guestfs(3)>, L<guestfish(1)"
">, L<virt-cat(1)>, L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, L<Win::Hivex"
@@ -45010,6 +45150,6 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:778
+#: ../tools/virt-win-reg.pl:768
msgid "Copyright (C) 2010 Red Hat Inc."
msgstr ""
diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot
index 05e46bc4..ceac25fa 100644
--- a/po-docs/libguestfs-docs.pot
+++ b/po-docs/libguestfs-docs.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: libguestfs 1.16.31\n"
+"Project-Id-Version: libguestfs 1.16.32\n"
"Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2012-09-19 15:19+0200\n"
+"POT-Creation-Date: 2012-10-01 16:29+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -309,7 +309,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../align/virt-alignment-scan.pod:132 ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../clone/virt-sysprep.pod:104 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:673 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:161 ../src/guestfs.pod:2977
+#: ../align/virt-alignment-scan.pod:132 ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../clone/virt-sysprep.pod:104 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:673 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:161 ../src/guestfs.pod:2983
msgid "For example:"
msgstr ""
@@ -673,12 +673,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:311 ../cat/virt-cat.pod:231 ../cat/virt-filesystems.pod:373 ../cat/virt-ls.pod:483 ../clone/virt-sysprep.pod:475 ../df/virt-df.pod:241 ../edit/virt-edit.pod:356 ../inspector/virt-inspector.pod:366 ../rescue/virt-rescue.pod:303 ../resize/virt-resize.pod:690 ../tools/virt-list-filesystems.pl:190 ../tools/virt-list-partitions.pl:260 ../tools/virt-make-fs.pl:572 ../tools/virt-tar.pl:287 ../tools/virt-win-reg.pl:744
+#: ../align/virt-alignment-scan.pod:311 ../cat/virt-cat.pod:231 ../cat/virt-filesystems.pod:373 ../cat/virt-ls.pod:483 ../clone/virt-sysprep.pod:475 ../df/virt-df.pod:241 ../edit/virt-edit.pod:356 ../inspector/virt-inspector.pod:366 ../rescue/virt-rescue.pod:303 ../resize/virt-resize.pod:690 ../tools/virt-list-filesystems.pl:190 ../tools/virt-list-partitions.pl:260 ../tools/virt-make-fs.pl:572 ../tools/virt-tar.pl:287 ../tools/virt-win-reg.pl:734
msgid "SHELL QUOTING"
msgstr ""
#. type: textblock
-#: ../align/virt-alignment-scan.pod:313 ../cat/virt-cat.pod:233 ../cat/virt-filesystems.pod:375 ../cat/virt-ls.pod:485 ../clone/virt-sysprep.pod:477 ../df/virt-df.pod:243 ../edit/virt-edit.pod:358 ../inspector/virt-inspector.pod:368 ../rescue/virt-rescue.pod:305 ../resize/virt-resize.pod:692 ../tools/virt-list-filesystems.pl:192 ../tools/virt-list-partitions.pl:262 ../tools/virt-make-fs.pl:574 ../tools/virt-tar.pl:289 ../tools/virt-win-reg.pl:752
+#: ../align/virt-alignment-scan.pod:313 ../cat/virt-cat.pod:233 ../cat/virt-filesystems.pod:375 ../cat/virt-ls.pod:485 ../clone/virt-sysprep.pod:477 ../df/virt-df.pod:243 ../edit/virt-edit.pod:358 ../inspector/virt-inspector.pod:368 ../rescue/virt-rescue.pod:305 ../resize/virt-resize.pod:692 ../tools/virt-list-filesystems.pl:192 ../tools/virt-list-partitions.pl:262 ../tools/virt-make-fs.pl:574 ../tools/virt-tar.pl:289 ../tools/virt-win-reg.pl:742
msgid ""
"Libvirt guest names can contain arbitrary characters, some of which have "
"meaning to the shell such as C<#> and space. You may need to quote or "
@@ -697,7 +697,7 @@ msgid "This program returns:"
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:324 ../align/virt-alignment-scan.pod:330 ../align/virt-alignment-scan.pod:336 ../align/virt-alignment-scan.pod:343 ../cat/virt-cat.pod:177 ../cat/virt-cat.pod:182 ../cat/virt-cat.pod:187 ../cat/virt-cat.pod:198 ../cat/virt-cat.pod:202 ../clone/virt-sysprep.pod:283 ../clone/virt-sysprep.pod:287 ../clone/virt-sysprep.pod:291 ../clone/virt-sysprep.pod:295 ../clone/virt-sysprep.pod:310 ../clone/virt-sysprep.pod:314 ../clone/virt-sysprep.pod:318 ../clone/virt-sysprep.pod:322 ../clone/virt-sysprep.pod:326 ../clone/virt-sysprep.pod:362 ../clone/virt-sysprep.pod:384 ../clone/virt-sysprep.pod:388 ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266 ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276 ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291 ../examples/guestfs-recipes.pod:131 ../examples/guestfs-recipes.pod:135 ../examples/guestfs-recipes.pod:139 ../examples/guestfs-recipes.pod:165 ../examples/guestfs-recipes.pod:170 ../examples/guestfs-recipes.pod:260 ../examples/guestfs-recipes.pod:264 ../examples/guestfs-recipes.pod:268 ../examples/guestfs-recipes.pod:272 ../examples/guestfs-recipes.pod:276 ../examples/guestfs-testing.pod:110 ../examples/guestfs-testing.pod:114 ../examples/guestfs-testing.pod:118 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:444 ../fish/guestfish-actions.pod:452 ../fish/guestfish-actions.pod:459 ../fish/guestfish-actions.pod:466 ../fish/guestfish-actions.pod:1336 ../fish/guestfish-actions.pod:1340 ../fish/guestfish-actions.pod:1344 ../fish/guestfish-actions.pod:1348 ../fish/guestfish-actions.pod:1356 ../fish/guestfish-actions.pod:1360 ../fish/guestfish-actions.pod:1364 ../fish/guestfish-actions.pod:1374 ../fish/guestfish-actions.pod:1378 ../fish/guestfish-actions.pod:1382 ../fish/guestfish-actions.pod:1472 ../fish/guestfish-actions.pod:1476 ../fish/guestfish-actions.pod:1481 ../fish/guestfish-actions.pod:1486 ../fish/guestfish-actions.pod:1528 ../fish/guestfish-actions.pod:1532 ../fish/guestfish-actions.pod:1537 ../fish/guestfish-actions.pod:1793 ../fish/guestfish-actions.pod:1800 ../fish/guestfish-actions.pod:1807 ../fish/guestfish-actions.pod:2208 ../fish/guestfish-actions.pod:2214 ../fish/guestfish-actions.pod:2222 ../fish/guestfish-actions.pod:2229 ../fish/guestfish-actions.pod:2236 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:514 ../inspector/virt-inspector.pod:518 ../resize/virt-resize.pod:365 ../resize/virt-resize.pod:369 ../resize/virt-resize.pod:378 ../resize/virt-resize.pod:384 ../sparsify/virt-sparsify.pod:32 ../sparsify/virt-sparsify.pod:39 ../sparsify/virt-sparsify.pod:43 ../sparsify/virt-sparsify.pod:49 ../sparsify/virt-sparsify.pod:54 ../sparsify/virt-sparsify.pod:59 ../sparsify/virt-sparsify.pod:65 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:644 ../src/guestfs-actions.pod:652 ../src/guestfs-actions.pod:659 ../src/guestfs-actions.pod:666 ../src/guestfs-actions.pod:2202 ../src/guestfs-actions.pod:2206 ../src/guestfs-actions.pod:2210 ../src/guestfs-actions.pod:2214 ../src/guestfs-actions.pod:2222 ../src/guestfs-actions.pod:2226 ../src/guestfs-actions.pod:2230 ../src/guestfs-actions.pod:2240 ../src/guestfs-actions.pod:2244 ../src/guestfs-actions.pod:2248 ../src/guestfs-actions.pod:2386 ../src/guestfs-actions.pod:2390 ../src/guestfs-actions.pod:2395 ../src/guestfs-actions.pod:2400 ../src/guestfs-actions.pod:2461 ../src/guestfs-actions.pod:2465 ../src/guestfs-actions.pod:2470 ../src/guestfs-actions.pod:2885 ../src/guestfs-actions.pod:2892 ../src/guestfs-actions.pod:2899 ../src/guestfs-actions.pod:3442 ../src/guestfs-actions.pod:3448 ../src/guestfs-actions.pod:3456 ../src/guestfs-actions.pod:3463 ../src/guestfs-actions.pod:3470 ../src/guestfs.pod:382 ../src/guestfs.pod:387 ../src/guestfs.pod:392 ../src/guestfs.pod:396 ../src/guestfs.pod:401 ../src/guestfs.pod:405 ../src/guestfs.pod:410 ../src/guestfs.pod:415 ../src/guestfs.pod:1117 ../src/guestfs.pod:1121 ../src/guestfs.pod:1125 ../src/guestfs.pod:1130 ../src/guestfs.pod:1138 ../src/guestfs.pod:1157 ../src/guestfs.pod:1165 ../src/guestfs.pod:1182 ../src/guestfs.pod:1187 ../src/guestfs.pod:1191 ../src/guestfs.pod:1248 ../src/guestfs.pod:1252 ../src/guestfs.pod:1256 ../src/guestfs.pod:1260 ../src/guestfs.pod:1264 ../src/guestfs.pod:1268 ../src/guestfs.pod:1783 ../src/guestfs.pod:1788 ../src/guestfs.pod:1792 ../src/guestfs.pod:1894 ../src/guestfs.pod:1899 ../src/guestfs.pod:1903 ../src/guestfs.pod:1913 ../src/guestfs.pod:2202 ../src/guestfs.pod:2207 ../src/guestfs.pod:2213 ../src/guestfs.pod:2221 ../src/guestfs.pod:2739 ../src/guestfs.pod:2745 ../src/guestfs.pod:2750 ../src/guestfs.pod:2756 ../src/guestfs.pod:3153 ../src/guestfs.pod:3158 ../src/guestfs.pod:3162 ../src/guestfs.pod:3166 ../src/guestfs.pod:3170 ../src/guestfs.pod:3184 ../src/guestfs.pod:3189 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:721 ../tools/virt-win-reg.pl:727 ../tools/virt-win-reg.pl:733
+#: ../align/virt-alignment-scan.pod:324 ../align/virt-alignment-scan.pod:330 ../align/virt-alignment-scan.pod:336 ../align/virt-alignment-scan.pod:343 ../cat/virt-cat.pod:177 ../cat/virt-cat.pod:182 ../cat/virt-cat.pod:187 ../cat/virt-cat.pod:198 ../cat/virt-cat.pod:202 ../clone/virt-sysprep.pod:283 ../clone/virt-sysprep.pod:287 ../clone/virt-sysprep.pod:291 ../clone/virt-sysprep.pod:295 ../clone/virt-sysprep.pod:310 ../clone/virt-sysprep.pod:314 ../clone/virt-sysprep.pod:318 ../clone/virt-sysprep.pod:322 ../clone/virt-sysprep.pod:326 ../clone/virt-sysprep.pod:362 ../clone/virt-sysprep.pod:384 ../clone/virt-sysprep.pod:388 ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266 ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276 ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291 ../examples/guestfs-recipes.pod:133 ../examples/guestfs-recipes.pod:137 ../examples/guestfs-recipes.pod:141 ../examples/guestfs-recipes.pod:167 ../examples/guestfs-recipes.pod:172 ../examples/guestfs-recipes.pod:262 ../examples/guestfs-recipes.pod:266 ../examples/guestfs-recipes.pod:270 ../examples/guestfs-recipes.pod:274 ../examples/guestfs-recipes.pod:278 ../examples/guestfs-testing.pod:124 ../examples/guestfs-testing.pod:128 ../examples/guestfs-testing.pod:132 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:444 ../fish/guestfish-actions.pod:452 ../fish/guestfish-actions.pod:459 ../fish/guestfish-actions.pod:466 ../fish/guestfish-actions.pod:1336 ../fish/guestfish-actions.pod:1340 ../fish/guestfish-actions.pod:1344 ../fish/guestfish-actions.pod:1348 ../fish/guestfish-actions.pod:1356 ../fish/guestfish-actions.pod:1360 ../fish/guestfish-actions.pod:1364 ../fish/guestfish-actions.pod:1374 ../fish/guestfish-actions.pod:1378 ../fish/guestfish-actions.pod:1382 ../fish/guestfish-actions.pod:1472 ../fish/guestfish-actions.pod:1476 ../fish/guestfish-actions.pod:1481 ../fish/guestfish-actions.pod:1486 ../fish/guestfish-actions.pod:1528 ../fish/guestfish-actions.pod:1532 ../fish/guestfish-actions.pod:1537 ../fish/guestfish-actions.pod:1793 ../fish/guestfish-actions.pod:1800 ../fish/guestfish-actions.pod:1807 ../fish/guestfish-actions.pod:2208 ../fish/guestfish-actions.pod:2214 ../fish/guestfish-actions.pod:2222 ../fish/guestfish-actions.pod:2229 ../fish/guestfish-actions.pod:2236 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:514 ../inspector/virt-inspector.pod:518 ../resize/virt-resize.pod:365 ../resize/virt-resize.pod:369 ../resize/virt-resize.pod:378 ../resize/virt-resize.pod:384 ../sparsify/virt-sparsify.pod:32 ../sparsify/virt-sparsify.pod:39 ../sparsify/virt-sparsify.pod:43 ../sparsify/virt-sparsify.pod:49 ../sparsify/virt-sparsify.pod:54 ../sparsify/virt-sparsify.pod:59 ../sparsify/virt-sparsify.pod:65 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:644 ../src/guestfs-actions.pod:652 ../src/guestfs-actions.pod:659 ../src/guestfs-actions.pod:666 ../src/guestfs-actions.pod:2202 ../src/guestfs-actions.pod:2206 ../src/guestfs-actions.pod:2210 ../src/guestfs-actions.pod:2214 ../src/guestfs-actions.pod:2222 ../src/guestfs-actions.pod:2226 ../src/guestfs-actions.pod:2230 ../src/guestfs-actions.pod:2240 ../src/guestfs-actions.pod:2244 ../src/guestfs-actions.pod:2248 ../src/guestfs-actions.pod:2386 ../src/guestfs-actions.pod:2390 ../src/guestfs-actions.pod:2395 ../src/guestfs-actions.pod:2400 ../src/guestfs-actions.pod:2461 ../src/guestfs-actions.pod:2465 ../src/guestfs-actions.pod:2470 ../src/guestfs-actions.pod:2885 ../src/guestfs-actions.pod:2892 ../src/guestfs-actions.pod:2899 ../src/guestfs-actions.pod:3442 ../src/guestfs-actions.pod:3448 ../src/guestfs-actions.pod:3456 ../src/guestfs-actions.pod:3463 ../src/guestfs-actions.pod:3470 ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1123 ../src/guestfs.pod:1127 ../src/guestfs.pod:1131 ../src/guestfs.pod:1136 ../src/guestfs.pod:1144 ../src/guestfs.pod:1163 ../src/guestfs.pod:1171 ../src/guestfs.pod:1188 ../src/guestfs.pod:1193 ../src/guestfs.pod:1197 ../src/guestfs.pod:1254 ../src/guestfs.pod:1258 ../src/guestfs.pod:1262 ../src/guestfs.pod:1266 ../src/guestfs.pod:1270 ../src/guestfs.pod:1274 ../src/guestfs.pod:1789 ../src/guestfs.pod:1794 ../src/guestfs.pod:1798 ../src/guestfs.pod:1900 ../src/guestfs.pod:1905 ../src/guestfs.pod:1909 ../src/guestfs.pod:1919 ../src/guestfs.pod:2208 ../src/guestfs.pod:2213 ../src/guestfs.pod:2219 ../src/guestfs.pod:2227 ../src/guestfs.pod:2745 ../src/guestfs.pod:2751 ../src/guestfs.pod:2756 ../src/guestfs.pod:2762 ../src/guestfs.pod:3159 ../src/guestfs.pod:3164 ../src/guestfs.pod:3168 ../src/guestfs.pod:3172 ../src/guestfs.pod:3176 ../src/guestfs.pod:3190 ../src/guestfs.pod:3195 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:711 ../tools/virt-win-reg.pl:717 ../tools/virt-win-reg.pl:723
msgid "*"
msgstr ""
@@ -712,7 +712,7 @@ msgid "successful exit, all partitions are aligned E<ge> 64K for best performanc
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:332 ../src/guestfs.pod:1440
+#: ../align/virt-alignment-scan.pod:332 ../src/guestfs.pod:1446
msgid "1"
msgstr ""
@@ -722,7 +722,7 @@ msgid "an error scanning the disk image or guest"
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:338 ../src/guestfs.pod:1444
+#: ../align/virt-alignment-scan.pod:338 ../src/guestfs.pod:1450
msgid "2"
msgstr ""
@@ -734,7 +734,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:345 ../src/guestfs.pod:1448
+#: ../align/virt-alignment-scan.pod:345 ../src/guestfs.pod:1454
msgid "3"
msgstr ""
@@ -746,7 +746,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:352 ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:385 ../cat/virt-ls.pod:495 ../clone/virt-sysprep.pod:486 ../df/virt-df.pod:253 ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:422 ../examples/guestfs-testing.pod:291 ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../format/virt-format.pod:177 ../fuse/guestmount.pod:396 ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:40 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:325 ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3361 ../test-tool/libguestfs-test-tool.pod:106 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:579 ../tools/virt-tar.pl:294 ../tools/virt-win-reg.pl:757
+#: ../align/virt-alignment-scan.pod:352 ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:385 ../cat/virt-ls.pod:495 ../clone/virt-sysprep.pod:486 ../df/virt-df.pod:253 ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:475 ../examples/guestfs-testing.pod:305 ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../format/virt-format.pod:177 ../fuse/guestmount.pod:396 ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:40 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:325 ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3367 ../test-tool/libguestfs-test-tool.pod:106 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:579 ../tools/virt-tar.pl:294 ../tools/virt-win-reg.pl:747
msgid "SEE ALSO"
msgstr ""
@@ -758,17 +758,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:361 ../cat/virt-cat.pod:252 ../cat/virt-filesystems.pod:396 ../cat/virt-ls.pod:507 ../clone/virt-sysprep.pod:501 ../df/virt-df.pod:261 ../edit/virt-edit.pod:382 ../format/virt-format.pod:187 ../rescue/virt-rescue.pod:334 ../resize/virt-resize.pod:725 ../sparsify/virt-sparsify.pod:297 ../tools/virt-list-filesystems.pl:210 ../tools/virt-list-partitions.pl:279 ../tools/virt-make-fs.pl:594 ../tools/virt-tar.pl:309 ../tools/virt-win-reg.pl:772
+#: ../align/virt-alignment-scan.pod:361 ../cat/virt-cat.pod:252 ../cat/virt-filesystems.pod:396 ../cat/virt-ls.pod:507 ../clone/virt-sysprep.pod:501 ../df/virt-df.pod:261 ../edit/virt-edit.pod:382 ../format/virt-format.pod:187 ../rescue/virt-rescue.pod:334 ../resize/virt-resize.pod:725 ../sparsify/virt-sparsify.pod:297 ../tools/virt-list-filesystems.pl:210 ../tools/virt-list-partitions.pl:279 ../tools/virt-make-fs.pl:594 ../tools/virt-tar.pl:309 ../tools/virt-win-reg.pl:762
msgid "AUTHOR"
msgstr ""
#. type: textblock
-#: ../align/virt-alignment-scan.pod:363 ../cat/virt-cat.pod:254 ../cat/virt-filesystems.pod:398 ../cat/virt-ls.pod:509 ../clone/virt-sysprep.pod:503 ../df/virt-df.pod:263 ../edit/virt-edit.pod:384 ../format/virt-format.pod:189 ../inspector/virt-inspector.pod:516 ../rescue/virt-rescue.pod:336 ../resize/virt-resize.pod:727 ../sparsify/virt-sparsify.pod:299 ../tools/virt-list-filesystems.pl:212 ../tools/virt-list-partitions.pl:281 ../tools/virt-make-fs.pl:596 ../tools/virt-tar.pl:311 ../tools/virt-win-reg.pl:774
+#: ../align/virt-alignment-scan.pod:363 ../cat/virt-cat.pod:254 ../cat/virt-filesystems.pod:398 ../cat/virt-ls.pod:509 ../clone/virt-sysprep.pod:503 ../df/virt-df.pod:263 ../edit/virt-edit.pod:384 ../format/virt-format.pod:189 ../inspector/virt-inspector.pod:516 ../rescue/virt-rescue.pod:336 ../resize/virt-resize.pod:727 ../sparsify/virt-sparsify.pod:299 ../tools/virt-list-filesystems.pl:212 ../tools/virt-list-partitions.pl:281 ../tools/virt-make-fs.pl:596 ../tools/virt-tar.pl:311 ../tools/virt-win-reg.pl:764
msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:365 ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:400 ../cat/virt-ls.pod:511 ../clone/virt-sysprep.pod:505 ../df/virt-df.pod:265 ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:439 ../examples/guestfs-testing.pod:302 ../fish/guestfish.pod:1300 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../format/virt-format.pod:191 ../fuse/guestmount.pod:411 ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:57 ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:338 ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52 ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3413 ../test-tool/libguestfs-test-tool.pod:116 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:598 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:776
+#: ../align/virt-alignment-scan.pod:365 ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:400 ../cat/virt-ls.pod:511 ../clone/virt-sysprep.pod:505 ../df/virt-df.pod:265 ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:492 ../examples/guestfs-testing.pod:316 ../fish/guestfish.pod:1300 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../format/virt-format.pod:191 ../fuse/guestmount.pod:411 ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:57 ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:338 ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52 ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3419 ../test-tool/libguestfs-test-tool.pod:116 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:598 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:766
msgid "COPYRIGHT"
msgstr ""
@@ -1886,7 +1886,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:41 ../examples/guestfs-testing.pod:182
+#: ../cat/virt-ls.pod:41 ../examples/guestfs-testing.pod:196
msgid "List all setuid or setgid programs in a Linux virtual machine:"
msgstr ""
@@ -1899,7 +1899,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:45 ../examples/guestfs-testing.pod:186
+#: ../cat/virt-ls.pod:45 ../examples/guestfs-testing.pod:200
msgid "List all public-writable directories in a Linux virtual machine:"
msgstr ""
@@ -1912,7 +1912,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:49 ../examples/guestfs-testing.pod:190
+#: ../cat/virt-ls.pod:49 ../examples/guestfs-testing.pod:204
msgid "List all Unix domain sockets in a Linux virtual machine:"
msgstr ""
@@ -1925,7 +1925,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:53 ../examples/guestfs-testing.pod:194
+#: ../cat/virt-ls.pod:53 ../examples/guestfs-testing.pod:208
msgid "List all regular files with filenames ending in '.png':"
msgstr ""
@@ -1951,7 +1951,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:61 ../examples/guestfs-testing.pod:202
+#: ../cat/virt-ls.pod:61 ../examples/guestfs-testing.pod:216
msgid "Find everything modified in the last 7 days:"
msgstr ""
@@ -1964,7 +1964,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:65 ../examples/guestfs-testing.pod:206
+#: ../cat/virt-ls.pod:65 ../examples/guestfs-testing.pod:220
msgid "Find regular files modified in the last 24 hours:"
msgstr ""
@@ -2547,7 +2547,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-ls.pod:513 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388 ../examples/guestfs-recipes.pod:441 ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:413 ../rescue/virt-rescue.pod:340 ../src/guestfs.pod:3415 ../test-tool/libguestfs-test-tool.pod:118 ../tools/virt-list-partitions.pl:285
+#: ../cat/virt-ls.pod:513 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388 ../examples/guestfs-recipes.pod:494 ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:413 ../rescue/virt-rescue.pod:340 ../src/guestfs.pod:3421 ../test-tool/libguestfs-test-tool.pod:118 ../tools/virt-list-partitions.pl:285
msgid "Copyright (C) 2009-2012 Red Hat Inc."
msgstr ""
@@ -3242,7 +3242,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1233
+#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1239
msgid "SECURITY"
msgstr ""
@@ -4147,7 +4147,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1119 ../rescue/virt-rescue.pod:298 ../sparsify/virt-sparsify.pod:257 ../src/guestfs.pod:3300 ../test-tool/libguestfs-test-tool.pod:101
+#: ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1119 ../rescue/virt-rescue.pod:298 ../sparsify/virt-sparsify.pod:257 ../src/guestfs.pod:3306 ../test-tool/libguestfs-test-tool.pod:101
msgid "ENVIRONMENT VARIABLES"
msgstr ""
@@ -4390,17 +4390,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:435 ../examples/guestfs-testing.pod:298 ../fish/guestfish.pod:1296 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:407 ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:53 ../python/examples/guestfs-python.pod:54 ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3409 ../test-tool/libguestfs-test-tool.pod:112
+#: ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:488 ../examples/guestfs-testing.pod:312 ../fish/guestfish.pod:1296 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:407 ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:53 ../python/examples/guestfs-python.pod:54 ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3415 ../test-tool/libguestfs-test-tool.pod:112
msgid "AUTHORS"
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:437 ../examples/guestfs-testing.pod:300 ../fish/guestfish.pod:1298 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:409 ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:55 ../python/examples/guestfs-python.pod:56 ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3411 ../test-tool/libguestfs-test-tool.pod:114
+#: ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:490 ../examples/guestfs-testing.pod:314 ../fish/guestfish.pod:1298 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:409 ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:55 ../python/examples/guestfs-python.pod:56 ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3417 ../test-tool/libguestfs-test-tool.pod:114
msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:116 ../examples/guestfs-testing.pod:304 ../fish/virt-copy-in.pod:66 ../fish/virt-copy-out.pod:55 ../fish/virt-tar-in.pod:64 ../fish/virt-tar-out.pod:57 ../java/examples/guestfs-java.pod:64 ../perl/examples/guestfs-perl.pod:59 ../sparsify/virt-sparsify.pod:303
+#: ../erlang/examples/guestfs-erlang.pod:116 ../examples/guestfs-testing.pod:318 ../fish/virt-copy-in.pod:66 ../fish/virt-copy-out.pod:55 ../fish/virt-tar-in.pod:64 ../fish/virt-tar-out.pod:57 ../java/examples/guestfs-java.pod:64 ../perl/examples/guestfs-perl.pod:59 ../sparsify/virt-sparsify.pod:303
msgid "Copyright (C) 2011-2012 Red Hat Inc."
msgstr ""
@@ -4757,38 +4757,43 @@ msgstr ""
msgid "To list the filesystems in a disk image, use L<virt-filesystems(1)>."
msgstr ""
-#. type: =head1
+#. type: textblock
#: ../examples/guestfs-recipes.pod:125
+msgid "See also L</Uploading raw filesystem content>."
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:127
msgid "Edit grub configuration in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:127
+#: ../examples/guestfs-recipes.pod:129
msgid "You can use this to:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:133
+#: ../examples/guestfs-recipes.pod:135
msgid "Fix a virtual machine that does not boot."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:137
+#: ../examples/guestfs-recipes.pod:139
msgid "Change which kernel is used to boot the VM."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:141
+#: ../examples/guestfs-recipes.pod:143
msgid "Change kernel command line options."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:145
+#: ../examples/guestfs-recipes.pod:147
msgid "Use L<virt-edit(1)> to edit the grub configuration:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:147
+#: ../examples/guestfs-recipes.pod:149
#, no-wrap
msgid ""
" virt-edit -d BrokenGuest /boot/grub/grub.conf\n"
@@ -4796,14 +4801,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:149
+#: ../examples/guestfs-recipes.pod:151
msgid ""
"or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like "
"this:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:152
+#: ../examples/guestfs-recipes.pod:154
#, no-wrap
msgid ""
" virt-rescue -d BrokenGuest\n"
@@ -4811,17 +4816,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:154
+#: ../examples/guestfs-recipes.pod:156
msgid "Export any directory from a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:156
+#: ../examples/guestfs-recipes.pod:158
msgid "To export C</home> from a VM into a local directory use L<virt-copy-out(1)>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:159 ../examples/guestfs-testing.pod:93
+#: ../examples/guestfs-recipes.pod:161 ../examples/guestfs-testing.pod:107
#, no-wrap
msgid ""
" virt-copy-out -d Guest /home .\n"
@@ -4829,24 +4834,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:161 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1524 ../fish/guestfish-actions.pod:1789 ../fish/guestfish-actions.pod:2204 ../src/guestfs-actions.pod:18 ../src/guestfs-actions.pod:2457 ../src/guestfs-actions.pod:2881 ../src/guestfs-actions.pod:3438 ../src/guestfs.pod:1779 ../tools/virt-win-reg.pl:717
+#: ../examples/guestfs-recipes.pod:163 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1524 ../fish/guestfish-actions.pod:1789 ../fish/guestfish-actions.pod:2204 ../src/guestfs-actions.pod:18 ../src/guestfs-actions.pod:2457 ../src/guestfs-actions.pod:2881 ../src/guestfs-actions.pod:3438 ../src/guestfs.pod:1785 ../tools/virt-win-reg.pl:707
msgid "Notes:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:167
+#: ../examples/guestfs-recipes.pod:169
msgid ""
"The final dot of the command is not a printing error. It means we want to "
"copy out to the current directory."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:172
+#: ../examples/guestfs-recipes.pod:174
msgid "This creates a directory called C<home> under the current directory."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:176
+#: ../examples/guestfs-recipes.pod:178
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 "
@@ -4854,7 +4859,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:180
+#: ../examples/guestfs-recipes.pod:182
#, no-wrap
msgid ""
" virt-copy-out -d WinGuest 'win:c:\\windows\\system32\\config' .\n"
@@ -4862,12 +4867,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:182
+#: ../examples/guestfs-recipes.pod:184
msgid "To get the output as a compressed tarball, do:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:184
+#: ../examples/guestfs-recipes.pod:186
#, no-wrap
msgid ""
" virt-tar-out -d Guest /home - | gzip --best > home.tar.gz\n"
@@ -4875,7 +4880,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:186
+#: ../examples/guestfs-recipes.pod:188
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: "
@@ -4883,19 +4888,19 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:190
+#: ../examples/guestfs-recipes.pod:192
msgid "Find out which user is using the most space"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:192
+#: ../examples/guestfs-recipes.pod:194
msgid ""
"This simple script examines a Linux guest to find out which user is using "
"the most space in their home directory:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:195
+#: ../examples/guestfs-recipes.pod:197
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -4903,7 +4908,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:197 ../fish/guestfish.pod:984
+#: ../examples/guestfs-recipes.pod:199 ../fish/guestfish.pod:984
#, no-wrap
msgid ""
" set -e\n"
@@ -4911,7 +4916,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:199
+#: ../examples/guestfs-recipes.pod:201
#, no-wrap
msgid ""
" vm=\"$1\"\n"
@@ -4920,7 +4925,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:202
+#: ../examples/guestfs-recipes.pod:204
#, no-wrap
msgid ""
" eval $(guestfish --ro -d \"$vm\" -i --listen)\n"
@@ -4928,7 +4933,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:204
+#: ../examples/guestfs-recipes.pod:206
#, no-wrap
msgid ""
" for d in $(guestfish --remote ls \"$dir\"); do\n"
@@ -4940,7 +4945,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:210 ../fish/guestfish.pod:941
+#: ../examples/guestfs-recipes.pod:212 ../fish/guestfish.pod:941
#, no-wrap
msgid ""
" guestfish --remote exit\n"
@@ -4948,41 +4953,41 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:212
+#: ../examples/guestfs-recipes.pod:214
msgid "Get DHCP address from a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:214
+#: ../examples/guestfs-recipes.pod:216
msgid ""
"The link below explains the many different possible techniques for getting "
"the last assigned DHCP address of a virtual machine."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:217
+#: ../examples/guestfs-recipes.pod:219
msgid "L<https://rwmj.wordpress.com/2011/03/31/tip-code-for-getting-dhcp-address-from-a-virtual-machine-disk-image/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:219
+#: ../examples/guestfs-recipes.pod:221
msgid ""
"In the libguestfs source examples directory you will find the latest version "
"of the C<virt-dhcp-address.c> program."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:222
+#: ../examples/guestfs-recipes.pod:224
msgid "Get the operating system product name string"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:224
+#: ../examples/guestfs-recipes.pod:226
msgid "Save the following script into a file called C<product-name.sh>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:226
+#: ../examples/guestfs-recipes.pod:228
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -4995,12 +5000,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:233
+#: ../examples/guestfs-recipes.pod:235
msgid "Make the script executable and run it on a named guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:235
+#: ../examples/guestfs-recipes.pod:237
#, no-wrap
msgid ""
" # product-name.sh RHEL60x64\n"
@@ -5009,14 +5014,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:238
+#: ../examples/guestfs-recipes.pod:240
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 ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:242
+#: ../examples/guestfs-recipes.pod:244
#, no-wrap
msgid ""
" # virt-inspector RHEL60x64 > xml\n"
@@ -5029,66 +5034,131 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:248
+#: ../examples/guestfs-recipes.pod:250
msgid "Get the default boot kernel for a Linux VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:250
+#: ../examples/guestfs-recipes.pod:252
msgid ""
"The link below contains a program to print the default boot kernel for a "
"Linux VM."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:253
+#: ../examples/guestfs-recipes.pod:255
msgid "L<https://rwmj.wordpress.com/2010/10/30/tip-use-augeas-to-get-the-default-boot-kernel-for-a-vm/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:255
+#: ../examples/guestfs-recipes.pod:257
msgid ""
"It uses Augeas, and the technique is generally applicable for many different "
"tasks, such as:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:262
+#: ../examples/guestfs-recipes.pod:264
msgid "listing the user accounts in the guest"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:266
+#: ../examples/guestfs-recipes.pod:268
msgid "what repositories is it configured to use"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:270
+#: ../examples/guestfs-recipes.pod:272
msgid "what NTP servers does it connect to"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:274
+#: ../examples/guestfs-recipes.pod:276
msgid "what were the boot messages last time it booted"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:278
+#: ../examples/guestfs-recipes.pod:280
msgid "listing who was logged in recently"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:282
+#: ../examples/guestfs-recipes.pod:284
msgid "L<http://augeas.net/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:284
+#: ../examples/guestfs-recipes.pod:286
+msgid "Hanging guests"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:288
+msgid ""
+"There are various ways to use libguestfs to find out why a guest is hanging "
+"or unresponsive:"
+msgstr ""
+
+#. type: =item
+#: ../examples/guestfs-recipes.pod:293 ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:469 ../src/guestfs.pod:1208 ../src/guestfs.pod:1377 ../src/guestfs.pod:1541 ../src/guestfs.pod:2790
+msgid "1."
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:295
+msgid "Read the log files using virt-cat:"
+msgstr ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:297
+#, no-wrap
+msgid ""
+" virt-cat Guest /var/log/messages | less\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../examples/guestfs-recipes.pod:299 ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:475 ../src/guestfs.pod:1212 ../src/guestfs.pod:1381 ../src/guestfs.pod:1545 ../src/guestfs.pod:2815
+msgid "2."
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:301
+msgid "Read the Windows Event Log (Windows Vista or later only):"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:303 ../examples/guestfs-recipes.pod:402
+msgid "L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-guestfish/#content>"
+msgstr ""
+
+#. type: =item
+#: ../examples/guestfs-recipes.pod:305 ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:486 ../src/guestfs.pod:1216 ../src/guestfs.pod:1551
+msgid "3."
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:307
+msgid "Find out which files were last updated in a guest:"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:309
+msgid "L<https://rwmj.wordpress.com/2012/02/27/using-libguestfs-to-find-out-why-a-windows-guest-was-hanging/#content>"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:311
+msgid "This might give you a clue as to what program is running."
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:315
msgid "Install RPMs in a guest"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:286
+#: ../examples/guestfs-recipes.pod:317
msgid ""
"The link below contains a method to install RPMs in a guest. In fact the "
"RPMs are just uploaded to the guest along with a \"firstboot\" script that "
@@ -5097,22 +5167,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:292
+#: ../examples/guestfs-recipes.pod:323
msgid "L<https://rwmj.wordpress.com/2010/12/01/tip-install-rpms-in-a-guest/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:294
+#: ../examples/guestfs-recipes.pod:325
msgid "List applications installed in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:296
+#: ../examples/guestfs-recipes.pod:327
msgid "Save the following to a file C<list-apps.sh>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:298
+#: ../examples/guestfs-recipes.pod:329
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -5125,14 +5195,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:305
+#: ../examples/guestfs-recipes.pod:336
msgid ""
"Make the file executable and then you can run it on any named virtual "
"machine:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:308
+#: ../examples/guestfs-recipes.pod:339
#, no-wrap
msgid ""
" # list-apps.sh WinGuest\n"
@@ -5168,7 +5238,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:338
+#: ../examples/guestfs-recipes.pod:369
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 "
@@ -5176,22 +5246,22 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:342
+#: ../examples/guestfs-recipes.pod:373
msgid "List files and directories in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:344
+#: ../examples/guestfs-recipes.pod:375
msgid "Use L<virt-ls(1)>."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:346
+#: ../examples/guestfs-recipes.pod:377
msgid "List services in a Windows VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:348
+#: ../examples/guestfs-recipes.pod:379
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 "
@@ -5199,69 +5269,64 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:352
+#: ../examples/guestfs-recipes.pod:383
msgid "L<https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:354
+#: ../examples/guestfs-recipes.pod:385
msgid "Make a disk image sparse"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:356
+#: ../examples/guestfs-recipes.pod:387
msgid "Use L<virt-sparsify(1)>."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:358
+#: ../examples/guestfs-recipes.pod:389
msgid "Monitor disk usage over time"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:360
+#: ../examples/guestfs-recipes.pod:391
msgid ""
"You can use L<virt-df(1)> to monitor disk usage of your guests over time. "
"The link below contains a guide."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:363
+#: ../examples/guestfs-recipes.pod:394
msgid "L<http://virt-tools.org/learning/advanced-virt-df/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:365
+#: ../examples/guestfs-recipes.pod:396
msgid "Reading the Windows Event Log from Windows Vista (or later)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:367
+#: ../examples/guestfs-recipes.pod:398
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 ""
-#. type: textblock
-#: ../examples/guestfs-recipes.pod:371
-msgid "L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-guestfish/#content>"
-msgstr ""
-
#. type: =head1
-#: ../examples/guestfs-recipes.pod:373
+#: ../examples/guestfs-recipes.pod:404
msgid "Remove root password (Linux)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:375
+#: ../examples/guestfs-recipes.pod:406
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 ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:378
+#: ../examples/guestfs-recipes.pod:409
#, no-wrap
msgid ""
" virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n"
@@ -5269,12 +5334,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:380
+#: ../examples/guestfs-recipes.pod:411
msgid "Remove Administrator password (Windows)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:382
+#: ../examples/guestfs-recipes.pod:413
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 "
@@ -5282,17 +5347,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:387
+#: ../examples/guestfs-recipes.pod:418
msgid "L<https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-administrator-password-with-guestfish/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:389
+#: ../examples/guestfs-recipes.pod:420
msgid "Sysprepping a virtual machine (Windows)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:391
+#: ../examples/guestfs-recipes.pod:422
msgid ""
"It is possible to do a \"sysprep\" using libguestfs alone, although not "
"straightforward. Currently there is code in the Aeolus Oz project which "
@@ -5301,19 +5366,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:396
+#: ../examples/guestfs-recipes.pod:427
msgid ""
"L<https://github.com/clalancette/oz> "
"L<https://www.redhat.com/archives/virt-tools-list/2011-May/msg00019.html>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:399
+#: ../examples/guestfs-recipes.pod:430
msgid "Unpack a live CD"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:401
+#: ../examples/guestfs-recipes.pod:432
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 "
@@ -5321,46 +5386,99 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:405
+#: ../examples/guestfs-recipes.pod:436
msgid "L<https://rwmj.wordpress.com/2009/07/15/unpack-the-russian-doll-of-a-f11-live-cd/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:407
+#: ../examples/guestfs-recipes.pod:438
msgid "Uploading and downloading files"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:409
+#: ../examples/guestfs-recipes.pod:440
msgid ""
"The link below contains general tips on uploading (copying in) and "
"downloading (copying out) files from VMs."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:412
+#: ../examples/guestfs-recipes.pod:443
msgid "L<https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:414
+#: ../examples/guestfs-recipes.pod:445
+msgid "Uploading raw filesystem content"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:447
+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 ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:451
+#, no-wrap
+msgid ""
+" guestfish --rw -a disk.img run : upload sda1.img /dev/sda1\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:453
+#, no-wrap
+msgid ""
+" guestfish --rw -d Guest run : upload lv.img /dev/vg_guest/lv_root\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:455
+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
+#: ../examples/guestfs-recipes.pod:461
+#, 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 ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:465
+msgid "(or use C<ntfsresize> if the filesystem is NTFS)."
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:467
msgid "Use libguestfs tools on VMware ESX guests"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:416
+#: ../examples/guestfs-recipes.pod:469
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 ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:420
+#: ../examples/guestfs-recipes.pod:473
msgid "L<https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-guests/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:424
+#: ../examples/guestfs-recipes.pod:477
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, "
"L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, "
@@ -5423,11 +5541,45 @@ msgstr ""
#. type: =head2
#: ../examples/guestfs-testing.pod:30
+msgid "Run libguestfs-test-tool"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-testing.pod:32 ../examples/guestfs-testing.pod:145 ../src/guestfs.pod:3180
+msgid "Run:"
+msgstr ""
+
+#. type: verbatim
+#: ../examples/guestfs-testing.pod:34 ../test-tool/libguestfs-test-tool.pod:21
+#, no-wrap
+msgid ""
+" libguestfs-test-tool\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-testing.pod:36
+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 ""
+
+#. type: textblock
+#: ../examples/guestfs-testing.pod:39
+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 ""
+
+#. type: =head2
+#: ../examples/guestfs-testing.pod:44
msgid "Check KVM acceleration is being used."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:32
+#: ../examples/guestfs-testing.pod:46
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 "
@@ -5435,7 +5587,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:36
+#: ../examples/guestfs-testing.pod:50
#, no-wrap
msgid ""
" time guestfish -a /dev/null run\n"
@@ -5443,39 +5595,39 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:38
+#: ../examples/guestfs-testing.pod:52
msgid ""
"After a few runs, the time should settle down to a few seconds (under 5 "
"seconds on fast 64 bit hardware)."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:41
+#: ../examples/guestfs-testing.pod:55
msgid "How to check for hardware virt:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:43
+#: ../examples/guestfs-testing.pod:57
msgid "L<http://virt-tools.org/learning/check-hardware-virt/>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:45
+#: ../examples/guestfs-testing.pod:59
msgid "If the command above does not work at all, use L<libguestfs-test-tool(1)>."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:48
+#: ../examples/guestfs-testing.pod:62
msgid "Run virt-alignment-scan on all your guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:50
+#: ../examples/guestfs-testing.pod:64
msgid "Run L<virt-alignment-scan(1)> on guests or disk images:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:52
+#: ../examples/guestfs-testing.pod:66
#, no-wrap
msgid ""
" virt-alignment-scan -a /path/to/disk.img\n"
@@ -5483,12 +5635,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161 ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234 ../src/guestfs.pod:2887
+#: ../examples/guestfs-testing.pod:68 ../examples/guestfs-testing.pod:175 ../examples/guestfs-testing.pod:188 ../examples/guestfs-testing.pod:248 ../src/guestfs.pod:2893
msgid "or:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:56
+#: ../examples/guestfs-testing.pod:70
#, no-wrap
msgid ""
" virt-alignment-scan -d Guest\n"
@@ -5496,22 +5648,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:58
+#: ../examples/guestfs-testing.pod:72
msgid "Does the alignment report match how the guest partitions are aligned?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:60
+#: ../examples/guestfs-testing.pod:74
msgid "Run virt-cat on some files in guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:62
+#: ../examples/guestfs-testing.pod:76
msgid "L<virt-cat(1)> can display files from guests. For a Linux guest, try:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:64
+#: ../examples/guestfs-testing.pod:78
#, no-wrap
msgid ""
" virt-cat LinuxGuest /etc/passwd\n"
@@ -5519,12 +5671,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:66
+#: ../examples/guestfs-testing.pod:80
msgid "A recent feature is support for Windows paths, for example:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:68
+#: ../examples/guestfs-testing.pod:82
#, no-wrap
msgid ""
" virt-cat WindowsGuest 'c:\\windows\\win.ini'\n"
@@ -5532,26 +5684,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:70
+#: ../examples/guestfs-testing.pod:84
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 ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:73
+#: ../examples/guestfs-testing.pod:87
msgid "B<*> Copy some files into a B<shut off> guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:75
+#: ../examples/guestfs-testing.pod:89
msgid ""
"L<virt-copy-in(1)> can recursively copy files and directories into a guest "
"or disk image."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:78
+#: ../examples/guestfs-testing.pod:92
#, no-wrap
msgid ""
" virt-copy-in -d Guest /etc /tmp\n"
@@ -5559,7 +5711,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:80
+#: ../examples/guestfs-testing.pod:94
msgid ""
"This should copy local directory C</etc> to C</tmp/etc> in the guest "
"(recursively). If you boot the guest, can you see all of the copied files "
@@ -5567,12 +5719,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:84
+#: ../examples/guestfs-testing.pod:98
msgid "Shut the guest down and try copying multiple files and directories:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:86
+#: ../examples/guestfs-testing.pod:100
#, no-wrap
msgid ""
" virt-copy-in -d Guest /home /etc/issue /tmp\n"
@@ -5580,39 +5732,39 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:88
+#: ../examples/guestfs-testing.pod:102
msgid "Copy some files out of a guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:90
+#: ../examples/guestfs-testing.pod:104
msgid ""
"L<virt-copy-out(1)> can recursively copy files and directories out of a "
"guest or disk image."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:95
+#: ../examples/guestfs-testing.pod:109
msgid "Note the final space and period in the command is not a typo."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:97
+#: ../examples/guestfs-testing.pod:111
msgid "This should copy C</home> from the guest into the current directory."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:99
+#: ../examples/guestfs-testing.pod:113
msgid "Run virt-df."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:101
+#: ../examples/guestfs-testing.pod:115
msgid "L<virt-df(1)> lists disk space. Run:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:103
+#: ../examples/guestfs-testing.pod:117
#, no-wrap
msgid ""
" virt-df\n"
@@ -5620,31 +5772,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:105
+#: ../examples/guestfs-testing.pod:119
msgid ""
"You can try comparing this to the results from L<df(1)> inside the guest, "
"but there are some provisos:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:112
+#: ../examples/guestfs-testing.pod:126
msgid "The guest must be idle."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:116
+#: ../examples/guestfs-testing.pod:130
msgid "The guest disks must be synched using L<sync(1)>."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:120
+#: ../examples/guestfs-testing.pod:134
msgid ""
"Any action such as booting the guest will write log files causing the "
"numbers to change."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:125
+#: ../examples/guestfs-testing.pod:139
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 "
@@ -5652,17 +5804,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:129
+#: ../examples/guestfs-testing.pod:143
msgid "Try importing virt-df CSV output into a spreadsheet or database."
msgstr ""
-#. type: textblock
-#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3174
-msgid "Run:"
-msgstr ""
-
#. type: verbatim
-#: ../examples/guestfs-testing.pod:133
+#: ../examples/guestfs-testing.pod:147
#, no-wrap
msgid ""
" virt-df --csv > /tmp/report.csv\n"
@@ -5670,33 +5817,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:135
+#: ../examples/guestfs-testing.pod:149
msgid ""
"Now try to load this into your favorite spreadsheet or database. Are the "
"results reproduced faithfully in the spreadsheet/database?"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:138
+#: ../examples/guestfs-testing.pod:152
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 ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:141
+#: ../examples/guestfs-testing.pod:155
msgid "B<*> Edit a file in a B<shut off> guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:143
+#: ../examples/guestfs-testing.pod:157
msgid ""
"L<virt-edit(1)> can edit files in guests. Try this command on a RHEL or "
"Fedora guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:146
+#: ../examples/guestfs-testing.pod:160
#, no-wrap
msgid ""
" virt-edit LinuxGuest /etc/sysconfig/network\n"
@@ -5704,12 +5851,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:148
+#: ../examples/guestfs-testing.pod:162
msgid "On other Linux guests try editing other files such as:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:150
+#: ../examples/guestfs-testing.pod:164
#, no-wrap
msgid ""
" virt-edit LinuxGuest /etc/motd\n"
@@ -5717,24 +5864,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:152
+#: ../examples/guestfs-testing.pod:166
msgid "Are the changes seen inside the guest when it is booted?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:154
+#: ../examples/guestfs-testing.pod:168
msgid "Display the filesystems / partitions / LVs in a guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:156
+#: ../examples/guestfs-testing.pod:170
msgid ""
"L<virt-filesystems(1)> can be used to display filesystems in a guest. Try "
"this command on any disk image or guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:159
+#: ../examples/guestfs-testing.pod:173
#, no-wrap
msgid ""
" virt-filesystems -a /path/to/disk.img --all --long -h\n"
@@ -5742,7 +5889,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:163
+#: ../examples/guestfs-testing.pod:177
#, no-wrap
msgid ""
" virt-filesystems -d Guest --all --long -h\n"
@@ -5750,24 +5897,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:165
+#: ../examples/guestfs-testing.pod:179
msgid "Do the results match what is seen in the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:167
+#: ../examples/guestfs-testing.pod:181
msgid "Run virt-inspector on all your guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:169
+#: ../examples/guestfs-testing.pod:183
msgid ""
"Use L<virt-inspector(1)> to get a report on all of your guests or disk "
"images:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:172
+#: ../examples/guestfs-testing.pod:186
#, no-wrap
msgid ""
" virt-inspector -a /path/to/disk.img | less\n"
@@ -5775,7 +5922,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:176
+#: ../examples/guestfs-testing.pod:190
#, no-wrap
msgid ""
" virt-inspector -d Guest | less\n"
@@ -5783,17 +5930,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:178
+#: ../examples/guestfs-testing.pod:192
msgid "Do the results match what is actually in the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:180
+#: ../examples/guestfs-testing.pod:194
msgid "Try the auditing features of virt-ls on all your guests."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:184
+#: ../examples/guestfs-testing.pod:198
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^- [42]'\n"
@@ -5801,7 +5948,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:188
+#: ../examples/guestfs-testing.pod:202
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^d ...7'\n"
@@ -5809,7 +5956,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:192
+#: ../examples/guestfs-testing.pod:206
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^s'\n"
@@ -5817,7 +5964,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:196
+#: ../examples/guestfs-testing.pod:210
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep -i '^-.*\\.png$'\n"
@@ -5825,12 +5972,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:198
+#: ../examples/guestfs-testing.pod:212
msgid "Display files larger than 10MB in home directories:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:200
+#: ../examples/guestfs-testing.pod:214
#, no-wrap
msgid ""
" virt-ls -lR -d Guest /home | awk '$3 > 10*1024*1024'\n"
@@ -5838,7 +5985,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:204
+#: ../examples/guestfs-testing.pod:218
#, no-wrap
msgid ""
" virt-ls -lR -d Guest --time-days / | awk '$6 <= 7'\n"
@@ -5846,7 +5993,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:208
+#: ../examples/guestfs-testing.pod:222
#, no-wrap
msgid ""
" virt-ls -lR -d Guest --time-days / | grep '^-' | awk '$6 < 1'\n"
@@ -5854,24 +6001,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:210
+#: ../examples/guestfs-testing.pod:224
msgid "Do the results match what is in the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:212
+#: ../examples/guestfs-testing.pod:226
msgid "Create a disk image from a tarball."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:214
+#: ../examples/guestfs-testing.pod:228
msgid ""
"Use L<virt-make-fs(1)> to create a disk image from any tarball that you "
"happen to have:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:217
+#: ../examples/guestfs-testing.pod:231
#, no-wrap
msgid ""
" virt-make-fs --partition=mbr --type=vfat /any/tarball.tar.gz output.img\n"
@@ -5879,7 +6026,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:219
+#: ../examples/guestfs-testing.pod:233
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 "
@@ -5887,29 +6034,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:223
+#: ../examples/guestfs-testing.pod:237
msgid "Try other partitioning schemes, eg. I<--partition=gpt>."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:225
+#: ../examples/guestfs-testing.pod:239
msgid "Try other filesystem formats, eg. I<--type=ntfs>, I<--type=ext2>."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:227
+#: ../examples/guestfs-testing.pod:241
msgid "B<*> Run virt-rescue on a B<shut off> disk image or guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:229
+#: ../examples/guestfs-testing.pod:243
msgid ""
"Use L<virt-rescue(1)> to examine, rescue or repair a B<shut off> guest or "
"disk image:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:232
+#: ../examples/guestfs-testing.pod:246
#, no-wrap
msgid ""
" virt-rescue -a /path/to/disk.img\n"
@@ -5917,7 +6064,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:236
+#: ../examples/guestfs-testing.pod:250
#, no-wrap
msgid ""
" virt-rescue -d Guest\n"
@@ -5925,24 +6072,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:238
+#: ../examples/guestfs-testing.pod:252
msgid "Can you use ordinary shell commands to examine the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:240
+#: ../examples/guestfs-testing.pod:254
msgid "B<*> Resize your guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:242
+#: ../examples/guestfs-testing.pod:256
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 ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:246
+#: ../examples/guestfs-testing.pod:260
#, no-wrap
msgid ""
" truncate -s 30G newdisk.img\n"
@@ -5953,22 +6100,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:251
+#: ../examples/guestfs-testing.pod:265
msgid "Does the guest still boot? Try expanding other partitions."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:253
+#: ../examples/guestfs-testing.pod:267
msgid "B<*> Sparsify a guest disk."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:255
+#: ../examples/guestfs-testing.pod:269
msgid "Using L<virt-sparsify(1)>, make a disk image more sparse:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:257
+#: ../examples/guestfs-testing.pod:271
#, no-wrap
msgid ""
" virt-sparsify /path/to/olddisk.img newdisk.img\n"
@@ -5976,26 +6123,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:259
+#: ../examples/guestfs-testing.pod:273
msgid ""
"Is C<newdisk.img> still bootable after sparsifying? Is the resulting disk "
"image smaller (use C<du> to check)?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:262
+#: ../examples/guestfs-testing.pod:276
msgid "B<*> \"sysprep\" a B<shut off> Linux guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:264
+#: ../examples/guestfs-testing.pod:278
msgid ""
"Note that this really will mess up an existing guest, so it's better to "
"clone the guest before trying this."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:267
+#: ../examples/guestfs-testing.pod:281
#, no-wrap
msgid ""
" virt-sysprep --hostname newhost.example.com -a /path/to/disk.img\n"
@@ -6003,26 +6150,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:269
+#: ../examples/guestfs-testing.pod:283
msgid ""
"Was the sysprep successful? After booting, what changes were made and were "
"they successful?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:272
+#: ../examples/guestfs-testing.pod:286
msgid "Dump the Windows Registry from your Windows guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:274
+#: ../examples/guestfs-testing.pod:288
msgid ""
"Use L<virt-win-reg(1)> to dump out the Windows Registry from any Windows "
"guests that you have."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:277
+#: ../examples/guestfs-testing.pod:291
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\Software' |\n"
@@ -6031,7 +6178,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:280
+#: ../examples/guestfs-testing.pod:294
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\System' |\n"
@@ -6040,19 +6187,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:283
+#: ../examples/guestfs-testing.pod:297
msgid "Does the output match running C<regedit> inside the guest?"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:285
+#: ../examples/guestfs-testing.pod:299
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 ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:288
+#: ../examples/guestfs-testing.pod:302
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKEY_USERS\\username' "
@@ -6062,7 +6209,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:293
+#: ../examples/guestfs-testing.pod:307
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, "
"L<http://libguestfs.org/>."
@@ -6384,7 +6531,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish-actions.pod:174 ../src/guestfs-actions.pod:234 ../src/guestfs.pod:3057
+#: ../fish/guestfish-actions.pod:174 ../src/guestfs-actions.pod:234 ../src/guestfs.pod:3063
msgid "C<format>"
msgstr ""
@@ -15567,7 +15714,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish-actions.pod:4476 ../src/guestfs-actions.pod:6961 ../src/guestfs.pod:3016
+#: ../fish/guestfish-actions.pod:4476 ../src/guestfs-actions.pod:6961 ../src/guestfs.pod:3022
msgid "C<appliance>"
msgstr ""
@@ -19268,7 +19415,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2337
+#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2343
#, no-wrap
msgid ""
" guestfish -N fs\n"
@@ -20735,7 +20882,7 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../fish/guestfish.pod:825 ../src/guestfs.pod:513
+#: ../fish/guestfish.pod:825 ../src/guestfs.pod:519
msgid "ENCRYPTED DISKS"
msgstr ""
@@ -21099,7 +21246,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:982 ../src/guestfs.pod:988
+#: ../fish/guestfish.pod:982 ../src/guestfs.pod:994
#, no-wrap
msgid ""
" #!/bin/bash -\n"
@@ -21385,7 +21532,7 @@ msgid "COMMANDS"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1614
+#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1620
msgid "@ACTIONS@"
msgstr ""
@@ -21409,17 +21556,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3304
+#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3310
msgid "FEBOOTSTRAP_KERNEL"
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3306
+#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3312
msgid "FEBOOTSTRAP_MODULES"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3308
+#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3314
msgid ""
"These two environment variables allow the kernel that libguestfs uses in the "
"appliance to be selected. If C<$FEBOOTSTRAP_KERNEL> is not set, then the "
@@ -21477,17 +21624,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3314
+#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3320
msgid "LIBGUESTFS_APPEND"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3316
+#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3322
msgid "Pass additional options to the guest kernel."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3318
+#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3324
msgid "LIBGUESTFS_DEBUG"
msgstr ""
@@ -21499,17 +21646,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3323
+#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3329
msgid "LIBGUESTFS_MEMSIZE"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3325
+#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3331
msgid "Set the memory allocated to the qemu process, in megabytes. For example:"
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3328
+#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3334
#, no-wrap
msgid ""
" LIBGUESTFS_MEMSIZE=700\n"
@@ -21517,7 +21664,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3330
+#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3336
msgid "LIBGUESTFS_PATH"
msgstr ""
@@ -21529,19 +21676,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3335
+#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3341
msgid "LIBGUESTFS_QEMU"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3337
+#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3343
msgid ""
"Set the default qemu binary that libguestfs uses. If not set, then the qemu "
"which was found at compile time by the configure script is used."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3343
+#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3349
msgid "LIBGUESTFS_TRACE"
msgstr ""
@@ -21563,19 +21710,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:261 ../src/guestfs.pod:3348
+#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:261 ../src/guestfs.pod:3354
msgid "TMPDIR"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3350
+#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3356
msgid ""
"Location of temporary directory, defaults to C</tmp> except for the cached "
"supermin appliance which defaults to C</var/tmp>."
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3353
+#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3359
msgid ""
"If libguestfs was compiled to use the supermin appliance then the real "
"appliance is cached in this directory, shared between all handles belonging "
@@ -24488,11 +24635,6 @@ msgid ""
"and L<virt-df(1)>, we recommend you go and read those manual pages first."
msgstr ""
-#. type: =item
-#: ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:463 ../src/guestfs.pod:1202 ../src/guestfs.pod:1371 ../src/guestfs.pod:1535 ../src/guestfs.pod:2784
-msgid "1."
-msgstr ""
-
#. type: textblock
#: ../resize/virt-resize.pod:33
msgid ""
@@ -24526,11 +24668,6 @@ msgid ""
"\n"
msgstr ""
-#. type: =item
-#: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:469 ../src/guestfs.pod:1206 ../src/guestfs.pod:1375 ../src/guestfs.pod:1539 ../src/guestfs.pod:2809
-msgid "2."
-msgstr ""
-
#. type: textblock
#: ../resize/virt-resize.pod:46
msgid ""
@@ -24547,11 +24684,6 @@ msgid ""
"\n"
msgstr ""
-#. type: =item
-#: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:480 ../src/guestfs.pod:1210 ../src/guestfs.pod:1545
-msgid "3."
-msgstr ""
-
#. type: textblock
#: ../resize/virt-resize.pod:54
msgid ""
@@ -36066,26 +36198,39 @@ msgid ""
"LANGUAGES> below."
msgstr ""
-#. type: =head1
+#. type: textblock
#: ../src/guestfs.pod:39
-msgid "API OVERVIEW"
+msgid "For tips and recipes, see L<guestfs-recipes(1)>."
msgstr ""
#. type: textblock
#: ../src/guestfs.pod:41
msgid ""
+"If you are having performance problems, read L<guestfs-performance(1)>. To "
+"help test libguestfs, read L<libguestfs-test-tool(1)> and "
+"L<guestfs-testing(1)>."
+msgstr ""
+
+#. type: =head1
+#: ../src/guestfs.pod:45
+msgid "API OVERVIEW"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:47
+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 ""
#. type: =head2
-#: ../src/guestfs.pod:46
+#: ../src/guestfs.pod:52
msgid "HANDLES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:48
+#: ../src/guestfs.pod:54
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 "
@@ -36095,12 +36240,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:55
+#: ../src/guestfs.pod:61
msgid "The general structure of all libguestfs-using programs looks like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:58
+#: ../src/guestfs.pod:64
#, no-wrap
msgid ""
" guestfs_h *g = guestfs_create ();\n"
@@ -36108,7 +36253,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:60
+#: ../src/guestfs.pod:66
#, no-wrap
msgid ""
" /* Call guestfs_add_drive additional times if there are\n"
@@ -36119,7 +36264,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:65
+#: ../src/guestfs.pod:71
#, no-wrap
msgid ""
" /* Most manipulation calls won't work until you've launched\n"
@@ -36131,7 +36276,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:71
+#: ../src/guestfs.pod:77
#, no-wrap
msgid ""
" /* Now you can examine what partitions, LVs etc are available.\n"
@@ -36142,7 +36287,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:76
+#: ../src/guestfs.pod:82
#, no-wrap
msgid ""
" /* To access a filesystem in the image, you must mount it.\n"
@@ -36152,7 +36297,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:80
+#: ../src/guestfs.pod:86
#, no-wrap
msgid ""
" /* Now you can perform filesystem actions on the guest\n"
@@ -36163,7 +36308,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:85
+#: ../src/guestfs.pod:91
#, no-wrap
msgid ""
" /* Synchronize the disk. This is the opposite of guestfs_launch. */\n"
@@ -36172,7 +36317,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:88
+#: ../src/guestfs.pod:94
#, no-wrap
msgid ""
" /* Close and free the handle 'g'. */\n"
@@ -36181,7 +36326,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:91
+#: ../src/guestfs.pod:97
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 "
@@ -36193,12 +36338,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:100
+#: ../src/guestfs.pod:106
msgid "DISK IMAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:102
+#: ../src/guestfs.pod:108
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 "
@@ -36208,7 +36353,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:108
+#: ../src/guestfs.pod:114
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 "
@@ -36216,7 +36361,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:112
+#: ../src/guestfs.pod:118
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -36226,12 +36371,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:116
+#: ../src/guestfs.pod:122
msgid "You can add a disk read-only using:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:118
+#: ../src/guestfs.pod:124
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -36242,14 +36387,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:123
+#: ../src/guestfs.pod:129
msgid ""
"or by calling the older function L</guestfs_add_drive_ro>. In either case "
"libguestfs won't modify the file."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:126
+#: ../src/guestfs.pod:132
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 "
@@ -36257,7 +36402,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:130
+#: ../src/guestfs.pod:136
msgid ""
"You must add at least one disk image, and you may add multiple disk images. "
"In the API, the disk images are usually referred to as C</dev/sda> (for the "
@@ -36265,7 +36410,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:135
+#: ../src/guestfs.pod:141
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 "
@@ -36273,12 +36418,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:140
+#: ../src/guestfs.pod:146
msgid "MOUNTING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:142
+#: ../src/guestfs.pod:148
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 "
@@ -36288,7 +36433,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:149
+#: ../src/guestfs.pod:155
#, no-wrap
msgid ""
" guestfs_mount_options (g, \"\", \"/dev/sda1\", \"/\");\n"
@@ -36296,7 +36441,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:151
+#: ../src/guestfs.pod:157
msgid ""
"where C</dev/sda1> means literally the first partition (C<1>) of the first "
"disk image that we added (C</dev/sda>). If the disk contains Linux LVM2 "
@@ -36306,7 +36451,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:157
+#: ../src/guestfs.pod:163
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 "
@@ -36317,7 +36462,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:165
+#: ../src/guestfs.pod:171
msgid ""
"Libguestfs also has a set of APIs for inspection of unknown disk images (see "
"L</INSPECTION> below). But you might find it easier to look at higher level "
@@ -36325,19 +36470,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:170
+#: ../src/guestfs.pod:176
msgid ""
"To mount a filesystem read-only, use L</guestfs_mount_ro>. There are "
"several other variations of the C<guestfs_mount_*> call."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:173
+#: ../src/guestfs.pod:179
msgid "FILESYSTEM ACCESS AND MODIFICATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:175
+#: ../src/guestfs.pod:181
msgid ""
"The majority of the libguestfs API consists of fairly low-level calls for "
"accessing and modifying the files, directories, symlinks etc on mounted "
@@ -36347,21 +36492,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:181
+#: ../src/guestfs.pod:187
msgid ""
"Specify filenames as full paths, starting with C<\"/\"> and including the "
"mount point."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:184
+#: ../src/guestfs.pod:190
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 ""
#. type: verbatim
-#: ../src/guestfs.pod:187
+#: ../src/guestfs.pod:193
#, no-wrap
msgid ""
" char *data = guestfs_cat (g, \"/etc/passwd\");\n"
@@ -36369,7 +36514,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:189
+#: ../src/guestfs.pod:195
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), "
@@ -36377,14 +36522,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:193
+#: ../src/guestfs.pod:199
msgid ""
"As another example, to create a top-level directory on that filesystem "
"called C<\"var\"> you would do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:196
+#: ../src/guestfs.pod:202
#, no-wrap
msgid ""
" guestfs_mkdir (g, \"/var\");\n"
@@ -36392,12 +36537,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:198
+#: ../src/guestfs.pod:204
msgid "To create a symlink you could do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:200
+#: ../src/guestfs.pod:206
#, no-wrap
msgid ""
" guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
@@ -36406,14 +36551,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:203
+#: ../src/guestfs.pod:209
msgid ""
"Libguestfs will reject attempts to use relative paths and there is no "
"concept of a current working directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:206
+#: ../src/guestfs.pod:212
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 "
@@ -36423,33 +36568,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:212
+#: ../src/guestfs.pod:218
msgid ""
"File writes are affected by the per-handle umask, set by calling "
"L</guestfs_umask> and defaulting to 022. See L</UMASK>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:215
+#: ../src/guestfs.pod:221
msgid "PARTITIONING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:217
+#: ../src/guestfs.pod:223
msgid ""
"Libguestfs contains API calls to read, create and modify partition tables on "
"disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:220
+#: ../src/guestfs.pod:226
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 ""
#. type: verbatim
-#: ../src/guestfs.pod:224
+#: ../src/guestfs.pod:230
#, no-wrap
msgid ""
" const char *parttype = \"mbr\";\n"
@@ -36460,19 +36605,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:229
+#: ../src/guestfs.pod:235
msgid ""
"Obviously this effectively wipes anything that was on that disk image "
"before."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:232
+#: ../src/guestfs.pod:238
msgid "LVM2"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:234
+#: ../src/guestfs.pod:240
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 "
@@ -36481,19 +36626,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:239
+#: ../src/guestfs.pod:245
msgid ""
"This author strongly recommends reading the LVM HOWTO, online at "
"L<http://tldp.org/HOWTO/LVM-HOWTO/>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:242
+#: ../src/guestfs.pod:248
msgid "DOWNLOADING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:244
+#: ../src/guestfs.pod:250
msgid ""
"Use L</guestfs_cat> to download small, text only files. This call is "
"limited to files which are less than 2 MB and which cannot contain any ASCII "
@@ -36501,7 +36646,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:248
+#: ../src/guestfs.pod:254
msgid ""
"L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
"bit data, since it returns a (pointer, size) pair. However it is still "
@@ -36509,31 +36654,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:252
+#: ../src/guestfs.pod:258
msgid ""
"L</guestfs_download> can be used to download any file, with no limits on "
"content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:255
+#: ../src/guestfs.pod:261
msgid "To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:258
+#: ../src/guestfs.pod:264
msgid "UPLOADING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:260
+#: ../src/guestfs.pod:266
msgid ""
"It's often the case that you want to write a file or files to the disk "
"image."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:263
+#: ../src/guestfs.pod:269
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 "
@@ -36543,19 +36688,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:269
+#: ../src/guestfs.pod:275
msgid ""
"To upload a single file, use L</guestfs_upload>. This call has no limits on "
"file content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:272
+#: ../src/guestfs.pod:278
msgid "To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:274
+#: ../src/guestfs.pod:280
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 "
@@ -36569,12 +36714,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:285
+#: ../src/guestfs.pod:291
msgid "COPYING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:287
+#: ../src/guestfs.pod:293
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 "
@@ -36582,51 +36727,51 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:293
+#: ../src/guestfs.pod:299
msgid "B<file> to B<file>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:295
+#: ../src/guestfs.pod:301
msgid ""
"Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
"directories recursively."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:298
+#: ../src/guestfs.pod:304
msgid "To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:301
+#: ../src/guestfs.pod:307
msgid "B<file> to B<device>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:303
+#: ../src/guestfs.pod:309
msgid "B<device> to B<file>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:305
+#: ../src/guestfs.pod:311
msgid "B<device> to B<device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:307
+#: ../src/guestfs.pod:313
msgid ""
"Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or "
"L</guestfs_copy_device_to_device>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:310
+#: ../src/guestfs.pod:316
msgid "Example: duplicate the contents of an LV:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:312
+#: ../src/guestfs.pod:318
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -36637,7 +36782,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:317
+#: ../src/guestfs.pod:323
msgid ""
"The destination (C</dev/VG/Copy>) must be at least as large as the source "
"(C</dev/VG/Original>). To copy less than the whole source device, use the "
@@ -36645,7 +36790,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:321
+#: ../src/guestfs.pod:327
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -36656,32 +36801,32 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:326
+#: ../src/guestfs.pod:332
msgid "B<file on the host> to B<file or device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:328
+#: ../src/guestfs.pod:334
msgid "Use L</guestfs_upload>. See L</UPLOADING> above."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:330
+#: ../src/guestfs.pod:336
msgid "B<file or device> to B<file on the host>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:332
+#: ../src/guestfs.pod:338
msgid "Use L</guestfs_download>. See L</DOWNLOADING> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:336
+#: ../src/guestfs.pod:342
msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:338
+#: ../src/guestfs.pod:344
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 "
@@ -36692,12 +36837,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:346
+#: ../src/guestfs.pod:352
msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:349
+#: ../src/guestfs.pod:355
#, no-wrap
msgid ""
" guestfs_download (g, filename, \"/dev/stdout\");\n"
@@ -36705,12 +36850,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:351
+#: ../src/guestfs.pod:357
msgid "and you can write tar output to a file descriptor C<fd> by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:353
+#: ../src/guestfs.pod:359
#, no-wrap
msgid ""
" char devfd[64];\n"
@@ -36720,26 +36865,26 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:357
+#: ../src/guestfs.pod:363
msgid "LISTING FILES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:359
+#: ../src/guestfs.pod:365
msgid ""
"L</guestfs_ll> is just designed for humans to read (mainly when using the "
"L<guestfish(1)>-equivalent command C<ll>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:362
+#: ../src/guestfs.pod:368
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 ""
#. type: textblock
-#: ../src/guestfs.pod:365
+#: ../src/guestfs.pod:371
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 "
@@ -36747,19 +36892,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:369
+#: ../src/guestfs.pod:375
msgid ""
"L</guestfs_find> and L</guestfs_find0> can be used to recursively list "
"files."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:372
+#: ../src/guestfs.pod:378
msgid "RUNNING COMMANDS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:374
+#: ../src/guestfs.pod:380
msgid ""
"Although libguestfs is primarily an API for manipulating files inside guest "
"images, we also provide some limited facilities for running commands inside "
@@ -36767,55 +36912,55 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:378
+#: ../src/guestfs.pod:384
msgid "There are many limitations to this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:384
+#: ../src/guestfs.pod:390
msgid ""
"The kernel version that the command runs under will be different from what "
"it expects."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:389
+#: ../src/guestfs.pod:395
msgid ""
"If the command needs to communicate with daemons, then most likely they "
"won't be running."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:394
+#: ../src/guestfs.pod:400
msgid "The command will be running in limited memory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:398
+#: ../src/guestfs.pod:404
msgid ""
"The network may not be available unless you enable it (see "
"L</guestfs_set_network>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:403
+#: ../src/guestfs.pod:409
msgid "Only supports Linux guests (not Windows, BSD, etc)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:407
+#: ../src/guestfs.pod:413
msgid "Architecture limitations (eg. won't work for a PPC guest on an X86 host)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:412
+#: ../src/guestfs.pod:418
msgid ""
"For SELinux guests, you may need to enable SELinux and load policy first. "
"See L</SELINUX> in this manpage."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:417
+#: ../src/guestfs.pod:423
msgid ""
"I<Security:> It is not safe to run commands from untrusted, possibly "
"malicious guests. These commands may attempt to exploit your program by "
@@ -36827,7 +36972,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:426
+#: ../src/guestfs.pod:432
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 "
@@ -36837,26 +36982,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:434
+#: ../src/guestfs.pod:440
msgid ""
"The two main API calls to run commands are L</guestfs_command> and "
"L</guestfs_sh> (there are also variations)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:437
+#: ../src/guestfs.pod:443
msgid ""
"The difference is that L</guestfs_sh> runs commands using the shell, so any "
"shell globs, redirections, etc will work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:440
+#: ../src/guestfs.pod:446
msgid "CONFIGURATION FILES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:442
+#: ../src/guestfs.pod:448
msgid ""
"To read and write configuration files in Linux guest filesystems, we "
"strongly recommend using Augeas. For example, Augeas understands how to "
@@ -36865,7 +37010,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:447
+#: ../src/guestfs.pod:453
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 "
@@ -36873,7 +37018,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:451
+#: ../src/guestfs.pod:457
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 "
@@ -36881,24 +37026,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:455
+#: ../src/guestfs.pod:461
msgid "SELINUX"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:457
+#: ../src/guestfs.pod:463
msgid ""
"We support SELinux guests. To ensure that labeling happens correctly in "
"SELinux guests, you need to enable SELinux and load the guest's policy:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:465
+#: ../src/guestfs.pod:471
msgid "Before launching, do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:467
+#: ../src/guestfs.pod:473
#, no-wrap
msgid ""
" guestfs_set_selinux (g, 1);\n"
@@ -36906,14 +37051,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:471
+#: ../src/guestfs.pod:477
msgid ""
"After mounting the guest's filesystem(s), load the policy. This is best "
"done by running the L<load_policy(8)> command in the guest itself:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:475
+#: ../src/guestfs.pod:481
#, no-wrap
msgid ""
" guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -36921,21 +37066,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:477
+#: ../src/guestfs.pod:483
msgid ""
"(Older versions of C<load_policy> require you to specify the name of the "
"policy file)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:482
+#: ../src/guestfs.pod:488
msgid ""
"Optionally, set the security context for the API. The correct security "
"context to use can only be known by inspecting the guest. As an example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:486
+#: ../src/guestfs.pod:492
#, no-wrap
msgid ""
" guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -36943,24 +37088,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:490
+#: ../src/guestfs.pod:496
msgid "This will work for running commands and editing existing files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:498
msgid ""
"When new files are created, you may need to label them explicitly, for "
"example by running the external command C<restorecon pathname>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:496
+#: ../src/guestfs.pod:502
msgid "UMASK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:504
msgid ""
"Certain calls are affected by the current file mode creation mask (the "
"\"umask\"). In particular ones which create files or directories, such as "
@@ -36970,14 +37115,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:504
+#: ../src/guestfs.pod:510
msgid ""
"The default umask is C<022>, so files are created with modes such as C<0644> "
"and directories with C<0755>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:507
+#: ../src/guestfs.pod:513
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 "
@@ -36985,12 +37130,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:511
+#: ../src/guestfs.pod:517
msgid "For more information about umask, see L<umask(2)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:515
+#: ../src/guestfs.pod:521
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) "
@@ -36999,21 +37144,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:521
+#: ../src/guestfs.pod:527
msgid ""
"Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
"returns the string C<crypto_LUKS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:524
+#: ../src/guestfs.pod:530
msgid ""
"Then open these devices by calling L</guestfs_luks_open>. Obviously you "
"will require the passphrase!"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:527
+#: ../src/guestfs.pod:533
msgid ""
"Opening a LUKS device creates a new device mapper device called "
"C</dev/mapper/mapname> (where C<mapname> is the string you supply to "
@@ -37022,7 +37167,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:533
+#: ../src/guestfs.pod:539
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 "
@@ -37030,7 +37175,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:537
+#: ../src/guestfs.pod:543
msgid ""
"Use the reverse process to close a LUKS device. Unmount any logical volumes "
"on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, "
@@ -37040,12 +37185,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:544
+#: ../src/guestfs.pod:550
msgid "INSPECTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:546
+#: ../src/guestfs.pod:552
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. (These APIs used to "
@@ -37055,14 +37200,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:553
+#: ../src/guestfs.pod:559
msgid ""
"Add all disks belonging to the unknown virtual machine and call "
"L</guestfs_launch> in the usual way."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:556
+#: ../src/guestfs.pod:562
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 "
@@ -37075,7 +37220,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:571
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 "
@@ -37084,7 +37229,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:571
+#: ../src/guestfs.pod:577
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 "
@@ -37095,7 +37240,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:578
+#: ../src/guestfs.pod:584
#, no-wrap
msgid ""
" /boot => /dev/sda1\n"
@@ -37105,14 +37250,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:582
+#: ../src/guestfs.pod:588
msgid ""
"The caller can then make calls to L</guestfs_mount_options> to mount the "
"filesystems as suggested."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:585
+#: ../src/guestfs.pod:591
msgid ""
"Be careful to mount filesystems in the right order (eg. C</> before "
"C</usr>). Sorting the keys of the hash by length, shortest first, should "
@@ -37120,7 +37265,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:589
+#: ../src/guestfs.pod:595
msgid ""
"Inspection currently only works for some common operating systems. "
"Contributors are welcome to send patches for other operating systems that we "
@@ -37128,7 +37273,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:593
+#: ../src/guestfs.pod:599
msgid ""
"Encrypted disks must be opened before inspection. See L</ENCRYPTED DISKS> "
"for more details. The L</guestfs_inspect_os> function just ignores any "
@@ -37136,7 +37281,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:597
+#: ../src/guestfs.pod:603
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 "
@@ -37149,19 +37294,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:606
+#: ../src/guestfs.pod:612
msgid "INSPECTING INSTALL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:608
+#: ../src/guestfs.pod:614
msgid ""
"Libguestfs (since 1.9.4) can detect some install disks, install CDs, live "
"CDs and more."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:611
+#: ../src/guestfs.pod:617
msgid ""
"Call L</guestfs_inspect_get_format> to return the format of the operating "
"system, which currently can be C<installed> (a regular operating system) or "
@@ -37169,7 +37314,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:615
+#: ../src/guestfs.pod:621
msgid ""
"Further information is available about the operating system that can be "
"installed using the regular inspection APIs like "
@@ -37178,7 +37323,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:620
+#: ../src/guestfs.pod:626
msgid ""
"Some additional information specific to installer disks is also available "
"from the L</guestfs_inspect_is_live>, L</guestfs_inspect_is_netinst> and "
@@ -37186,24 +37331,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:625
+#: ../src/guestfs.pod:631
msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:627
+#: ../src/guestfs.pod:633
msgid ""
"Libguestfs can mount NTFS partitions. It does this using the "
"L<http://www.ntfs-3g.org/> driver."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:630
+#: ../src/guestfs.pod:636
msgid "DRIVE LETTERS AND PATHS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:632
+#: ../src/guestfs.pod:638
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 "
@@ -37213,14 +37358,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:638
+#: ../src/guestfs.pod:644
msgid ""
"Drive letter mappings can be found using inspection (see L</INSPECTION> and "
"L</guestfs_inspect_get_drive_mappings>)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:641
+#: ../src/guestfs.pod:647
msgid ""
"Dealing with separator characters (backslash vs forward slash) is outside "
"the scope of libguestfs, but usually a simple character replacement will "
@@ -37228,33 +37373,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:645
+#: ../src/guestfs.pod:651
msgid ""
"To resolve the case insensitivity of paths, call "
"L</guestfs_case_sensitive_path>."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:648
+#: ../src/guestfs.pod:654
msgid "LONG FILENAMES ON NTFS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:650
+#: ../src/guestfs.pod:656
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 ""
#. type: textblock
-#: ../src/guestfs.pod:654
+#: ../src/guestfs.pod:660
msgid ""
"Most Linux filesystems support filenames up to 255 I<bytes>. This means you "
"may get an error:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:657
+#: ../src/guestfs.pod:663
#, no-wrap
msgid ""
" File name too long\n"
@@ -37262,14 +37407,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:659
+#: ../src/guestfs.pod:665
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 ""
#. type: textblock
-#: ../src/guestfs.pod:662
+#: ../src/guestfs.pod:668
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 "
@@ -37277,7 +37422,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:666
+#: ../src/guestfs.pod:672
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 "
@@ -37285,12 +37430,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:670
+#: ../src/guestfs.pod:676
msgid "ACCESSING THE WINDOWS REGISTRY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:672
+#: ../src/guestfs.pod:678
msgid ""
"Libguestfs also provides some help for decoding Windows Registry \"hive\" "
"files, through the library C<hivex> which is part of the libguestfs project "
@@ -37301,12 +37446,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:680
+#: ../src/guestfs.pod:686
msgid "SYMLINKS ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:682
+#: ../src/guestfs.pod:688
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 "
@@ -37314,12 +37459,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:686
+#: ../src/guestfs.pod:692
msgid "L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-symbolic-links/>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:688
+#: ../src/guestfs.pod:694
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 "
@@ -37329,7 +37474,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:695
+#: ../src/guestfs.pod:701
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 "
@@ -37338,36 +37483,36 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:700
+#: ../src/guestfs.pod:706
msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:702
+#: ../src/guestfs.pod:708
msgid ""
"There are other useful extended attributes that can be read from ntfs-3g "
"filesystems (using L</guestfs_getxattr>). See:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:705
+#: ../src/guestfs.pod:711
msgid "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:707
+#: ../src/guestfs.pod:713
msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:709
+#: ../src/guestfs.pod:715
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
-#: ../src/guestfs.pod:712
+#: ../src/guestfs.pod:718
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)> "
@@ -37377,14 +37522,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:718
+#: ../src/guestfs.pod:724
msgid ""
"Error messages are automatically transformed into exceptions if the language "
"supports it."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:721
+#: ../src/guestfs.pod:727
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 "
@@ -37392,58 +37537,58 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:727
+#: ../src/guestfs.pod:733
msgid "B<C++>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:729
+#: ../src/guestfs.pod:735
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 ""
#. type: =item
-#: ../src/guestfs.pod:733
+#: ../src/guestfs.pod:739
msgid "B<C#>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:735
+#: ../src/guestfs.pod:741
msgid ""
"The C# bindings are highly experimental. Please read the warnings at the "
"top of C<csharp/Libguestfs.cs>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:738
+#: ../src/guestfs.pod:744
msgid "B<Erlang>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:740
+#: ../src/guestfs.pod:746
msgid "See L<guestfs-erlang(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:742
+#: ../src/guestfs.pod:748
msgid "B<GObject>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:744
+#: ../src/guestfs.pod:750
msgid ""
"Experimental GObject bindings (with GObject Introspection support) are "
"available. See the C<gobject> directory in the source."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:747
+#: ../src/guestfs.pod:753
msgid "B<Haskell>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:749
+#: ../src/guestfs.pod:755
msgid ""
"This is the only language binding that is working but incomplete. Only "
"calls which return simple integers have been bound in Haskell, and we are "
@@ -37451,96 +37596,96 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:753
+#: ../src/guestfs.pod:759
msgid "B<Java>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:755
+#: ../src/guestfs.pod:761
msgid ""
"Full documentation is contained in the Javadoc which is distributed with "
"libguestfs. For examples, see L<guestfs-java(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:758
+#: ../src/guestfs.pod:764
msgid "B<OCaml>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:760
+#: ../src/guestfs.pod:766
msgid "See L<guestfs-ocaml(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:762
+#: ../src/guestfs.pod:768
msgid "B<Perl>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:764
+#: ../src/guestfs.pod:770
msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:766
+#: ../src/guestfs.pod:772
msgid "B<PHP>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:768
+#: ../src/guestfs.pod:774
msgid ""
"For documentation see C<README-PHP> supplied with libguestfs sources or in "
"the php-libguestfs package for your distribution."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:771
+#: ../src/guestfs.pod:777
msgid "The PHP binding only works correctly on 64 bit machines."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:773
+#: ../src/guestfs.pod:779
msgid "B<Python>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:775
+#: ../src/guestfs.pod:781
msgid "See L<guestfs-python(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:777
+#: ../src/guestfs.pod:783
msgid "B<Ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:779
+#: ../src/guestfs.pod:785
msgid "See L<guestfs-ruby(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:781
+#: ../src/guestfs.pod:787
msgid "For JRuby, use the Java bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:783
+#: ../src/guestfs.pod:789
msgid "B<shell scripts>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:785
+#: ../src/guestfs.pod:791
msgid "See L<guestfish(1)>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:789
+#: ../src/guestfs.pod:795
msgid "LIBGUESTFS GOTCHAS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:791
+#: ../src/guestfs.pod:797
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 "
@@ -37548,7 +37693,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:795
+#: ../src/guestfs.pod:801
msgid ""
"Since we developed libguestfs and the associated tools, there are several "
"things we would have designed differently, but are now stuck with for "
@@ -37557,19 +37702,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:803
+#: ../src/guestfs.pod:809
msgid "Autosync / forgetting to sync."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:805
+#: ../src/guestfs.pod:811
msgid ""
"I<Update:> Autosync is enabled by default for all API users starting from "
"libguestfs 1.5.24. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:808
+#: ../src/guestfs.pod:814
msgid ""
"When modifying a filesystem from C or another language, you B<must> unmount "
"all filesystems and call L</guestfs_sync> explicitly before you close the "
@@ -37577,7 +37722,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:812
+#: ../src/guestfs.pod:818
#, no-wrap
msgid ""
" guestfs_set_autosync (g, 1);\n"
@@ -37585,7 +37730,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:814
+#: ../src/guestfs.pod:820
msgid ""
"to have the unmount/sync done automatically for you when the handle 'g' is "
"closed. (This feature is called \"autosync\", L</guestfs_set_autosync> "
@@ -37593,7 +37738,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:818
+#: ../src/guestfs.pod:824
msgid ""
"If you forget to do this, then it is entirely possible that your changes "
"won't be written out, or will be partially written, or (very rarely) that "
@@ -37601,7 +37746,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:822
+#: ../src/guestfs.pod:828
msgid ""
"Note that in L<guestfish(3)> autosync is the default. So quick and dirty "
"guestfish scripts that forget to sync will work just fine, which can make "
@@ -37609,19 +37754,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:826
+#: ../src/guestfs.pod:832
msgid "Mount option C<-o sync> should not be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:828
+#: ../src/guestfs.pod:834
msgid ""
"I<Update:> L</guestfs_mount> no longer adds any options starting from "
"libguestfs 1.13.16. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:831
+#: ../src/guestfs.pod:837
msgid ""
"If you use L</guestfs_mount>, then C<-o sync,noatime> are added implicitly. "
"However C<-o sync> does not add any reliability benefit, but does have a "
@@ -37629,31 +37774,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:835
+#: ../src/guestfs.pod:841
msgid ""
"The work around is to use L</guestfs_mount_options> and set the mount "
"options that you actually want to use."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:838
+#: ../src/guestfs.pod:844
msgid "Read-only should be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:840
+#: ../src/guestfs.pod:846
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 ""
#. type: textblock
-#: ../src/guestfs.pod:843
+#: ../src/guestfs.pod:849
msgid "This would reduce the potential to corrupt live VM images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:845
+#: ../src/guestfs.pod:851
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 "
@@ -37661,12 +37806,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:849
+#: ../src/guestfs.pod:855
msgid "guestfish command line is hard to use."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:851
+#: ../src/guestfs.pod:857
msgid ""
"C<guestfish disk.img> doesn't do what people expect (open C<disk.img> for "
"examination). It tries to run a guestfish command C<disk.img> which doesn't "
@@ -37676,12 +37821,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:858
+#: ../src/guestfs.pod:864
msgid "guestfish megabyte modifiers don't work right on all commands"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:860
+#: ../src/guestfs.pod:866
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 "
@@ -37691,12 +37836,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:867
+#: ../src/guestfs.pod:873
msgid "The most common is L</guestfs_lvcreate>. The guestfish command:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:869
+#: ../src/guestfs.pod:875
#, no-wrap
msgid ""
" lvcreate LV VG 100M\n"
@@ -37704,7 +37849,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:871
+#: ../src/guestfs.pod:877
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 "
@@ -37713,19 +37858,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:876
+#: ../src/guestfs.pod:882
msgid ""
"This could be fixed in the generator by specially marking parameters and "
"return values which take bytes or other units."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:879
+#: ../src/guestfs.pod:885
msgid "Ambiguity between devices and paths"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:881
+#: ../src/guestfs.pod:887
msgid ""
"There is a subtle ambiguity in the API between a device name "
"(eg. C</dev/sdb2>) and a similar pathname. A file might just happen to be "
@@ -37733,7 +37878,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:886
+#: ../src/guestfs.pod:892
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>. "
@@ -37742,7 +37887,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:892
+#: ../src/guestfs.pod:898
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 "
@@ -37752,7 +37897,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:898
+#: ../src/guestfs.pod:904
#, no-wrap
msgid ""
" type path = Path of string | Device of int | Partition of int * int\n"
@@ -37760,12 +37905,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:900
+#: ../src/guestfs.pod:906
msgid "which would allow you to pass arguments like:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:902
+#: ../src/guestfs.pod:908
#, no-wrap
msgid ""
" Path \"/foo/bar\"\n"
@@ -37776,26 +37921,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:907
+#: ../src/guestfs.pod:913
msgid ""
"As you can see there are still problems to resolve even with this "
"representation. Also consider how it might work in guestfish."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:912
+#: ../src/guestfs.pod:918
msgid "KEYS AND PASSPHRASES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:914
+#: ../src/guestfs.pod:920
msgid ""
"Certain libguestfs calls take a parameter that contains sensitive key "
"material, passed in as a C string."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:917
+#: ../src/guestfs.pod:923
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 "
@@ -37804,7 +37949,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:922
+#: ../src/guestfs.pod:928
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, "
@@ -37812,19 +37957,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:927
+#: ../src/guestfs.pod:933
msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:929
+#: ../src/guestfs.pod:935
msgid ""
"All high-level libguestfs actions are synchronous. If you want to use "
"libguestfs asynchronously then you must create a thread."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:932
+#: ../src/guestfs.pod:938
msgid ""
"Only use the handle from a single thread. Either use the handle exclusively "
"from one thread, or provide your own mutex so that two threads cannot issue "
@@ -37832,33 +37977,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:936
+#: ../src/guestfs.pod:942
msgid ""
"See the graphical program guestfs-browser for one possible architecture for "
"multithreaded programs using libvirt and libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:939
+#: ../src/guestfs.pod:945
msgid "PATH"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:941
+#: ../src/guestfs.pod:947
msgid ""
"Libguestfs needs a supermin appliance, which it finds by looking along an "
"internal path."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:944
+#: ../src/guestfs.pod:950
msgid ""
"By default it looks for these in the directory C<$libdir/guestfs> "
"(eg. C</usr/local/lib/guestfs> or C</usr/lib64/guestfs>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:947
+#: ../src/guestfs.pod:953
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 "
@@ -37869,12 +38014,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:954
+#: ../src/guestfs.pod:960
msgid "QEMU WRAPPERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:956
+#: ../src/guestfs.pod:962
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 "
@@ -37882,7 +38027,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:960
+#: ../src/guestfs.pod:966
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 "
@@ -37891,14 +38036,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:965
+#: ../src/guestfs.pod:971
msgid ""
"Here is an example of a wrapper, where I have built my own copy of qemu from "
"source:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:968
+#: ../src/guestfs.pod:974
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -37909,7 +38054,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:972
+#: ../src/guestfs.pod:978
msgid ""
"Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and "
"then use it by setting the LIBGUESTFS_QEMU environment variable. For "
@@ -37917,7 +38062,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:976
+#: ../src/guestfs.pod:982
#, no-wrap
msgid ""
" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
@@ -37925,14 +38070,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:978
+#: ../src/guestfs.pod:984
msgid ""
"Note that libguestfs also calls qemu with the -help and -version options in "
"order to determine features."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:981
+#: ../src/guestfs.pod:987
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 "
@@ -37942,7 +38087,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:990
+#: ../src/guestfs.pod:996
#, no-wrap
msgid ""
" i=0\n"
@@ -37960,7 +38105,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1002
+#: ../src/guestfs.pod:1008
#, no-wrap
msgid ""
" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n"
@@ -37968,19 +38113,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1004
+#: ../src/guestfs.pod:1010
msgid "ATTACHING TO RUNNING DAEMONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1006
+#: ../src/guestfs.pod:1012
msgid ""
"I<Note (1):> This is B<highly experimental> and has a tendency to eat "
"babies. Use with caution."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1009
+#: ../src/guestfs.pod:1015
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 "
@@ -37988,12 +38133,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1013
+#: ../src/guestfs.pod:1019
msgid "Using guestfs_set_attach_method"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1015
+#: ../src/guestfs.pod:1021
msgid ""
"By calling L</guestfs_set_attach_method> you can change how the library "
"connects to the C<guestfsd> daemon in L</guestfs_launch> (read "
@@ -38001,14 +38146,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1019
+#: ../src/guestfs.pod:1025
msgid ""
"The normal attach method is C<appliance>, where a small appliance is created "
"containing the daemon, and then the library connects to this."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1022
+#: ../src/guestfs.pod:1028
msgid ""
"Setting attach method 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 "
@@ -38016,7 +38161,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1026
+#: ../src/guestfs.pod:1032
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 "
@@ -38024,12 +38169,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1030
+#: ../src/guestfs.pod:1036
msgid "Using guestfs_add_domain with live flag"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1032
+#: ../src/guestfs.pod:1038
msgid ""
"L</guestfs_add_domain> provides some help for getting the correct attach "
"method. If you pass the C<live> option to this function, then (if the "
@@ -38038,7 +38183,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1038
+#: ../src/guestfs.pod:1044
#, no-wrap
msgid ""
" <domain>\n"
@@ -38056,14 +38201,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1050
+#: ../src/guestfs.pod:1056
msgid ""
"L</guestfs_add_domain> extracts C</path/to/socket> and sets the attach "
"method to C<unix:/path/to/socket>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1053
+#: ../src/guestfs.pod:1059
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 "
@@ -38071,19 +38216,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1057
+#: ../src/guestfs.pod:1063
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 ""
#. type: =head2
-#: ../src/guestfs.pod:1061
+#: ../src/guestfs.pod:1067
msgid "ABI GUARANTEE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1063
+#: ../src/guestfs.pod:1069
msgid ""
"We guarantee the libguestfs ABI (binary interface), for public, high-level "
"actions as outlined in this section. Although we will deprecate some "
@@ -38093,12 +38238,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1069
+#: ../src/guestfs.pod:1075
msgid "BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1071
+#: ../src/guestfs.pod:1077
msgid ""
"In the kernel there is now quite a profusion of schemata for naming block "
"devices (in this context, by I<block device> I mean a physical or virtual "
@@ -38113,7 +38258,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1083
+#: ../src/guestfs.pod:1089
msgid ""
"As discussed above, libguestfs uses a qemu appliance running an embedded "
"Linux kernel to access block devices. We can run a variety of appliances "
@@ -38121,7 +38266,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1087
+#: ../src/guestfs.pod:1093
msgid ""
"This causes a problem for libguestfs because many API calls use device or "
"partition names. Working scripts and the recipe (example) scripts that we "
@@ -38129,7 +38274,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1092
+#: ../src/guestfs.pod:1098
msgid ""
"Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>. "
"Internally C</dev/sd*> names are translated, if necessary, to other names as "
@@ -38138,7 +38283,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1098
+#: ../src/guestfs.pod:1104
msgid ""
"Note that this I<only> applies to parameters. The L</guestfs_list_devices>, "
"L</guestfs_list_partitions> and similar calls return the true names of the "
@@ -38146,12 +38291,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1103
+#: ../src/guestfs.pod:1109
msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1105
+#: ../src/guestfs.pod:1111
msgid ""
"Usually this translation is transparent. However in some (very rare) cases "
"you may need to know the exact algorithm. Such cases include where you use "
@@ -38161,7 +38306,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1111
+#: ../src/guestfs.pod:1117
msgid ""
"The algorithm is applied only to I<parameters> which are known to be either "
"device or partition names. Return values from functions such as "
@@ -38169,54 +38314,54 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1119
+#: ../src/guestfs.pod:1125
msgid "Is the string a parameter which is a device or partition name?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1123
+#: ../src/guestfs.pod:1129
msgid "Does the string begin with C</dev/sd>?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1127
+#: ../src/guestfs.pod:1133
msgid ""
"Does the named device exist? If so, we use that device. However if I<not> "
"then we continue with this algorithm."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1132
+#: ../src/guestfs.pod:1138
msgid "Replace initial C</dev/sd> string with C</dev/hd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1134
+#: ../src/guestfs.pod:1140
msgid "For example, change C</dev/sda2> to C</dev/hda2>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1136
+#: ../src/guestfs.pod:1142
msgid "If that named device exists, use it. If not, continue."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1140
+#: ../src/guestfs.pod:1146
msgid "Replace initial C</dev/sd> string with C</dev/vd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1142
+#: ../src/guestfs.pod:1148
msgid "If that named device exists, use it. If not, return an error."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1146
+#: ../src/guestfs.pod:1152
msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1148
+#: ../src/guestfs.pod:1154
msgid ""
"Although the standard naming scheme and automatic translation is useful for "
"simple programs and guestfish scripts, for larger programs it is best not to "
@@ -38224,38 +38369,38 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1152
+#: ../src/guestfs.pod:1158
msgid ""
"Where possible for maximum future portability programs using libguestfs "
"should use these future-proof techniques:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1159
+#: ../src/guestfs.pod:1165
msgid ""
"Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual "
"device names, and then use those names directly."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1162
+#: ../src/guestfs.pod:1168
msgid "Since those device names exist by definition, they will never be translated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1167
+#: ../src/guestfs.pod:1173
msgid ""
"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
"filesystem labels."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1172
+#: ../src/guestfs.pod:1178
msgid "NULL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1174
+#: ../src/guestfs.pod:1180
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 "
@@ -38263,46 +38408,46 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1178
+#: ../src/guestfs.pod:1184
msgid "A null disk has the following properties:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1184
+#: ../src/guestfs.pod:1190
msgid ""
"A null disk will appear as a normal device, eg. in calls to "
"L</guestfs_list_devices>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1189
+#: ../src/guestfs.pod:1195
msgid "You may add C<\"/dev/null\"> multiple times."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1193
+#: ../src/guestfs.pod:1199
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1198
+#: ../src/guestfs.pod:1204
msgid "Null disks are used for three main purposes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1204
+#: ../src/guestfs.pod:1210
msgid "Performance testing of libguestfs (see L<guestfs-performance(1)>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1208
+#: ../src/guestfs.pod:1214
msgid "The internal test suite."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1212
+#: ../src/guestfs.pod:1218
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 "
@@ -38310,12 +38455,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1216
+#: ../src/guestfs.pod:1222
msgid "For example, to test if a feature is available, use code like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1218
+#: ../src/guestfs.pod:1224
#, no-wrap
msgid ""
" guestfs_h *g;\n"
@@ -38324,7 +38469,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1221
+#: ../src/guestfs.pod:1227
#, no-wrap
msgid ""
" g = guestfs_create ();\n"
@@ -38340,19 +38485,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1235
+#: ../src/guestfs.pod:1241
msgid ""
"This section discusses security implications of using libguestfs, "
"particularly with untrusted or malicious guests or disk images."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1238
+#: ../src/guestfs.pod:1244
msgid "GENERAL SECURITY CONSIDERATIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1240
+#: ../src/guestfs.pod:1246
msgid ""
"Be careful with any files or data that you download from a guest (by "
"\"download\" we mean not just the L</guestfs_download> command but any "
@@ -38362,42 +38507,42 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1250
+#: ../src/guestfs.pod:1256
msgid "the data (file etc) not being present"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1254
+#: ../src/guestfs.pod:1260
msgid "being present but empty"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1258
+#: ../src/guestfs.pod:1264
msgid "being much larger than normal"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1262
+#: ../src/guestfs.pod:1268
msgid "containing arbitrary 8 bit data"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1266
+#: ../src/guestfs.pod:1272
msgid "being in an unexpected character encoding"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1270
+#: ../src/guestfs.pod:1276
msgid "containing homoglyphs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1274
+#: ../src/guestfs.pod:1280
msgid "SECURITY OF MOUNTING FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1276
+#: ../src/guestfs.pod:1282
msgid ""
"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
"(VFS) module can sometimes be escalated into exploits by deliberately "
@@ -38413,7 +38558,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1289
+#: ../src/guestfs.pod:1295
msgid ""
"That explains why you should never mount a filesystem from an untrusted "
"guest on your host kernel. How about libguestfs? We run a Linux kernel "
@@ -38427,19 +38572,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1300
+#: ../src/guestfs.pod:1306
msgid ""
"In any case callers can reduce the attack surface by forcing the filesystem "
"type when mounting (use L</guestfs_mount_vfs>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1303
+#: ../src/guestfs.pod:1309
msgid "PROTOCOL SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1305
+#: ../src/guestfs.pod:1311
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 "
@@ -38449,12 +38594,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1311
+#: ../src/guestfs.pod:1317
msgid "INSPECTION SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1313
+#: ../src/guestfs.pod:1319
msgid ""
"Parts of the inspection API (see L</INSPECTION>) return untrusted strings "
"directly from the guest, and these could contain any 8 bit data. Callers "
@@ -38463,7 +38608,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1319
+#: ../src/guestfs.pod:1325
msgid ""
"Guest configuration may be altered in unusual ways by the administrator of "
"the virtual machine, and may not reflect reality (particularly for untrusted "
@@ -38474,7 +38619,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1327
+#: ../src/guestfs.pod:1333
msgid ""
"The inspection API parses guest configuration using two external libraries: "
"Augeas (Linux configuration) and hivex (Windows Registry). Both are "
@@ -38484,12 +38629,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1333
+#: ../src/guestfs.pod:1339
msgid "RUNNING UNTRUSTED GUEST COMMANDS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1335
+#: ../src/guestfs.pod:1341
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 "
@@ -38499,24 +38644,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1341
+#: ../src/guestfs.pod:1347
msgid "CVE-2010-3851"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1343
+#: ../src/guestfs.pod:1349
msgid "L<https://bugzilla.redhat.com/642934>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1345
+#: ../src/guestfs.pod:1351
msgid ""
"This security bug concerns the automatic disk format detection that qemu "
"does on disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1348
+#: ../src/guestfs.pod:1354
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 "
@@ -38525,7 +38670,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1353
+#: ../src/guestfs.pod:1359
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 "
@@ -38534,7 +38679,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1358
+#: ../src/guestfs.pod:1364
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 "
@@ -38546,24 +38691,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1366
+#: ../src/guestfs.pod:1372
msgid "In libguestfs this is rather hard to exploit except under two circumstances:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1373
+#: ../src/guestfs.pod:1379
msgid "You have enabled the network or have opened the disk in write mode."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1377
+#: ../src/guestfs.pod:1383
msgid ""
"You are also running untrusted code from the guest (see L</RUNNING "
"COMMANDS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1382
+#: ../src/guestfs.pod:1388
msgid ""
"The way to avoid this is to specify the expected disk format when adding "
"disks (the optional C<format> option to L</guestfs_add_drive_opts>). You "
@@ -38572,31 +38717,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1387
+#: ../src/guestfs.pod:1393
msgid ""
"For disks added from libvirt using calls like L</guestfs_add_domain>, the "
"format is fetched from libvirt and passed through."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1390
+#: ../src/guestfs.pod:1396
msgid ""
"For libguestfs tools, use the I<--format> command line parameter as "
"appropriate."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1393
+#: ../src/guestfs.pod:1399
msgid "CONNECTION MANAGEMENT"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1395
+#: ../src/guestfs.pod:1401
msgid "guestfs_h *"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1397
+#: ../src/guestfs.pod:1403
msgid ""
"C<guestfs_h> is the opaque type representing a connection handle. Create a "
"handle by calling L</guestfs_create>. Call L</guestfs_close> to free the "
@@ -38604,19 +38749,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1401
+#: ../src/guestfs.pod:1407
msgid ""
"For information on using multiple handles and threads, see the section "
"L</MULTIPLE HANDLES AND MULTIPLE THREADS> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1404
+#: ../src/guestfs.pod:1410
msgid "guestfs_create"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1406
+#: ../src/guestfs.pod:1412
#, no-wrap
msgid ""
" guestfs_h *guestfs_create (void);\n"
@@ -38624,19 +38769,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1408
+#: ../src/guestfs.pod:1414
msgid "Create a connection handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1410
+#: ../src/guestfs.pod:1416
msgid ""
"On success this returns a non-NULL pointer to a handle. On error it returns "
"NULL."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1413
+#: ../src/guestfs.pod:1419
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 "
@@ -38644,24 +38789,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1417
+#: ../src/guestfs.pod:1423
msgid "After configuring the handle, you have to call L</guestfs_launch>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1419
+#: ../src/guestfs.pod:1425
msgid ""
"You may also want to configure error handling for the handle. See the "
"L</ERROR HANDLING> section below."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1422
+#: ../src/guestfs.pod:1428
msgid "guestfs_close"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1424
+#: ../src/guestfs.pod:1430
#, no-wrap
msgid ""
" void guestfs_close (guestfs_h *g);\n"
@@ -38669,19 +38814,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1426
+#: ../src/guestfs.pod:1432
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1429
+#: ../src/guestfs.pod:1435
msgid "The correct way to close the handle is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1431
+#: ../src/guestfs.pod:1437
#, no-wrap
msgid ""
" if (guestfs_shutdown (g) == -1) {\n"
@@ -38692,51 +38837,51 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1436
+#: ../src/guestfs.pod:1442
msgid "L</guestfs_shutdown> is only needed if B<all> of the following are true:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1442
+#: ../src/guestfs.pod:1448
msgid "one or more disks were added in read-write mode, I<and>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1446
+#: ../src/guestfs.pod:1452
msgid "guestfs_launch was called, I<and>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1450
+#: ../src/guestfs.pod:1456
msgid "you made some changes, I<and>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1452
+#: ../src/guestfs.pod:1458
msgid "4"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1454
+#: ../src/guestfs.pod:1460
msgid ""
"you have a way to handle write errors (eg. by exiting with an error code or "
"reporting something to the user)."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1459
+#: ../src/guestfs.pod:1465
msgid "ERROR HANDLING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1461
+#: ../src/guestfs.pod:1467
msgid ""
"API functions can return errors. For example, almost all functions that "
"return C<int> will return C<-1> to indicate an error."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1464
+#: ../src/guestfs.pod:1470
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 "
@@ -38744,7 +38889,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1468
+#: ../src/guestfs.pod:1474
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 "
@@ -38752,7 +38897,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1473
+#: ../src/guestfs.pod:1479
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 "
@@ -38760,7 +38905,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1477
+#: ../src/guestfs.pod:1483
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1)\n"
@@ -38769,21 +38914,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1480
+#: ../src/guestfs.pod:1486
msgid ""
"since the default error handler will ensure that an error message has been "
"printed to C<stderr> before the program exits."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1483
+#: ../src/guestfs.pod:1489
msgid ""
"For other programs the caller will almost certainly want to install an "
"alternate error handler or do error handling in-line like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1486
+#: ../src/guestfs.pod:1492
#, no-wrap
msgid ""
" /* This disables the default behaviour of printing errors\n"
@@ -38793,7 +38938,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1490
+#: ../src/guestfs.pod:1496
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1) {\n"
@@ -38810,7 +38955,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1501
+#: ../src/guestfs.pod:1507
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 "
@@ -38818,7 +38963,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1505
+#: ../src/guestfs.pod:1511
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 "
@@ -38828,12 +38973,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1511
+#: ../src/guestfs.pod:1517
msgid "guestfs_last_error"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1513
+#: ../src/guestfs.pod:1519
#, no-wrap
msgid ""
" const char *guestfs_last_error (guestfs_h *g);\n"
@@ -38841,26 +38986,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1515
+#: ../src/guestfs.pod:1521
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1519
+#: ../src/guestfs.pod:1525
msgid ""
"The lifetime of the returned string is until the next error occurs, or "
"L</guestfs_close> is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1522
+#: ../src/guestfs.pod:1528
msgid "guestfs_last_errno"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1524
+#: ../src/guestfs.pod:1530
#, no-wrap
msgid ""
" int guestfs_last_errno (guestfs_h *g);\n"
@@ -38868,27 +39013,27 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1526
+#: ../src/guestfs.pod:1532
msgid "This returns the last error number (errno) that happened on C<g>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1528
+#: ../src/guestfs.pod:1534
msgid "If successful, an errno integer not equal to zero is returned."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1530
+#: ../src/guestfs.pod:1536
msgid "If no error, this returns 0. This call can return 0 in three situations:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1537
+#: ../src/guestfs.pod:1543
msgid "There has not been any error on the handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1541
+#: ../src/guestfs.pod:1547
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 "
@@ -38896,14 +39041,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1547
+#: ../src/guestfs.pod:1553
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1553
+#: ../src/guestfs.pod:1559
msgid ""
"Libguestfs tries to convert the errno from inside the applicance into a "
"corresponding errno for the caller (not entirely trivial: the appliance "
@@ -38914,12 +39059,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1561
+#: ../src/guestfs.pod:1567
msgid "guestfs_set_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1563
+#: ../src/guestfs.pod:1569
#, no-wrap
msgid ""
" typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -38932,7 +39077,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1570
+#: ../src/guestfs.pod:1576
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 "
@@ -38940,14 +39085,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1574
+#: ../src/guestfs.pod:1580
msgid ""
"C<errno> is not passed to the callback. To get that the callback must call "
"L</guestfs_last_errno>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1577
+#: ../src/guestfs.pod:1583
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 "
@@ -38955,22 +39100,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1581
+#: ../src/guestfs.pod:1587
msgid "The default handler prints messages on C<stderr>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1583
+#: ../src/guestfs.pod:1589
msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1585
+#: ../src/guestfs.pod:1591
msgid "guestfs_get_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1587
+#: ../src/guestfs.pod:1593
#, no-wrap
msgid ""
" guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -38979,17 +39124,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1590
+#: ../src/guestfs.pod:1596
msgid "Returns the current error handler callback."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1592
+#: ../src/guestfs.pod:1598
msgid "guestfs_set_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1594
+#: ../src/guestfs.pod:1600
#, no-wrap
msgid ""
" typedef void (*guestfs_abort_cb) (void);\n"
@@ -38999,29 +39144,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1598
+#: ../src/guestfs.pod:1604
msgid ""
"The callback C<cb> will be called if there is an out of memory situation. "
"I<Note this callback must not return>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1601
+#: ../src/guestfs.pod:1607
msgid "The default is to call L<abort(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1603
+#: ../src/guestfs.pod:1609
msgid "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1606
+#: ../src/guestfs.pod:1612
msgid "guestfs_get_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1608
+#: ../src/guestfs.pod:1614
#, no-wrap
msgid ""
" guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -39029,37 +39174,37 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1610
+#: ../src/guestfs.pod:1616
msgid "This returns the current out of memory handler."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1612
+#: ../src/guestfs.pod:1618
msgid "API CALLS"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1616
+#: ../src/guestfs.pod:1622
msgid "STRUCTURES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1618
+#: ../src/guestfs.pod:1624
msgid "@STRUCTS@"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1620
+#: ../src/guestfs.pod:1626
msgid "AVAILABILITY"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1622
+#: ../src/guestfs.pod:1628
msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1624
+#: ../src/guestfs.pod:1630
msgid ""
"Using L</guestfs_available> you can test availability of the following "
"groups of functions. This test queries the appliance to see if the "
@@ -39067,17 +39212,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1629
+#: ../src/guestfs.pod:1635
msgid "@AVAILABILITY@"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1631
+#: ../src/guestfs.pod:1637
msgid "GUESTFISH supported COMMAND"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1633
+#: ../src/guestfs.pod:1639
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 "
@@ -39085,19 +39230,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1638
+#: ../src/guestfs.pod:1644
msgid "SINGLE CALLS AT COMPILE TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1640
+#: ../src/guestfs.pod:1646
msgid ""
"Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API "
"function, such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1643
+#: ../src/guestfs.pod:1649
#, no-wrap
msgid ""
" #define LIBGUESTFS_HAVE_DD 1\n"
@@ -39105,12 +39250,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1645
+#: ../src/guestfs.pod:1651
msgid "if L</guestfs_dd> is available."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1647
+#: ../src/guestfs.pod:1653
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 "
@@ -39118,7 +39263,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1652
+#: ../src/guestfs.pod:1658
#, no-wrap
msgid ""
" AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -39127,19 +39272,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1655
+#: ../src/guestfs.pod:1661
msgid ""
"which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
"in your program."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1658
+#: ../src/guestfs.pod:1664
msgid "SINGLE CALLS AT RUN TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1660
+#: ../src/guestfs.pod:1666
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 "
@@ -39149,7 +39294,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1667
+#: ../src/guestfs.pod:1673
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 "
@@ -39157,7 +39302,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1671
+#: ../src/guestfs.pod:1677
#, no-wrap
msgid ""
" #include <stdio.h>\n"
@@ -39169,7 +39314,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1677
+#: ../src/guestfs.pod:1683
#, no-wrap
msgid ""
" main ()\n"
@@ -39181,7 +39326,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1683
+#: ../src/guestfs.pod:1689
#, no-wrap
msgid ""
" /* Test if the function guestfs_dd is really available. */\n"
@@ -39196,7 +39341,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1692
+#: ../src/guestfs.pod:1698
#, no-wrap
msgid ""
" if (!has_function)\n"
@@ -39215,7 +39360,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1705
+#: ../src/guestfs.pod:1711
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 "
@@ -39223,7 +39368,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1710
+#: ../src/guestfs.pod:1716
#, no-wrap
msgid ""
" Requires: libguestfs >= 1.0.80\n"
@@ -39231,12 +39376,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1712
+#: ../src/guestfs.pod:1718
msgid "CALLS WITH OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1714
+#: ../src/guestfs.pod:1720
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 "
@@ -39244,7 +39389,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1719
+#: ../src/guestfs.pod:1725
#, no-wrap
msgid ""
" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -39252,14 +39397,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1721
+#: ../src/guestfs.pod:1727
msgid ""
"Call this with a list of optional arguments, terminated by C<-1>. So to "
"call with no optional arguments specified:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1724
+#: ../src/guestfs.pod:1730
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename, -1);\n"
@@ -39267,12 +39412,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1726
+#: ../src/guestfs.pod:1732
msgid "With a single optional argument:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1728
+#: ../src/guestfs.pod:1734
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -39282,12 +39427,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1732
+#: ../src/guestfs.pod:1738
msgid "With two:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1734
+#: ../src/guestfs.pod:1740
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -39298,19 +39443,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1739
+#: ../src/guestfs.pod:1745
msgid ""
"and so forth. Don't forget the terminating C<-1> otherwise Bad Things will "
"happen!"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1742
+#: ../src/guestfs.pod:1748
msgid "USING va_list FOR OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1744
+#: ../src/guestfs.pod:1750
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 "
@@ -39318,7 +39463,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1748
+#: ../src/guestfs.pod:1754
#, no-wrap
msgid ""
" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -39327,12 +39472,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1751
+#: ../src/guestfs.pod:1757
msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1753
+#: ../src/guestfs.pod:1759
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 "
@@ -39342,7 +39487,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1759
+#: ../src/guestfs.pod:1765
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv {\n"
@@ -39357,12 +39502,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1768
+#: ../src/guestfs.pod:1774
msgid "You could call it like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1770
+#: ../src/guestfs.pod:1776
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -39375,7 +39520,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1777
+#: ../src/guestfs.pod:1783
#, no-wrap
msgid ""
" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -39383,29 +39528,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1785
+#: ../src/guestfs.pod:1791
msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1790
+#: ../src/guestfs.pod:1796
msgid "You do not need to fill in all fields of the structure."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1794
+#: ../src/guestfs.pod:1800
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 ""
#. type: =head2
-#: ../src/guestfs.pod:1799
+#: ../src/guestfs.pod:1805
msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1801
+#: ../src/guestfs.pod:1807
msgid ""
"In other languages, optional arguments are expressed in the way that is "
"natural for that language. We refer you to the language-specific "
@@ -39413,17 +39558,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1805
+#: ../src/guestfs.pod:1811
msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1807
+#: ../src/guestfs.pod:1813
msgid "SETTING CALLBACKS TO HANDLE EVENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1809
+#: ../src/guestfs.pod:1815
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 "
@@ -39435,7 +39580,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1818
+#: ../src/guestfs.pod:1824
msgid ""
"Handles generate events when certain things happen, such as log messages "
"being generated, progress messages during long-running operations, or the "
@@ -39447,7 +39592,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1826
+#: ../src/guestfs.pod:1832
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 "
@@ -39456,31 +39601,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1831
+#: ../src/guestfs.pod:1837
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 ""
#. type: =head3
-#: ../src/guestfs.pod:1835
+#: ../src/guestfs.pod:1841
msgid "CLASSES OF EVENTS"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1839
+#: ../src/guestfs.pod:1845
msgid "GUESTFS_EVENT_CLOSE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1842
+#: ../src/guestfs.pod:1848
msgid ""
"The callback function will be called while the handle is being closed "
"(synchronously from L</guestfs_close>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1845
+#: ../src/guestfs.pod:1851
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 "
@@ -39491,19 +39636,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1852
+#: ../src/guestfs.pod:1858
msgid ""
"If no callback is registered: the handle is closed without any callback "
"being invoked."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1855
+#: ../src/guestfs.pod:1861
msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1858
+#: ../src/guestfs.pod:1864
msgid ""
"The callback function will be called when the child process quits, either "
"asynchronously or if killed by L</guestfs_kill_subprocess>. (This "
@@ -39511,17 +39656,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1862 ../src/guestfs.pod:1871 ../src/guestfs.pod:1988
+#: ../src/guestfs.pod:1868 ../src/guestfs.pod:1877 ../src/guestfs.pod:1994
msgid "If no callback is registered: the event is ignored."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1864
+#: ../src/guestfs.pod:1870
msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1867
+#: ../src/guestfs.pod:1873
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 "
@@ -39529,12 +39674,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1873
+#: ../src/guestfs.pod:1879
msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1876
+#: ../src/guestfs.pod:1882
msgid ""
"Some long-running operations can generate progress messages. If this "
"callback is registered, then it will be called each time a progress message "
@@ -39544,14 +39689,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1882
+#: ../src/guestfs.pod:1888
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1885
+#: ../src/guestfs.pod:1891
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 "
@@ -39560,24 +39705,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1890
+#: ../src/guestfs.pod:1896
msgid "The only defined and stable parts of the API are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1896
+#: ../src/guestfs.pod:1902
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1901
+#: ../src/guestfs.pod:1907
msgid "0 E<lt>= C<position> E<lt>= C<total>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1905
+#: ../src/guestfs.pod:1911
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 "
@@ -39585,7 +39730,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1909
+#: ../src/guestfs.pod:1915
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 "
@@ -39593,7 +39738,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1915
+#: ../src/guestfs.pod:1921
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 "
@@ -39602,7 +39747,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1920
+#: ../src/guestfs.pod:1926
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 "
@@ -39610,14 +39755,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1924
+#: ../src/guestfs.pod:1930
msgid ""
"As noted above, if the call fails with an error then the final message may "
"not be generated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1929
+#: ../src/guestfs.pod:1935
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 "
@@ -39626,31 +39771,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1935
+#: ../src/guestfs.pod:1941
msgid "If no callback is registered: progress messages are discarded."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1937
+#: ../src/guestfs.pod:1943
msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1940
+#: ../src/guestfs.pod:1946
msgid ""
"The callback function is called whenever a log message is generated by qemu, "
"the appliance kernel, guestfsd (daemon), or utility programs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1943
+#: ../src/guestfs.pod:1949
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set before launch "
"(L</guestfs_launch>) then additional debug messages are generated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1946 ../src/guestfs.pod:1960
+#: ../src/guestfs.pod:1952 ../src/guestfs.pod:1966
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 "
@@ -39658,62 +39803,62 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1951
+#: ../src/guestfs.pod:1957
msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1954
+#: ../src/guestfs.pod:1960
msgid ""
"The callback function is called whenever a log message is generated by the "
"library part of libguestfs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1957
+#: ../src/guestfs.pod:1963
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set then additional debug "
"messages are generated."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1965
+#: ../src/guestfs.pod:1971
msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1968
+#: ../src/guestfs.pod:1974
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1971
+#: ../src/guestfs.pod:1977
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 ""
#. type: =item
-#: ../src/guestfs.pod:1975
+#: ../src/guestfs.pod:1981
msgid "GUESTFS_EVENT_ENTER (payload type: function name)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1978
+#: ../src/guestfs.pod:1984
msgid "The callback function is called whenever a libguestfs function is entered."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1981
+#: ../src/guestfs.pod:1987
msgid ""
"The payload is a string which contains the name of the function that we are "
"entering (not including C<guestfs_> prefix)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1984
+#: ../src/guestfs.pod:1990
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 "
@@ -39721,12 +39866,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1992
+#: ../src/guestfs.pod:1998
msgid "guestfs_set_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1994
+#: ../src/guestfs.pod:2000
#, no-wrap
msgid ""
" int guestfs_set_event_callback (guestfs_h *g,\n"
@@ -39738,14 +39883,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2000
+#: ../src/guestfs.pod:2006
msgid ""
"This function registers a callback (C<cb>) for all event classes in the "
"C<event_bitmask>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2003
+#: ../src/guestfs.pod:2009
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>. "
@@ -39754,40 +39899,40 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2009
+#: ../src/guestfs.pod:2015
msgid "C<flags> should always be passed as 0."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2011
+#: ../src/guestfs.pod:2017
msgid ""
"C<opaque> is an opaque pointer which is passed to the callback. You can use "
"it for any purpose."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2014
+#: ../src/guestfs.pod:2020
msgid ""
"The return value is the event handle (an integer) which you can use to "
"delete the callback (see below)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2017
+#: ../src/guestfs.pod:2023
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 ""
#. type: textblock
-#: ../src/guestfs.pod:2020
+#: ../src/guestfs.pod:2026
msgid ""
"Callbacks remain in effect until they are deleted, or until the handle is "
"closed."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2023
+#: ../src/guestfs.pod:2029
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 "
@@ -39795,12 +39940,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2027
+#: ../src/guestfs.pod:2033
msgid "guestfs_delete_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2029
+#: ../src/guestfs.pod:2035
#, no-wrap
msgid ""
" void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n"
@@ -39808,7 +39953,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2031
+#: ../src/guestfs.pod:2037
msgid ""
"Delete a callback that was previously registered. C<event_handle> should be "
"the integer that was returned by a previous call to "
@@ -39816,12 +39961,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2035
+#: ../src/guestfs.pod:2041
msgid "guestfs_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2037
+#: ../src/guestfs.pod:2043
#, no-wrap
msgid ""
" typedef void (*guestfs_event_callback) (\n"
@@ -39836,12 +39981,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2046
+#: ../src/guestfs.pod:2052
msgid "This is the type of the event callback function that you have to provide."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2049
+#: ../src/guestfs.pod:2055
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 "
@@ -39849,7 +39994,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2053
+#: ../src/guestfs.pod:2059
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 "
@@ -39858,7 +40003,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2058
+#: ../src/guestfs.pod:2064
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 "
@@ -39866,19 +40011,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2062
+#: ../src/guestfs.pod:2068
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 ""
#. type: =head3
-#: ../src/guestfs.pod:2065
+#: ../src/guestfs.pod:2071
msgid "EXAMPLE: CAPTURING LOG MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2067
+#: ../src/guestfs.pod:2073
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 "
@@ -39886,7 +40031,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2071
+#: ../src/guestfs.pod:2077
msgid ""
"Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, "
"C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error "
@@ -39894,14 +40039,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2076
+#: ../src/guestfs.pod:2082
msgid ""
"Programs have to set up a callback to capture the classes of events of "
"interest:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2079
+#: ../src/guestfs.pod:2085
#, no-wrap
msgid ""
" int eh =\n"
@@ -39917,14 +40062,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2089
+#: ../src/guestfs.pod:2095
msgid ""
"The callback can then direct messages to the appropriate place. In this "
"example, messages are directed to syslog:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2092
+#: ../src/guestfs.pod:2098
#, no-wrap
msgid ""
" static void\n"
@@ -39945,12 +40090,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2107
+#: ../src/guestfs.pod:2113
msgid "CANCELLING LONG TRANSFERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2109
+#: ../src/guestfs.pod:2115
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 "
@@ -39959,12 +40104,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2114
+#: ../src/guestfs.pod:2120
msgid "guestfs_user_cancel"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2116
+#: ../src/guestfs.pod:2122
#, no-wrap
msgid ""
" void guestfs_user_cancel (guestfs_h *g);\n"
@@ -39972,12 +40117,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2118
+#: ../src/guestfs.pod:2124
msgid "C<guestfs_user_cancel> cancels the current upload or download operation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2121
+#: ../src/guestfs.pod:2127
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 "
@@ -39985,7 +40130,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2125
+#: ../src/guestfs.pod:2131
msgid ""
"The transfer that was in progress (if there is one) will stop shortly "
"afterwards, and will return an error. The errno (see "
@@ -39994,7 +40139,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2131
+#: ../src/guestfs.pod:2137
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 "
@@ -40002,12 +40147,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2135
+#: ../src/guestfs.pod:2141
msgid "There are two common places that you might call C<guestfs_user_cancel>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2137
+#: ../src/guestfs.pod:2143
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 "
@@ -40016,19 +40161,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2142
+#: ../src/guestfs.pod:2148
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 ""
#. type: =head1
-#: ../src/guestfs.pod:2146
+#: ../src/guestfs.pod:2152
msgid "PRIVATE DATA AREA"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2148
+#: ../src/guestfs.pod:2154
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 "
@@ -40036,12 +40181,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2153
+#: ../src/guestfs.pod:2159
msgid "To attach a named piece of data, use the following call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2155
+#: ../src/guestfs.pod:2161
#, no-wrap
msgid ""
" void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -40049,7 +40194,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2157
+#: ../src/guestfs.pod:2163
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 "
@@ -40057,7 +40202,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2161
+#: ../src/guestfs.pod:2167
msgid ""
"You can use any C<key> you want, but your key should I<not> start with an "
"underscore character. Keys beginning with an underscore character are "
@@ -40067,12 +40212,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2167
+#: ../src/guestfs.pod:2173
msgid "To retrieve the pointer, use:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2169
+#: ../src/guestfs.pod:2175
#, no-wrap
msgid ""
" void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -40080,7 +40225,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2171
+#: ../src/guestfs.pod:2177
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 "
@@ -40088,7 +40233,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2175
+#: ../src/guestfs.pod:2181
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 "
@@ -40099,12 +40244,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2182
+#: ../src/guestfs.pod:2188
msgid "To walk over all entries, use these two functions:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2184
+#: ../src/guestfs.pod:2190
#, no-wrap
msgid ""
" void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n"
@@ -40112,7 +40257,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2186
+#: ../src/guestfs.pod:2192
#, no-wrap
msgid ""
" void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n"
@@ -40120,7 +40265,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2188
+#: ../src/guestfs.pod:2194
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 "
@@ -40130,7 +40275,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2194
+#: ../src/guestfs.pod:2200
msgid ""
"C<guestfs_next_private> returns the next key, pointer pair. The return "
"value of this function is also C<NULL> is there are no further entries to "
@@ -40138,17 +40283,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2198
+#: ../src/guestfs.pod:2204
msgid "Notes about walking over entries:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2204
+#: ../src/guestfs.pod:2210
msgid "You must not call C<guestfs_set_private> while walking over the entries."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2209
+#: ../src/guestfs.pod:2215
msgid ""
"The handle maintains an internal iterator which is reset when you call "
"C<guestfs_first_private>. This internal iterator is invalidated when you "
@@ -40156,12 +40301,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2215
+#: ../src/guestfs.pod:2221
msgid "If you have set the data pointer associated with a key to C<NULL>, ie:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2217
+#: ../src/guestfs.pod:2223
#, no-wrap
msgid ""
" guestfs_set_private (g, key, NULL);\n"
@@ -40169,26 +40314,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2219
+#: ../src/guestfs.pod:2225
msgid "then that C<key> is not returned when walking."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2223
+#: ../src/guestfs.pod:2229
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 ""
#. type: textblock
-#: ../src/guestfs.pod:2229
+#: ../src/guestfs.pod:2235
msgid ""
"The following example code shows how to print all keys and data pointers "
"that are associated with the handle C<g>:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2232
+#: ../src/guestfs.pod:2238
#, no-wrap
msgid ""
" const char *key;\n"
@@ -40202,14 +40347,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2240
+#: ../src/guestfs.pod:2246
msgid ""
"More commonly you are only interested in keys that begin with an "
"application-specific prefix C<foo_>. Modify the loop like so:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2243
+#: ../src/guestfs.pod:2249
#, no-wrap
msgid ""
" const char *key;\n"
@@ -40224,7 +40369,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2252
+#: ../src/guestfs.pod:2258
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 "
@@ -40232,7 +40377,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2256
+#: ../src/guestfs.pod:2262
#, no-wrap
msgid ""
" const char *key;\n"
@@ -40254,7 +40399,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2272
+#: ../src/guestfs.pod:2278
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 "
@@ -40263,12 +40408,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2277
+#: ../src/guestfs.pod:2283
msgid "SYSTEMTAP"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2279
+#: ../src/guestfs.pod:2285
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 "
@@ -40276,12 +40421,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2283
+#: ../src/guestfs.pod:2289
msgid "You can list all the static markers by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2285
+#: ../src/guestfs.pod:2291
#, no-wrap
msgid ""
" stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n"
@@ -40290,26 +40435,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2288
+#: ../src/guestfs.pod:2294
msgid ""
"B<Note:> These static markers are I<not> part of the stable API and may "
"change in future versions."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2291
+#: ../src/guestfs.pod:2297
msgid "SYSTEMTAP SCRIPT EXAMPLE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2293
+#: ../src/guestfs.pod:2299
msgid ""
"This script contains examples of displaying both the static markers and some "
"ordinary C entry points:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2296
+#: ../src/guestfs.pod:2302
#, no-wrap
msgid ""
" global last;\n"
@@ -40317,7 +40462,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2298
+#: ../src/guestfs.pod:2304
#, no-wrap
msgid ""
" function display_time () {\n"
@@ -40330,7 +40475,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2305
+#: ../src/guestfs.pod:2311
#, no-wrap
msgid ""
" printf (\"%d (+%d):\", now, delta);\n"
@@ -40339,7 +40484,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2308
+#: ../src/guestfs.pod:2314
#, no-wrap
msgid ""
" probe begin {\n"
@@ -40350,7 +40495,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2313
+#: ../src/guestfs.pod:2319
#, no-wrap
msgid ""
" /* Display all calls to static markers. */\n"
@@ -40363,7 +40508,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2320
+#: ../src/guestfs.pod:2326
#, no-wrap
msgid ""
" /* Display all calls to guestfs_mkfs* functions. */\n"
@@ -40376,7 +40521,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2327
+#: ../src/guestfs.pod:2333
msgid ""
"The script above can be saved to C<test.stap> and run using the L<stap(1)> "
"program. Note that you either have to be root, or you have to add yourself "
@@ -40385,7 +40530,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2332
+#: ../src/guestfs.pod:2338
#, no-wrap
msgid ""
" # stap /tmp/test.stap\n"
@@ -40394,17 +40539,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2335
+#: ../src/guestfs.pod:2341
msgid "In another terminal, run a guestfish command such as this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2339
+#: ../src/guestfs.pod:2345
msgid "In the first terminal, stap trace output similar to this is shown:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2341
+#: ../src/guestfs.pod:2347
#, no-wrap
msgid ""
" 1318248056692655 (+0):\tlaunch_start\n"
@@ -40418,24 +40563,24 @@ msgid ""
msgstr ""
#. type: =end
-#: ../src/guestfs.pod:2348 ../src/guestfs.pod:2353
+#: ../src/guestfs.pod:2354 ../src/guestfs.pod:2359
msgid "html"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2350
+#: ../src/guestfs.pod:2356
msgid ""
"<!-- old anchor for the next section --> <a "
"name=\"state_machine_and_low_level_event_api\"/>"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2355
+#: ../src/guestfs.pod:2361
msgid "ARCHITECTURE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2357
+#: ../src/guestfs.pod:2363
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 "
@@ -40443,7 +40588,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2361
+#: ../src/guestfs.pod:2367
#, no-wrap
msgid ""
" ___________________\n"
@@ -40469,14 +40614,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2381
+#: ../src/guestfs.pod:2387
msgid ""
"The library, linked to the main program, creates the child process and hence "
"the appliance in the L</guestfs_launch> function."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2384
+#: ../src/guestfs.pod:2390
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 "
@@ -40488,7 +40633,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2393
+#: ../src/guestfs.pod:2399
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 "
@@ -40499,17 +40644,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2400
+#: ../src/guestfs.pod:2406
msgid "STATE MACHINE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2402
+#: ../src/guestfs.pod:2408
msgid "libguestfs uses a state machine to model the child process:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2404
+#: ../src/guestfs.pod:2410
#, no-wrap
msgid ""
" |\n"
@@ -40537,7 +40682,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2426
+#: ../src/guestfs.pod:2432
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), "
@@ -40546,7 +40691,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2431
+#: ../src/guestfs.pod:2437
msgid ""
"The guest may be killed by L</guestfs_kill_subprocess>, or may die "
"asynchronously at any time (eg. due to some internal error), and that causes "
@@ -40554,14 +40699,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2435
+#: ../src/guestfs.pod:2441
msgid ""
"Configuration commands for qemu such as L</guestfs_add_drive> can only be "
"issued when in the CONFIG state."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2438
+#: ../src/guestfs.pod:2444
msgid ""
"The API offers one call that goes from CONFIG through LAUNCHING to READY. "
"L</guestfs_launch> blocks until the child process is READY to accept "
@@ -40570,7 +40715,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2444
+#: ../src/guestfs.pod:2450
msgid ""
"API actions such as L</guestfs_mount> can only be issued when in the READY "
"state. These API calls block waiting for the command to be carried out "
@@ -40580,7 +40725,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2450
+#: ../src/guestfs.pod:2456
msgid ""
"Finally, the child process sends asynchronous messages back to the main "
"program, such as kernel log messages. You can register a callback to "
@@ -40588,17 +40733,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2454
+#: ../src/guestfs.pod:2460
msgid "INTERNALS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2456
+#: ../src/guestfs.pod:2462
msgid "APPLIANCE BOOT PROCESS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2458
+#: ../src/guestfs.pod:2464
msgid ""
"This process has evolved and continues to evolve. The description here "
"corresponds only to the current version of libguestfs and is provided for "
@@ -40606,55 +40751,55 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2462
+#: ../src/guestfs.pod:2468
msgid ""
"In order to follow the stages involved below, enable libguestfs debugging "
"(set the environment variable C<LIBGUESTFS_DEBUG=1>)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2467
+#: ../src/guestfs.pod:2473
msgid "Create the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2469
+#: ../src/guestfs.pod:2475
msgid ""
"C<febootstrap-supermin-helper> is invoked to create the kernel, a small "
"initrd and the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2472
+#: ../src/guestfs.pod:2478
msgid ""
"The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another "
"directory if C<TMPDIR> is set)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2475
+#: ../src/guestfs.pod:2481
msgid ""
"For a complete description of how the appliance is created and cached, read "
"the L<febootstrap(8)> and L<febootstrap-supermin-helper(8)> man pages."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2479
+#: ../src/guestfs.pod:2485
msgid "Start qemu and boot the kernel"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2481
+#: ../src/guestfs.pod:2487
msgid "qemu is invoked to boot the kernel."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2483
+#: ../src/guestfs.pod:2489
msgid "Run the initrd"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2485
+#: ../src/guestfs.pod:2491
msgid ""
"C<febootstrap-supermin-helper> builds a small initrd. The initrd is not the "
"appliance. The purpose of the initrd is to load enough kernel modules in "
@@ -40662,21 +40807,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2489
+#: ../src/guestfs.pod:2495
msgid ""
"The initrd is a cpio archive called "
"C</var/tmp/.guestfs-E<lt>UIDE<gt>/initrd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2492
+#: ../src/guestfs.pod:2498
msgid ""
"When the initrd has started you will see messages showing that kernel "
"modules are being loaded, similar to this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2495
+#: ../src/guestfs.pod:2501
#, no-wrap
msgid ""
" febootstrap: ext2 mini initrd starting up\n"
@@ -40687,12 +40832,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2500
+#: ../src/guestfs.pod:2506
msgid "Find and mount the appliance device"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2502
+#: ../src/guestfs.pod:2508
msgid ""
"The appliance is a sparse file containing an ext2 filesystem which contains "
"a familiar (although reduced in size) Linux operating system. It would "
@@ -40700,33 +40845,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2506
+#: ../src/guestfs.pod:2512
msgid ""
"The regular disks being inspected by libguestfs are the first devices "
"exposed by qemu (eg. as C</dev/vda>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2509
+#: ../src/guestfs.pod:2515
msgid ""
"The last disk added to qemu is the appliance itself (eg. C</dev/vdb> if "
"there was only one regular disk)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2512
+#: ../src/guestfs.pod:2518
msgid ""
"Thus the final job of the initrd is to locate the appliance disk, mount it, "
"and switch root into the appliance, and run C</init> from the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2516
+#: ../src/guestfs.pod:2522
msgid "If this works successfully you will see messages such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2518
+#: ../src/guestfs.pod:2524
#, no-wrap
msgid ""
" febootstrap: picked /sys/block/vdb/dev as root device\n"
@@ -40738,19 +40883,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2524
+#: ../src/guestfs.pod:2530
msgid ""
"Note that C<Starting /init script ...> indicates that the appliance's init "
"script is now running."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2527
+#: ../src/guestfs.pod:2533
msgid "Initialize the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2529
+#: ../src/guestfs.pod:2535
msgid ""
"The appliance itself now initializes itself. This involves starting certain "
"processes like C<udev>, possibly printing some debug information, and "
@@ -40758,19 +40903,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2533
+#: ../src/guestfs.pod:2539
msgid "The daemon"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2535
+#: ../src/guestfs.pod:2541
msgid ""
"Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you "
"should see:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2538
+#: ../src/guestfs.pod:2544
#, no-wrap
msgid ""
" verbose daemon enabled\n"
@@ -40778,14 +40923,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2540
+#: ../src/guestfs.pod:2546
msgid ""
"The daemon expects to see a named virtio-serial port exposed by qemu and "
"connected on the other end to the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2543
+#: ../src/guestfs.pod:2549
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 "
@@ -40793,19 +40938,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2549
+#: ../src/guestfs.pod:2555
msgid "COMMUNICATION PROTOCOL"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2551
+#: ../src/guestfs.pod:2557
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
-#: ../src/guestfs.pod:2554
+#: ../src/guestfs.pod:2560
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 "
@@ -40813,14 +40958,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2558
+#: ../src/guestfs.pod:2564
msgid ""
"The detailed format of structures is in C<src/guestfs_protocol.x> (note: "
"this file is automatically generated)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2561
+#: ../src/guestfs.pod:2567
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 "
@@ -40830,17 +40975,17 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2568
+#: ../src/guestfs.pod:2574
msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2570
+#: ../src/guestfs.pod:2576
msgid "For ordinary functions, the request message is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2572
+#: ../src/guestfs.pod:2578
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -40851,7 +40996,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2577
+#: ../src/guestfs.pod:2583
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 "
@@ -40860,21 +41005,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2583
+#: ../src/guestfs.pod:2589
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
-#: ../src/guestfs.pod:2586
+#: ../src/guestfs.pod:2592
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 ""
#. type: textblock
-#: ../src/guestfs.pod:2590
+#: ../src/guestfs.pod:2596
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 "
@@ -40886,12 +41031,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2598
+#: ../src/guestfs.pod:2604
msgid "The reply message for ordinary functions is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2600
+#: ../src/guestfs.pod:2606
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -40902,26 +41047,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2605
+#: ../src/guestfs.pod:2611
msgid ""
"As above the C<guestfs_I<foo>_ret> structure may be completely omitted for "
"functions that return no formal return values."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2608
+#: ../src/guestfs.pod:2614
msgid "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2611
+#: ../src/guestfs.pod:2617
msgid ""
"In the case of an error, a flag is set in the header, and the reply message "
"is slightly changed:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2614
+#: ../src/guestfs.pod:2620
#, no-wrap
msgid ""
" total length (header + error,\n"
@@ -40932,19 +41077,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2619
+#: ../src/guestfs.pod:2625
msgid ""
"The C<guestfs_message_error> structure contains the error message as a "
"string."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2622
+#: ../src/guestfs.pod:2628
msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2624
+#: ../src/guestfs.pod:2630
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 "
@@ -40952,7 +41097,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2628
+#: ../src/guestfs.pod:2634
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -40966,12 +41111,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2636
+#: ../src/guestfs.pod:2642
msgid "The \"sequence of chunks\" is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2638
+#: ../src/guestfs.pod:2644
#, no-wrap
msgid ""
" length of chunk (not including length word itself)\n"
@@ -40985,7 +41130,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2646
+#: ../src/guestfs.pod:2652
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 "
@@ -40993,7 +41138,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2650
+#: ../src/guestfs.pod:2656
msgid ""
"At time of writing there are no functions that have more than one FileIn "
"parameter. However this is (theoretically) supported, by sending the "
@@ -41002,7 +41147,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2655
+#: ../src/guestfs.pod:2661
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 "
@@ -41011,7 +41156,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2661
+#: ../src/guestfs.pod:2667
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 "
@@ -41023,7 +41168,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2670
+#: ../src/guestfs.pod:2676
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 "
@@ -41033,19 +41178,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2676
+#: ../src/guestfs.pod:2682
msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2678
+#: ../src/guestfs.pod:2684
msgid ""
"The protocol for FileOut parameters is exactly the same as for FileIn "
"parameters, but with the roles of daemon and library reversed."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2681
+#: ../src/guestfs.pod:2687
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -41059,12 +41204,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2689
+#: ../src/guestfs.pod:2695
msgid "INITIAL MESSAGE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2691
+#: ../src/guestfs.pod:2697
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 "
@@ -41072,12 +41217,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2695
+#: ../src/guestfs.pod:2701
msgid "PROGRESS NOTIFICATION MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2697
+#: ../src/guestfs.pod:2703
msgid ""
"The daemon may send progress notification messages at any time. These are "
"distinguished by the normal length word being replaced by "
@@ -41085,7 +41230,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2701
+#: ../src/guestfs.pod:2707
msgid ""
"The library turns them into progress callbacks (see "
"L</GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards "
@@ -41093,7 +41238,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2705
+#: ../src/guestfs.pod:2711
msgid ""
"The daemon self-limits the frequency of progress messages it sends (see "
"C<daemon/proto.c:notify_progress>). Not all calls generate progress "
@@ -41101,12 +41246,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2709
+#: ../src/guestfs.pod:2715
msgid "LIBGUESTFS VERSION NUMBERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2711
+#: ../src/guestfs.pod:2717
msgid ""
"Since April 2010, libguestfs has started to make separate development and "
"stable releases, along with corresponding branches in our git repository. "
@@ -41114,7 +41259,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2716
+#: ../src/guestfs.pod:2722
#, no-wrap
msgid ""
" even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -41131,12 +41276,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2727
+#: ../src/guestfs.pod:2733
msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2729
+#: ../src/guestfs.pod:2735
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 "
@@ -41146,26 +41291,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2735
+#: ../src/guestfs.pod:2741
msgid "Our criteria for backporting changes are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2741
+#: ../src/guestfs.pod:2747
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
-#: ../src/guestfs.pod:2747
+#: ../src/guestfs.pod:2753
msgid ""
"Bug fixes which are not controversial, fix obvious problems, and have been "
"well tested are backported."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2752
+#: ../src/guestfs.pod:2758
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 "
@@ -41173,7 +41318,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2758
+#: ../src/guestfs.pod:2764
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 "
@@ -41181,7 +41326,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2764
+#: ../src/guestfs.pod:2770
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 "
@@ -41192,17 +41337,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2772
+#: ../src/guestfs.pod:2778
msgid "EXTENDING LIBGUESTFS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2774
+#: ../src/guestfs.pod:2780
msgid "ADDING A NEW API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2776
+#: ../src/guestfs.pod:2782
msgid ""
"Large amounts of boilerplate code in libguestfs (RPC, bindings, "
"documentation) are generated, and this makes it easy to extend the "
@@ -41210,19 +41355,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2780
+#: ../src/guestfs.pod:2786
msgid "To add a new API action there are two changes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2786
+#: ../src/guestfs.pod:2792
msgid ""
"You need to add a description of the call (name, parameters, return type, "
"tests, documentation) to C<generator/generator_actions.ml>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2789
+#: ../src/guestfs.pod:2795
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 "
@@ -41233,7 +41378,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2797
+#: ../src/guestfs.pod:2803
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 "
@@ -41243,7 +41388,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2803
+#: ../src/guestfs.pod:2809
msgid ""
"For library-only actions of the second type, add to the "
"C<non_daemon_functions> list. Since these functions are serviced by the "
@@ -41253,36 +41398,36 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2811
+#: ../src/guestfs.pod:2817
msgid "Implement the action (in C):"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2813
+#: ../src/guestfs.pod:2819
msgid ""
"For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the "
"C<daemon/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2816
+#: ../src/guestfs.pod:2822
msgid ""
"For library actions, implement the function C<guestfs__E<lt>nameE<gt>> "
"(note: double underscore) in the C<src/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2819
+#: ../src/guestfs.pod:2825
msgid "In either case, use another function as an example of what to do."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2823
+#: ../src/guestfs.pod:2829
msgid "After making these changes, use C<make> to compile."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2825
+#: ../src/guestfs.pod:2831
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 "
@@ -41290,12 +41435,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2829
+#: ../src/guestfs.pod:2835
msgid "ADDING TESTS FOR AN API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2831
+#: ../src/guestfs.pod:2837
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 "
@@ -41305,61 +41450,61 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2838
+#: ../src/guestfs.pod:2844
msgid ""
"The following describes the test environment used when you add an API test "
"in C<generator_actions.ml>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2841
+#: ../src/guestfs.pod:2847
msgid "The test environment has 4 block devices:"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2845
+#: ../src/guestfs.pod:2851
msgid "C</dev/sda> 500MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2847
+#: ../src/guestfs.pod:2853
msgid "General block device for testing."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2849
+#: ../src/guestfs.pod:2855
msgid "C</dev/sdb> 50MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2851
+#: ../src/guestfs.pod:2857
msgid ""
"C</dev/sdb1> is an ext2 filesystem used for testing filesystem write "
"operations."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2854
+#: ../src/guestfs.pod:2860
msgid "C</dev/sdc> 10MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2856
+#: ../src/guestfs.pod:2862
msgid "Used in a few tests where two block devices are needed."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2858
+#: ../src/guestfs.pod:2864
msgid "C</dev/sdd>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2860
+#: ../src/guestfs.pod:2866
msgid "ISO with fixed content (see C<images/test.iso>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2864
+#: ../src/guestfs.pod:2870
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 "
@@ -41367,7 +41512,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2868
+#: ../src/guestfs.pod:2874
msgid ""
"Each test starts with an initial scenario, selected using one of the "
"C<Init*> expressions, described in C<generator/generator_types.ml>. These "
@@ -41377,7 +41522,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2874
+#: ../src/guestfs.pod:2880
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 "
@@ -41387,14 +41532,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2880
+#: ../src/guestfs.pod:2886
msgid ""
"In addition, packagers can skip individual tests by setting environment "
"variables before running C<make check>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2883
+#: ../src/guestfs.pod:2889
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>_<NUM>=1\n"
@@ -41402,12 +41547,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2885
+#: ../src/guestfs.pod:2891
msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2889
+#: ../src/guestfs.pod:2895
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>=1\n"
@@ -41415,17 +41560,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2891
+#: ../src/guestfs.pod:2897
msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2893
+#: ../src/guestfs.pod:2899
msgid "Packagers can run only certain tests by setting for example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2895
+#: ../src/guestfs.pod:2901
#, no-wrap
msgid ""
" TEST_ONLY=\"vfs_type zerofree\"\n"
@@ -41433,29 +41578,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2897
+#: ../src/guestfs.pod:2903
msgid ""
"See C<tests/c-api/tests.c> for more details of how these environment "
"variables work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2900
+#: ../src/guestfs.pod:2906
msgid "DEBUGGING NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2902
+#: ../src/guestfs.pod:2908
msgid "Test new actions work before submitting them."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2904
+#: ../src/guestfs.pod:2910
msgid "You can use guestfish to try out new commands."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2906
+#: ../src/guestfs.pod:2912
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 "
@@ -41463,12 +41608,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2910
+#: ../src/guestfs.pod:2916
msgid "FORMATTING CODE AND OTHER CONVENTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2912
+#: ../src/guestfs.pod:2918
msgid ""
"Our C source code generally adheres to some basic code-formatting "
"conventions. The existing code base is not totally consistent on this "
@@ -41478,14 +41623,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2918
+#: ../src/guestfs.pod:2924
msgid ""
"If you use Emacs, add the following to one of one of your start-up files "
"(e.g., ~/.emacs), to help ensure that you get indentation right:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2921
+#: ../src/guestfs.pod:2927
#, no-wrap
msgid ""
" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
@@ -41501,7 +41646,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2931
+#: ../src/guestfs.pod:2937
#, no-wrap
msgid ""
" ;;; When editing C sources in libguestfs, use this style.\n"
@@ -41519,12 +41664,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2943
+#: ../src/guestfs.pod:2949
msgid "Enable warnings when compiling (and fix any problems this finds):"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2946
+#: ../src/guestfs.pod:2952
#, no-wrap
msgid ""
" ./configure --enable-gcc-warnings\n"
@@ -41532,12 +41677,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2948
+#: ../src/guestfs.pod:2954
msgid "Useful targets are:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2950
+#: ../src/guestfs.pod:2956
#, no-wrap
msgid ""
" make syntax-check -j1 -k # checks for various syntax and\n"
@@ -41546,7 +41691,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2953
+#: ../src/guestfs.pod:2959
#, no-wrap
msgid ""
" make check # runs the test suite\n"
@@ -41554,7 +41699,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2955
+#: ../src/guestfs.pod:2961
#, no-wrap
msgid ""
" make extra-tests # in-depth testing using valgrind\n"
@@ -41563,43 +41708,43 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2958
+#: ../src/guestfs.pod:2964
msgid "DAEMON CUSTOM PRINTF FORMATTERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2960
+#: ../src/guestfs.pod:2966
msgid ""
"In the daemon code we have created custom printf formatters C<%Q> and C<%R>, "
"which are used to do shell quoting."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2965
+#: ../src/guestfs.pod:2971
msgid "%Q"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2967
+#: ../src/guestfs.pod:2973
msgid ""
"Simple shell quoted string. Any spaces or other shell characters are "
"escaped for you."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2970
+#: ../src/guestfs.pod:2976
msgid "%R"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2972
+#: ../src/guestfs.pod:2978
msgid ""
"Same as C<%Q> except the string is treated as a path which is prefixed by "
"the sysroot."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2979
+#: ../src/guestfs.pod:2985
#, no-wrap
msgid ""
" asprintf (&cmd, \"cat %R\", path);\n"
@@ -41607,12 +41752,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2981
+#: ../src/guestfs.pod:2987
msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2983
+#: ../src/guestfs.pod:2989
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 "
@@ -41621,12 +41766,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2989
+#: ../src/guestfs.pod:2995
msgid "SUBMITTING YOUR NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2991
+#: ../src/guestfs.pod:2997
msgid ""
"Submit patches to the mailing list: "
"L<http://www.redhat.com/mailman/listinfo/libguestfs> and CC to "
@@ -41634,17 +41779,17 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2995
+#: ../src/guestfs.pod:3001
msgid "INTERNATIONALIZATION (I18N) SUPPORT"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2997
+#: ../src/guestfs.pod:3003
msgid "We support i18n (gettext anyhow) in the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2999
+#: ../src/guestfs.pod:3005
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 "
@@ -41653,115 +41798,115 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3005
+#: ../src/guestfs.pod:3011
msgid ""
"Debugging messages are never translated, since they are intended for the "
"programmers."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3008
+#: ../src/guestfs.pod:3014
msgid "SOURCE CODE SUBDIRECTORIES"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3012
+#: ../src/guestfs.pod:3018
msgid "C<align>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3014
+#: ../src/guestfs.pod:3020
msgid "L<virt-alignment-scan(1)> command and documentation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3018
+#: ../src/guestfs.pod:3024
msgid "The libguestfs appliance, build scripts and so on."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3020
+#: ../src/guestfs.pod:3026
msgid "C<cat>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3022
+#: ../src/guestfs.pod:3028
msgid ""
"The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and "
"documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3025
+#: ../src/guestfs.pod:3031
msgid "C<clone>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3027
+#: ../src/guestfs.pod:3033
msgid ""
"Tools for cloning virtual machines. Currently contains L<virt-sysprep(1)> "
"command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3030
+#: ../src/guestfs.pod:3036
msgid "C<contrib>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3032
+#: ../src/guestfs.pod:3038
msgid "Outside contributions, experimental parts."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3034
+#: ../src/guestfs.pod:3040
msgid "C<daemon>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3036
+#: ../src/guestfs.pod:3042
msgid ""
"The daemon that runs inside the libguestfs appliance and carries out "
"actions."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3039
+#: ../src/guestfs.pod:3045
msgid "C<df>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3041
+#: ../src/guestfs.pod:3047
msgid "L<virt-df(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3043
+#: ../src/guestfs.pod:3049
msgid "C<edit>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3045
+#: ../src/guestfs.pod:3051
msgid "L<virt-edit(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3047
+#: ../src/guestfs.pod:3053
msgid "C<examples>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3049
+#: ../src/guestfs.pod:3055
msgid "C API example code."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3051
+#: ../src/guestfs.pod:3057
msgid "C<fish>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3053
+#: ../src/guestfs.pod:3059
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)>, "
@@ -41769,79 +41914,79 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3059
+#: ../src/guestfs.pod:3065
msgid "L<virt-format(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3061
+#: ../src/guestfs.pod:3067
msgid "C<fuse>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3063
+#: ../src/guestfs.pod:3069
msgid "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3065
+#: ../src/guestfs.pod:3071
msgid "C<generator>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3067
+#: ../src/guestfs.pod:3073
msgid ""
"The crucially important generator, used to automatically generate large "
"amounts of boilerplate C code for things like RPC and bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3070
+#: ../src/guestfs.pod:3076
msgid "C<inspector>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3072
+#: ../src/guestfs.pod:3078
msgid "L<virt-inspector(1)>, the virtual machine image inspector."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3074
+#: ../src/guestfs.pod:3080
msgid "C<logo>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3076
+#: ../src/guestfs.pod:3082
msgid "Logo used on the website. The fish is called Arthur by the way."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3078
+#: ../src/guestfs.pod:3084
msgid "C<m4>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3080
+#: ../src/guestfs.pod:3086
msgid "M4 macros used by autoconf."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3082
+#: ../src/guestfs.pod:3088
msgid "C<po>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3084
+#: ../src/guestfs.pod:3090
msgid "Translations of simple gettext strings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3086
+#: ../src/guestfs.pod:3092
msgid "C<po-docs>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3088
+#: ../src/guestfs.pod:3094
msgid ""
"The build infrastructure and PO files for translations of manpages and POD "
"files. Eventually this will be combined with the C<po> directory, but that "
@@ -41849,139 +41994,139 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3092
+#: ../src/guestfs.pod:3098
msgid "C<rescue>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3094
+#: ../src/guestfs.pod:3100
msgid "L<virt-rescue(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3096
+#: ../src/guestfs.pod:3102
msgid "C<resize>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3098
+#: ../src/guestfs.pod:3104
msgid "L<virt-resize(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3100
+#: ../src/guestfs.pod:3106
msgid "C<sparsify>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3102
+#: ../src/guestfs.pod:3108
msgid "L<virt-sparsify(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3104
+#: ../src/guestfs.pod:3110
msgid "C<src>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3106
+#: ../src/guestfs.pod:3112
msgid "Source code to the C library."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3108
+#: ../src/guestfs.pod:3114
msgid "C<test-tool>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3110
+#: ../src/guestfs.pod:3116
msgid ""
"Test tool for end users to test if their qemu/kernel combination will work "
"with libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3113
+#: ../src/guestfs.pod:3119
msgid "C<tests>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3115
+#: ../src/guestfs.pod:3121
msgid "Tests."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3117
+#: ../src/guestfs.pod:3123
msgid "C<tools>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3119
+#: ../src/guestfs.pod:3125
msgid "Command line tools written in Perl (L<virt-win-reg(1)> and many others)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3121
+#: ../src/guestfs.pod:3127
msgid "C<csharp>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3123
+#: ../src/guestfs.pod:3129
msgid "C<erlang>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3125
+#: ../src/guestfs.pod:3131
msgid "C<gobject>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3127
+#: ../src/guestfs.pod:3133
msgid "C<haskell>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3129
+#: ../src/guestfs.pod:3135
msgid "C<java>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3131
+#: ../src/guestfs.pod:3137
msgid "C<ocaml>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3133
+#: ../src/guestfs.pod:3139
msgid "C<php>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3135
+#: ../src/guestfs.pod:3141
msgid "C<perl>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3137
+#: ../src/guestfs.pod:3143
msgid "C<python>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3139
+#: ../src/guestfs.pod:3145
msgid "C<ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3141
+#: ../src/guestfs.pod:3147
msgid "Language bindings."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3145
+#: ../src/guestfs.pod:3151
msgid "MAKING A STABLE RELEASE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3147
+#: ../src/guestfs.pod:3153
msgid ""
"When we make a stable release, there are several steps documented here. See "
"L</LIBGUESTFS VERSION NUMBERS> for general information about the stable "
@@ -41989,32 +42134,32 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3155
+#: ../src/guestfs.pod:3161
msgid "Check C<make && make check> works on at least Fedora, Debian and Ubuntu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3160
+#: ../src/guestfs.pod:3166
msgid "Finalize RELEASE-NOTES."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3164
+#: ../src/guestfs.pod:3170
msgid "Update ROADMAP."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3168
+#: ../src/guestfs.pod:3174
msgid "Run C<src/api-support/update-from-tarballs.sh>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3172
+#: ../src/guestfs.pod:3178
msgid "Push and pull from Transifex."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3176
+#: ../src/guestfs.pod:3182
#, no-wrap
msgid ""
" tx push -s\n"
@@ -42022,12 +42167,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3178
+#: ../src/guestfs.pod:3184
msgid "to push the latest POT files to Transifex. Then run:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3180
+#: ../src/guestfs.pod:3186
#, no-wrap
msgid ""
" ./tx-pull.sh\n"
@@ -42035,24 +42180,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3182
+#: ../src/guestfs.pod:3188
msgid "which is a wrapper to pull the latest translated C<*.po> files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3186
+#: ../src/guestfs.pod:3192
msgid ""
"Create new stable and development directories under "
"L<http://libguestfs.org/download>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3191
+#: ../src/guestfs.pod:3197
msgid "Create the branch in git:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3193
+#: ../src/guestfs.pod:3199
#, no-wrap
msgid ""
" git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n"
@@ -42063,17 +42208,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:3200
+#: ../src/guestfs.pod:3206
msgid "LIMITS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3202
+#: ../src/guestfs.pod:3208
msgid "PROTOCOL LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3204
+#: ../src/guestfs.pod:3210
msgid ""
"Internally libguestfs uses a message-based protocol to pass API calls and "
"their responses to and from a small \"appliance\" (see L</INTERNALS> for "
@@ -42084,7 +42229,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3212
+#: ../src/guestfs.pod:3218
msgid ""
"A simple call such as L</guestfs_cat> returns its result (the file data) in "
"a simple string. Because this string is at some point internally encoded as "
@@ -42093,7 +42238,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3218
+#: ../src/guestfs.pod:3224
msgid ""
"In order to transfer large files into and out of the guest filesystem, you "
"need to use particular calls that support this. The sections L</UPLOADING> "
@@ -42101,24 +42246,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3222
+#: ../src/guestfs.pod:3228
msgid ""
"You might also consider mounting the disk image using our FUSE filesystem "
"support (L<guestmount(1)>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3225
+#: ../src/guestfs.pod:3231
msgid "MAXIMUM NUMBER OF DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3227
+#: ../src/guestfs.pod:3233
msgid "When using virtio disks (the default) the current limit is B<25> disks."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3230
+#: ../src/guestfs.pod:3236
msgid ""
"Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 "
"slots. However febootstrap only understands disks with names C</dev/vda> "
@@ -42127,14 +42272,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3235
+#: ../src/guestfs.pod:3241
msgid ""
"We are working to substantially raise this limit in future versions but it "
"requires complex changes to qemu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3238
+#: ../src/guestfs.pod:3244
msgid ""
"In future versions of libguestfs it should also be possible to \"hot plug\" "
"disks (add and remove disks after calling L</guestfs_launch>). This also "
@@ -42142,41 +42287,41 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3242
+#: ../src/guestfs.pod:3248
msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3244
+#: ../src/guestfs.pod:3250
msgid "Virtio limits the maximum number of partitions per disk to B<15>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3246
+#: ../src/guestfs.pod:3252
msgid ""
"This is because it reserves 4 bits for the minor device number (thus "
"C</dev/vda>, and C</dev/vda1> through C</dev/vda15>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3249
+#: ../src/guestfs.pod:3255
msgid ""
"If you attach a disk with more than 15 partitions, the extra partitions are "
"ignored by libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3252
+#: ../src/guestfs.pod:3258
msgid "MAXIMUM SIZE OF A DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3254
+#: ../src/guestfs.pod:3260
msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3256
+#: ../src/guestfs.pod:3262
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 "
@@ -42184,7 +42329,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3260
+#: ../src/guestfs.pod:3266
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 "
@@ -42194,19 +42339,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3266
+#: ../src/guestfs.pod:3272
msgid ""
"For the hugest disk image files, we recommend using XFS on the host for "
"storage."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3269
+#: ../src/guestfs.pod:3275
msgid "MAXIMUM SIZE OF A PARTITION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3271
+#: ../src/guestfs.pod:3277
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 "
@@ -42214,7 +42359,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3275
+#: ../src/guestfs.pod:3281
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 "
@@ -42222,12 +42367,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3280
+#: ../src/guestfs.pod:3286
msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3282
+#: ../src/guestfs.pod:3288
msgid ""
"This depends on the filesystem type. libguestfs itself does not impose any "
"known limit. Consult Wikipedia or the filesystem documentation to find out "
@@ -42235,12 +42380,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3286
+#: ../src/guestfs.pod:3292
msgid "MAXIMUM UPLOAD AND DOWNLOAD"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3288
+#: ../src/guestfs.pod:3294
msgid ""
"The API functions L</guestfs_upload>, L</guestfs_download>, "
"L</guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized "
@@ -42248,12 +42393,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3292
+#: ../src/guestfs.pod:3298
msgid "INSPECTION LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3294
+#: ../src/guestfs.pod:3300
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 "
@@ -42263,33 +42408,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3320
+#: ../src/guestfs.pod:3326
msgid ""
"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same "
"effect as calling C<guestfs_set_verbose (g, 1)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3332
+#: ../src/guestfs.pod:3338
msgid ""
"Set the path that libguestfs uses to search for a supermin appliance. See "
"the discussion of paths in section L</PATH> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3341
+#: ../src/guestfs.pod:3347
msgid "See also L</QEMU WRAPPERS> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3345
+#: ../src/guestfs.pod:3351
msgid ""
"Set C<LIBGUESTFS_TRACE=1> to enable command traces. This has the same "
"effect as calling C<guestfs_set_trace (g, 1)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3363
+#: ../src/guestfs.pod:3369
msgid ""
"L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, "
"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, "
@@ -42306,7 +42451,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3402
+#: ../src/guestfs.pod:3408
msgid ""
"Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, "
"L<lvm(8)>, L<disktype(1)>."
@@ -42340,14 +42485,6 @@ msgstr ""
msgid "If you suspect a problem in libguestfs, then just run:"
msgstr ""
-#. type: verbatim
-#: ../test-tool/libguestfs-test-tool.pod:21
-#, no-wrap
-msgid ""
-" libguestfs-test-tool\n"
-"\n"
-msgstr ""
-
#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:23
msgid "It will print lots of diagnostic messages."
@@ -43521,88 +43658,88 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:556
+#: ../tools/virt-win-reg.pl:546
msgid "SUPPORTED SYSTEMS"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:558
+#: ../tools/virt-win-reg.pl:548
msgid ""
"The program currently supports Windows NT-derived guests starting with "
"Windows XP through to at least Windows 7."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:561
+#: ../tools/virt-win-reg.pl:551
msgid "The following Registry keys are supported:"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:565
+#: ../tools/virt-win-reg.pl:555
msgid "C<HKEY_LOCAL_MACHINE\\SAM>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:567
+#: ../tools/virt-win-reg.pl:557
msgid "C<HKEY_LOCAL_MACHINE\\SECURITY>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:569
+#: ../tools/virt-win-reg.pl:559
msgid "C<HKEY_LOCAL_MACHINE\\SOFTWARE>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:571
+#: ../tools/virt-win-reg.pl:561
msgid "C<HKEY_LOCAL_MACHINE\\SYSTEM>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:573
+#: ../tools/virt-win-reg.pl:563
msgid "C<HKEY_USERS\\.DEFAULT>"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:575
+#: ../tools/virt-win-reg.pl:565
msgid "C<HKEY_USERS\\I<SID>>"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:577
+#: ../tools/virt-win-reg.pl:567
msgid "where I<SID> is a Windows User SID (eg. C<S-1-5-18>)."
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:579
+#: ../tools/virt-win-reg.pl:569
msgid "C<HKEY_USERS\\I<username>>"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:581
+#: ../tools/virt-win-reg.pl:571
msgid "where I<username> is a local user name (this is a libguestfs extension)."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:585
+#: ../tools/virt-win-reg.pl:575
msgid ""
"You can use C<HKLM> as a shorthand for C<HKEY_LOCAL_MACHINE>, and C<HKU> for "
"C<HKEY_USERS>."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:588
+#: ../tools/virt-win-reg.pl:578
msgid ""
"The literal keys C<HKEY_USERS\\$SID> and C<HKEY_CURRENT_USER> are not "
"supported (there is no \"current user\")."
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:591
+#: ../tools/virt-win-reg.pl:581
msgid "ENCODING"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:593
+#: ../tools/virt-win-reg.pl:583
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 "
@@ -43612,14 +43749,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:599
+#: ../tools/virt-win-reg.pl:589
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 ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:602
+#: ../tools/virt-win-reg.pl:592
#, no-wrap
msgid ""
" iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg\n"
@@ -43627,14 +43764,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:604
+#: ../tools/virt-win-reg.pl:594
msgid ""
"To go in the opposite direction, after exporting and before sending the file "
"to a Windows user, do something like this:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:607
+#: ../tools/virt-win-reg.pl:597
#, no-wrap
msgid ""
" unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg\n"
@@ -43642,12 +43779,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:609
+#: ../tools/virt-win-reg.pl:599
msgid "For more information about encoding, see L<Win::Hivex::Regedit(3)>."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:611
+#: ../tools/virt-win-reg.pl:601
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 "
@@ -43655,7 +43792,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:615
+#: ../tools/virt-win-reg.pl:605
#, no-wrap
msgid ""
" $ file software.reg\n"
@@ -43665,17 +43802,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:619
+#: ../tools/virt-win-reg.pl:609
msgid "This file would need conversion before you could I<--merge> it."
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:621
+#: ../tools/virt-win-reg.pl:611
msgid "CurrentControlSet etc."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:623
+#: ../tools/virt-win-reg.pl:613
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 "
@@ -43683,7 +43820,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:627
+#: ../tools/virt-win-reg.pl:617
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 "
@@ -43691,7 +43828,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:631
+#: ../tools/virt-win-reg.pl:621
#, no-wrap
msgid ""
" # virt-win-reg WindowsGuest 'HKLM\\SYSTEM\\Select'\n"
@@ -43704,27 +43841,27 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:638
+#: ../tools/virt-win-reg.pl:628
msgid "\"Current\" is the one which Windows will choose when it boots."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:640
+#: ../tools/virt-win-reg.pl:630
msgid "Similarly, other C<Current...> keys in the path may need to be replaced."
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:643
+#: ../tools/virt-win-reg.pl:633
msgid "DELETING REGISTRY KEYS AND VALUES"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:645
+#: ../tools/virt-win-reg.pl:635
msgid "To delete a whole registry key, use the syntax:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:647
+#: ../tools/virt-win-reg.pl:637
#, no-wrap
msgid ""
" [-HKEY_LOCAL_MACHINE\\Foo]\n"
@@ -43732,12 +43869,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:649
+#: ../tools/virt-win-reg.pl:639
msgid "To delete a single value within a key, use the syntax:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:651
+#: ../tools/virt-win-reg.pl:641
#, no-wrap
msgid ""
" [HKEY_LOCAL_MACHINE\\Foo]\n"
@@ -43746,24 +43883,24 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:654
+#: ../tools/virt-win-reg.pl:644
msgid "WINDOWS TIPS"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:656
+#: ../tools/virt-win-reg.pl:646
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 ""
#. type: =head2
-#: ../tools/virt-win-reg.pl:659
+#: ../tools/virt-win-reg.pl:649
msgid "RUNNING A BATCH SCRIPT WHEN A USER LOGS IN"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:661
+#: ../tools/virt-win-reg.pl:651
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 "
@@ -43771,7 +43908,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:665
+#: ../tools/virt-win-reg.pl:655
#, no-wrap
msgid ""
" guestfish -i -d WindowsGuest upload test.bat /test.bat\n"
@@ -43779,12 +43916,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:667
+#: ../tools/virt-win-reg.pl:657
msgid "Prepare a regedit file containing the registry change:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:669
+#: ../tools/virt-win-reg.pl:659
#, no-wrap
msgid ""
" cat > test.reg <<'EOF'\n"
@@ -43795,7 +43932,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:674
+#: ../tools/virt-win-reg.pl:664
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 "
@@ -43803,12 +43940,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:678
+#: ../tools/virt-win-reg.pl:668
msgid "Now update the registry:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:680
+#: ../tools/virt-win-reg.pl:670
#, no-wrap
msgid ""
" virt-win-reg --merge WindowsGuest test.reg\n"
@@ -43816,12 +43953,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../tools/virt-win-reg.pl:682
+#: ../tools/virt-win-reg.pl:672
msgid "INSTALLING A SERVICE"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:684
+#: ../tools/virt-win-reg.pl:674
msgid ""
"This section assumes you are familiar with Windows services, and you either "
"have a program which handles the Windows Service Control Protocol directly "
@@ -43830,7 +43967,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:689
+#: ../tools/virt-win-reg.pl:679
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 "
@@ -43838,7 +43975,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:693
+#: ../tools/virt-win-reg.pl:683
#, no-wrap
msgid ""
" guestfish -i -d WindowsGuest <<EOF\n"
@@ -43849,7 +43986,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:698
+#: ../tools/virt-win-reg.pl:688
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 "
@@ -43858,7 +43995,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:703
+#: ../tools/virt-win-reg.pl:693
#, no-wrap
msgid ""
" cat > service.reg <<'EOF'\n"
@@ -43873,7 +44010,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:712
+#: ../tools/virt-win-reg.pl:702
#, no-wrap
msgid ""
" [HKLM\\SYSTEM\\ControlSet001\\services\\RHSrvAny\\Parameters]\n"
@@ -43884,7 +44021,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:723
+#: ../tools/virt-win-reg.pl:713
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 "
@@ -43892,7 +44029,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:729
+#: ../tools/virt-win-reg.pl:719
msgid ""
"C<\"ObjectName\"> controls the privileges that the service will have. An "
"alternative is C<\"ObjectName\"=\"LocalSystem\"> which would be the most "
@@ -43900,19 +44037,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:735
+#: ../tools/virt-win-reg.pl:725
msgid ""
"For the meaning of the magic numbers, see this Microsoft KB article: "
"L<http://support.microsoft.com/kb/103000>."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:740
+#: ../tools/virt-win-reg.pl:730
msgid "Update the registry:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:742
+#: ../tools/virt-win-reg.pl:732
#, no-wrap
msgid ""
" virt-win-reg --merge WindowsGuest service.reg\n"
@@ -43920,7 +44057,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:746
+#: ../tools/virt-win-reg.pl:736
msgid ""
"Be careful when passing parameters containing C<\\> (backslash) in the "
"shell. Usually you will have to use 'single quotes' or double backslashes "
@@ -43928,12 +44065,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:750
+#: ../tools/virt-win-reg.pl:740
msgid "Paths and value names are case-insensitive."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:759
+#: ../tools/virt-win-reg.pl:749
msgid ""
"L<hivex(3)>, L<hivexsh(1)>, L<hivexregedit(1)>, L<guestfs(3)>, "
"L<guestfish(1)>, L<virt-cat(1)>, L<Sys::Guestfs(3)>, "
@@ -43942,6 +44079,6 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:778
+#: ../tools/virt-win-reg.pl:768
msgid "Copyright (C) 2010 Red Hat Inc."
msgstr ""
diff --git a/po-docs/uk.po b/po-docs/uk.po
index 487f2cd6..931522a7 100644
--- a/po-docs/uk.po
+++ b/po-docs/uk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2012-09-19 15:19+0200\n"
+"POT-Creation-Date: 2012-10-01 16:29+0200\n"
"PO-Revision-Date: 2012-01-23 13:10+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@@ -464,7 +464,7 @@ msgstr ""
#: ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242
#: ../fish/guestfish.pod:673 ../format/virt-format.pod:96
#: ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:161
-#: ../src/guestfs.pod:2977
+#: ../src/guestfs.pod:2983
msgid "For example:"
msgstr "Приклад:"
@@ -916,7 +916,7 @@ msgstr ""
#: ../rescue/virt-rescue.pod:303 ../resize/virt-resize.pod:690
#: ../tools/virt-list-filesystems.pl:190 ../tools/virt-list-partitions.pl:260
#: ../tools/virt-make-fs.pl:572 ../tools/virt-tar.pl:287
-#: ../tools/virt-win-reg.pl:744
+#: ../tools/virt-win-reg.pl:734
msgid "SHELL QUOTING"
msgstr ""
@@ -928,7 +928,7 @@ msgstr ""
#: ../rescue/virt-rescue.pod:305 ../resize/virt-resize.pod:692
#: ../tools/virt-list-filesystems.pl:192 ../tools/virt-list-partitions.pl:262
#: ../tools/virt-make-fs.pl:574 ../tools/virt-tar.pl:289
-#: ../tools/virt-win-reg.pl:752
+#: ../tools/virt-win-reg.pl:742
msgid ""
"Libvirt guest names can contain arbitrary characters, some of which have "
"meaning to the shell such as C<#> and space. You may need to quote or "
@@ -966,13 +966,13 @@ msgstr "Ця програма повертає:"
#: ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266
#: ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276
#: ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291
-#: ../examples/guestfs-recipes.pod:131 ../examples/guestfs-recipes.pod:135
-#: ../examples/guestfs-recipes.pod:139 ../examples/guestfs-recipes.pod:165
-#: ../examples/guestfs-recipes.pod:170 ../examples/guestfs-recipes.pod:260
-#: ../examples/guestfs-recipes.pod:264 ../examples/guestfs-recipes.pod:268
-#: ../examples/guestfs-recipes.pod:272 ../examples/guestfs-recipes.pod:276
-#: ../examples/guestfs-testing.pod:110 ../examples/guestfs-testing.pod:114
-#: ../examples/guestfs-testing.pod:118 ../fish/guestfish-actions.pod:13
+#: ../examples/guestfs-recipes.pod:133 ../examples/guestfs-recipes.pod:137
+#: ../examples/guestfs-recipes.pod:141 ../examples/guestfs-recipes.pod:167
+#: ../examples/guestfs-recipes.pod:172 ../examples/guestfs-recipes.pod:262
+#: ../examples/guestfs-recipes.pod:266 ../examples/guestfs-recipes.pod:270
+#: ../examples/guestfs-recipes.pod:274 ../examples/guestfs-recipes.pod:278
+#: ../examples/guestfs-testing.pod:124 ../examples/guestfs-testing.pod:128
+#: ../examples/guestfs-testing.pod:132 ../fish/guestfish-actions.pod:13
#: ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:444
#: ../fish/guestfish-actions.pod:452 ../fish/guestfish-actions.pod:459
#: ../fish/guestfish-actions.pod:466 ../fish/guestfish-actions.pod:1336
@@ -1012,25 +1012,25 @@ msgstr "Ця програма повертає:"
#: ../src/guestfs-actions.pod:2899 ../src/guestfs-actions.pod:3442
#: ../src/guestfs-actions.pod:3448 ../src/guestfs-actions.pod:3456
#: ../src/guestfs-actions.pod:3463 ../src/guestfs-actions.pod:3470
-#: ../src/guestfs.pod:382 ../src/guestfs.pod:387 ../src/guestfs.pod:392
-#: ../src/guestfs.pod:396 ../src/guestfs.pod:401 ../src/guestfs.pod:405
-#: ../src/guestfs.pod:410 ../src/guestfs.pod:415 ../src/guestfs.pod:1117
-#: ../src/guestfs.pod:1121 ../src/guestfs.pod:1125 ../src/guestfs.pod:1130
-#: ../src/guestfs.pod:1138 ../src/guestfs.pod:1157 ../src/guestfs.pod:1165
-#: ../src/guestfs.pod:1182 ../src/guestfs.pod:1187 ../src/guestfs.pod:1191
-#: ../src/guestfs.pod:1248 ../src/guestfs.pod:1252 ../src/guestfs.pod:1256
-#: ../src/guestfs.pod:1260 ../src/guestfs.pod:1264 ../src/guestfs.pod:1268
-#: ../src/guestfs.pod:1783 ../src/guestfs.pod:1788 ../src/guestfs.pod:1792
-#: ../src/guestfs.pod:1894 ../src/guestfs.pod:1899 ../src/guestfs.pod:1903
-#: ../src/guestfs.pod:1913 ../src/guestfs.pod:2202 ../src/guestfs.pod:2207
-#: ../src/guestfs.pod:2213 ../src/guestfs.pod:2221 ../src/guestfs.pod:2739
-#: ../src/guestfs.pod:2745 ../src/guestfs.pod:2750 ../src/guestfs.pod:2756
-#: ../src/guestfs.pod:3153 ../src/guestfs.pod:3158 ../src/guestfs.pod:3162
-#: ../src/guestfs.pod:3166 ../src/guestfs.pod:3170 ../src/guestfs.pod:3184
-#: ../src/guestfs.pod:3189 ../tools/virt-win-reg.pl:197
+#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398
+#: ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411
+#: ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1123
+#: ../src/guestfs.pod:1127 ../src/guestfs.pod:1131 ../src/guestfs.pod:1136
+#: ../src/guestfs.pod:1144 ../src/guestfs.pod:1163 ../src/guestfs.pod:1171
+#: ../src/guestfs.pod:1188 ../src/guestfs.pod:1193 ../src/guestfs.pod:1197
+#: ../src/guestfs.pod:1254 ../src/guestfs.pod:1258 ../src/guestfs.pod:1262
+#: ../src/guestfs.pod:1266 ../src/guestfs.pod:1270 ../src/guestfs.pod:1274
+#: ../src/guestfs.pod:1789 ../src/guestfs.pod:1794 ../src/guestfs.pod:1798
+#: ../src/guestfs.pod:1900 ../src/guestfs.pod:1905 ../src/guestfs.pod:1909
+#: ../src/guestfs.pod:1919 ../src/guestfs.pod:2208 ../src/guestfs.pod:2213
+#: ../src/guestfs.pod:2219 ../src/guestfs.pod:2227 ../src/guestfs.pod:2745
+#: ../src/guestfs.pod:2751 ../src/guestfs.pod:2756 ../src/guestfs.pod:2762
+#: ../src/guestfs.pod:3159 ../src/guestfs.pod:3164 ../src/guestfs.pod:3168
+#: ../src/guestfs.pod:3172 ../src/guestfs.pod:3176 ../src/guestfs.pod:3190
+#: ../src/guestfs.pod:3195 ../tools/virt-win-reg.pl:197
#: ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208
-#: ../tools/virt-win-reg.pl:721 ../tools/virt-win-reg.pl:727
-#: ../tools/virt-win-reg.pl:733
+#: ../tools/virt-win-reg.pl:711 ../tools/virt-win-reg.pl:717
+#: ../tools/virt-win-reg.pl:723
msgid "*"
msgstr "*"
@@ -1046,7 +1046,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:332 ../src/guestfs.pod:1440
+#: ../align/virt-alignment-scan.pod:332 ../src/guestfs.pod:1446
msgid "1"
msgstr "1"
@@ -1056,7 +1056,7 @@ msgid "an error scanning the disk image or guest"
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:338 ../src/guestfs.pod:1444
+#: ../align/virt-alignment-scan.pod:338 ../src/guestfs.pod:1450
msgid "2"
msgstr "2"
@@ -1068,7 +1068,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:345 ../src/guestfs.pod:1448
+#: ../align/virt-alignment-scan.pod:345 ../src/guestfs.pod:1454
msgid "3"
msgstr "3"
@@ -1084,8 +1084,8 @@ msgstr ""
#: ../cat/virt-filesystems.pod:385 ../cat/virt-ls.pod:495
#: ../clone/virt-sysprep.pod:486 ../df/virt-df.pod:253
#: ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97
-#: ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:422
-#: ../examples/guestfs-testing.pod:291 ../fish/guestfish.pod:1268
+#: ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:475
+#: ../examples/guestfs-testing.pod:305 ../fish/guestfish.pod:1268
#: ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39
#: ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41
#: ../format/virt-format.pod:177 ../fuse/guestmount.pod:396
@@ -1093,11 +1093,11 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:40
#: ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:325
#: ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36
-#: ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3361
+#: ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3367
#: ../test-tool/libguestfs-test-tool.pod:106
#: ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267
#: ../tools/virt-make-fs.pl:579 ../tools/virt-tar.pl:294
-#: ../tools/virt-win-reg.pl:757
+#: ../tools/virt-win-reg.pl:747
msgid "SEE ALSO"
msgstr "ТАКОЖ ПЕРЕГЛЯНЬТЕ"
@@ -1118,7 +1118,7 @@ msgstr ""
#: ../rescue/virt-rescue.pod:334 ../resize/virt-resize.pod:725
#: ../sparsify/virt-sparsify.pod:297 ../tools/virt-list-filesystems.pl:210
#: ../tools/virt-list-partitions.pl:279 ../tools/virt-make-fs.pl:594
-#: ../tools/virt-tar.pl:309 ../tools/virt-win-reg.pl:772
+#: ../tools/virt-tar.pl:309 ../tools/virt-win-reg.pl:762
msgid "AUTHOR"
msgstr "АВТОР"
@@ -1131,7 +1131,7 @@ msgstr "АВТОР"
#: ../resize/virt-resize.pod:727 ../sparsify/virt-sparsify.pod:299
#: ../tools/virt-list-filesystems.pl:212 ../tools/virt-list-partitions.pl:281
#: ../tools/virt-make-fs.pl:596 ../tools/virt-tar.pl:311
-#: ../tools/virt-win-reg.pl:774
+#: ../tools/virt-win-reg.pl:764
msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
@@ -1140,8 +1140,8 @@ msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
#: ../cat/virt-filesystems.pod:400 ../cat/virt-ls.pod:511
#: ../clone/virt-sysprep.pod:505 ../df/virt-df.pod:265
#: ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114
-#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:439
-#: ../examples/guestfs-testing.pod:302 ../fish/guestfish.pod:1300
+#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:492
+#: ../examples/guestfs-testing.pod:316 ../fish/guestfish.pod:1300
#: ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53
#: ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55
#: ../format/virt-format.pod:191 ../fuse/guestmount.pod:411
@@ -1149,11 +1149,11 @@ msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
#: ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:57
#: ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:338
#: ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52
-#: ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3413
+#: ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3419
#: ../test-tool/libguestfs-test-tool.pod:116
#: ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283
#: ../tools/virt-make-fs.pl:598 ../tools/virt-tar.pl:313
-#: ../tools/virt-win-reg.pl:776
+#: ../tools/virt-win-reg.pl:766
msgid "COPYRIGHT"
msgstr "АВТОРСЬКІ ПРАВА"
@@ -2386,7 +2386,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../cat/virt-ls.pod:41 ../examples/guestfs-testing.pod:182
+#: ../cat/virt-ls.pod:41 ../examples/guestfs-testing.pod:196
msgid "List all setuid or setgid programs in a Linux virtual machine:"
msgstr ""
@@ -2401,7 +2401,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../cat/virt-ls.pod:45 ../examples/guestfs-testing.pod:186
+#: ../cat/virt-ls.pod:45 ../examples/guestfs-testing.pod:200
msgid "List all public-writable directories in a Linux virtual machine:"
msgstr ""
@@ -2416,7 +2416,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../cat/virt-ls.pod:49 ../examples/guestfs-testing.pod:190
+#: ../cat/virt-ls.pod:49 ../examples/guestfs-testing.pod:204
msgid "List all Unix domain sockets in a Linux virtual machine:"
msgstr ""
@@ -2431,7 +2431,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../cat/virt-ls.pod:53 ../examples/guestfs-testing.pod:194
+#: ../cat/virt-ls.pod:53 ../examples/guestfs-testing.pod:208
msgid "List all regular files with filenames ending in '.png':"
msgstr ""
@@ -2461,7 +2461,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../cat/virt-ls.pod:61 ../examples/guestfs-testing.pod:202
+#: ../cat/virt-ls.pod:61 ../examples/guestfs-testing.pod:216
msgid "Find everything modified in the last 7 days:"
msgstr ""
@@ -2476,7 +2476,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../cat/virt-ls.pod:65 ../examples/guestfs-testing.pod:206
+#: ../cat/virt-ls.pod:65 ../examples/guestfs-testing.pod:220
msgid "Find regular files modified in the last 24 hours:"
msgstr ""
@@ -3093,9 +3093,9 @@ msgstr ""
#. type: textblock
#: ../cat/virt-ls.pod:513 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388
-#: ../examples/guestfs-recipes.pod:441 ../fish/guestfish.pod:1302
+#: ../examples/guestfs-recipes.pod:494 ../fish/guestfish.pod:1302
#: ../fuse/guestmount.pod:413 ../rescue/virt-rescue.pod:340
-#: ../src/guestfs.pod:3415 ../test-tool/libguestfs-test-tool.pod:118
+#: ../src/guestfs.pod:3421 ../test-tool/libguestfs-test-tool.pod:118
#: ../tools/virt-list-partitions.pl:285
msgid "Copyright (C) 2009-2012 Red Hat Inc."
msgstr ""
@@ -3794,7 +3794,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1233
+#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1239
msgid "SECURITY"
msgstr "БЕЗПЕКА"
@@ -4723,7 +4723,7 @@ msgstr ""
#. type: =head1
#: ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1119
#: ../rescue/virt-rescue.pod:298 ../sparsify/virt-sparsify.pod:257
-#: ../src/guestfs.pod:3300 ../test-tool/libguestfs-test-tool.pod:101
+#: ../src/guestfs.pod:3306 ../test-tool/libguestfs-test-tool.pod:101
msgid "ENVIRONMENT VARIABLES"
msgstr "ЗМІННІ СЕРЕДОВИЩА"
@@ -4985,36 +4985,36 @@ msgstr ""
#. type: =head1
#: ../erlang/examples/guestfs-erlang.pod:110
-#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:435
-#: ../examples/guestfs-testing.pod:298 ../fish/guestfish.pod:1296
+#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:488
+#: ../examples/guestfs-testing.pod:312 ../fish/guestfish.pod:1296
#: ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49
#: ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51
#: ../fuse/guestmount.pod:407 ../inspector/virt-inspector.pod:510
#: ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91
#: ../perl/examples/guestfs-perl.pod:53
#: ../python/examples/guestfs-python.pod:54
-#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3409
+#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3415
#: ../test-tool/libguestfs-test-tool.pod:112
msgid "AUTHORS"
msgstr "АВТОРИ"
#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:112
-#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:437
-#: ../examples/guestfs-testing.pod:300 ../fish/guestfish.pod:1298
+#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:490
+#: ../examples/guestfs-testing.pod:314 ../fish/guestfish.pod:1298
#: ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51
#: ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53
#: ../fuse/guestmount.pod:409 ../java/examples/guestfs-java.pod:60
#: ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:55
#: ../python/examples/guestfs-python.pod:56
-#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3411
+#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3417
#: ../test-tool/libguestfs-test-tool.pod:114
msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
msgstr "Richard W.M. Jones (C<rjones at redhat dot com>)"
#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:116
-#: ../examples/guestfs-testing.pod:304 ../fish/virt-copy-in.pod:66
+#: ../examples/guestfs-testing.pod:318 ../fish/virt-copy-in.pod:66
#: ../fish/virt-copy-out.pod:55 ../fish/virt-tar-in.pod:64
#: ../fish/virt-tar-out.pod:57 ../java/examples/guestfs-java.pod:64
#: ../perl/examples/guestfs-perl.pod:59 ../sparsify/virt-sparsify.pod:303
@@ -5411,38 +5411,45 @@ msgstr ""
msgid "To list the filesystems in a disk image, use L<virt-filesystems(1)>."
msgstr ""
-#. type: =head1
+#. type: textblock
#: ../examples/guestfs-recipes.pod:125
+#, fuzzy
+#| msgid "See also L</list-filesystems>."
+msgid "See also L</Uploading raw filesystem content>."
+msgstr "Див. також L</list-filesystems>."
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:127
msgid "Edit grub configuration in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:127
+#: ../examples/guestfs-recipes.pod:129
msgid "You can use this to:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:133
+#: ../examples/guestfs-recipes.pod:135
msgid "Fix a virtual machine that does not boot."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:137
+#: ../examples/guestfs-recipes.pod:139
msgid "Change which kernel is used to boot the VM."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:141
+#: ../examples/guestfs-recipes.pod:143
msgid "Change kernel command line options."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:145
+#: ../examples/guestfs-recipes.pod:147
msgid "Use L<virt-edit(1)> to edit the grub configuration:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:147
+#: ../examples/guestfs-recipes.pod:149
#, no-wrap
msgid ""
" virt-edit -d BrokenGuest /boot/grub/grub.conf\n"
@@ -5450,14 +5457,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:149
+#: ../examples/guestfs-recipes.pod:151
msgid ""
"or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like "
"this:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:152
+#: ../examples/guestfs-recipes.pod:154
#, no-wrap
msgid ""
" virt-rescue -d BrokenGuest\n"
@@ -5465,18 +5472,18 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:154
+#: ../examples/guestfs-recipes.pod:156
msgid "Export any directory from a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:156
+#: ../examples/guestfs-recipes.pod:158
msgid ""
"To export C</home> from a VM into a local directory use L<virt-copy-out(1)>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:159 ../examples/guestfs-testing.pod:93
+#: ../examples/guestfs-recipes.pod:161 ../examples/guestfs-testing.pod:107
#, no-wrap
msgid ""
" virt-copy-out -d Guest /home .\n"
@@ -5484,29 +5491,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:161 ../fish/guestfish-actions.pod:9
+#: ../examples/guestfs-recipes.pod:163 ../fish/guestfish-actions.pod:9
#: ../fish/guestfish-actions.pod:1524 ../fish/guestfish-actions.pod:1789
#: ../fish/guestfish-actions.pod:2204 ../src/guestfs-actions.pod:18
#: ../src/guestfs-actions.pod:2457 ../src/guestfs-actions.pod:2881
-#: ../src/guestfs-actions.pod:3438 ../src/guestfs.pod:1779
-#: ../tools/virt-win-reg.pl:717
+#: ../src/guestfs-actions.pod:3438 ../src/guestfs.pod:1785
+#: ../tools/virt-win-reg.pl:707
msgid "Notes:"
msgstr "Нотатки:"
#. type: textblock
-#: ../examples/guestfs-recipes.pod:167
+#: ../examples/guestfs-recipes.pod:169
msgid ""
"The final dot of the command is not a printing error. It means we want to "
"copy out to the current directory."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:172
+#: ../examples/guestfs-recipes.pod:174
msgid "This creates a directory called C<home> under the current directory."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:176
+#: ../examples/guestfs-recipes.pod:178
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 "
@@ -5514,7 +5521,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:180
+#: ../examples/guestfs-recipes.pod:182
#, no-wrap
msgid ""
" virt-copy-out -d WinGuest 'win:c:\\windows\\system32\\config' .\n"
@@ -5522,12 +5529,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:182
+#: ../examples/guestfs-recipes.pod:184
msgid "To get the output as a compressed tarball, do:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:184
+#: ../examples/guestfs-recipes.pod:186
#, no-wrap
msgid ""
" virt-tar-out -d Guest /home - | gzip --best > home.tar.gz\n"
@@ -5535,7 +5542,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:186
+#: ../examples/guestfs-recipes.pod:188
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."
@@ -5543,19 +5550,19 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:190
+#: ../examples/guestfs-recipes.pod:192
msgid "Find out which user is using the most space"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:192
+#: ../examples/guestfs-recipes.pod:194
msgid ""
"This simple script examines a Linux guest to find out which user is using "
"the most space in their home directory:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:195
+#: ../examples/guestfs-recipes.pod:197
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -5563,7 +5570,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:197 ../fish/guestfish.pod:984
+#: ../examples/guestfs-recipes.pod:199 ../fish/guestfish.pod:984
#, no-wrap
msgid ""
" set -e\n"
@@ -5571,7 +5578,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:199
+#: ../examples/guestfs-recipes.pod:201
#, no-wrap
msgid ""
" vm=\"$1\"\n"
@@ -5580,7 +5587,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:202
+#: ../examples/guestfs-recipes.pod:204
#, no-wrap
msgid ""
" eval $(guestfish --ro -d \"$vm\" -i --listen)\n"
@@ -5588,7 +5595,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:204
+#: ../examples/guestfs-recipes.pod:206
#, no-wrap
msgid ""
" for d in $(guestfish --remote ls \"$dir\"); do\n"
@@ -5600,7 +5607,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:210 ../fish/guestfish.pod:941
+#: ../examples/guestfs-recipes.pod:212 ../fish/guestfish.pod:941
#, no-wrap
msgid ""
" guestfish --remote exit\n"
@@ -5608,43 +5615,43 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:212
+#: ../examples/guestfs-recipes.pod:214
msgid "Get DHCP address from a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:214
+#: ../examples/guestfs-recipes.pod:216
msgid ""
"The link below explains the many different possible techniques for getting "
"the last assigned DHCP address of a virtual machine."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:217
+#: ../examples/guestfs-recipes.pod:219
msgid ""
"L<https://rwmj.wordpress.com/2011/03/31/tip-code-for-getting-dhcp-address-"
"from-a-virtual-machine-disk-image/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:219
+#: ../examples/guestfs-recipes.pod:221
msgid ""
"In the libguestfs source examples directory you will find the latest version "
"of the C<virt-dhcp-address.c> program."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:222
+#: ../examples/guestfs-recipes.pod:224
msgid "Get the operating system product name string"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:224
+#: ../examples/guestfs-recipes.pod:226
msgid "Save the following script into a file called C<product-name.sh>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:226
+#: ../examples/guestfs-recipes.pod:228
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -5657,12 +5664,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:233
+#: ../examples/guestfs-recipes.pod:235
msgid "Make the script executable and run it on a named guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:235
+#: ../examples/guestfs-recipes.pod:237
#, no-wrap
msgid ""
" # product-name.sh RHEL60x64\n"
@@ -5671,14 +5678,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:238
+#: ../examples/guestfs-recipes.pod:240
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 ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:242
+#: ../examples/guestfs-recipes.pod:244
#, no-wrap
msgid ""
" # virt-inspector RHEL60x64 > xml\n"
@@ -5690,68 +5697,150 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:248
+#: ../examples/guestfs-recipes.pod:250
msgid "Get the default boot kernel for a Linux VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:250
+#: ../examples/guestfs-recipes.pod:252
msgid ""
"The link below contains a program to print the default boot kernel for a "
"Linux VM."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:253
+#: ../examples/guestfs-recipes.pod:255
msgid ""
"L<https://rwmj.wordpress.com/2010/10/30/tip-use-augeas-to-get-the-default-"
"boot-kernel-for-a-vm/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:255
+#: ../examples/guestfs-recipes.pod:257
msgid ""
"It uses Augeas, and the technique is generally applicable for many different "
"tasks, such as:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:262
+#: ../examples/guestfs-recipes.pod:264
msgid "listing the user accounts in the guest"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:266
+#: ../examples/guestfs-recipes.pod:268
msgid "what repositories is it configured to use"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:270
+#: ../examples/guestfs-recipes.pod:272
msgid "what NTP servers does it connect to"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:274
+#: ../examples/guestfs-recipes.pod:276
msgid "what were the boot messages last time it booted"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:278
+#: ../examples/guestfs-recipes.pod:280
msgid "listing who was logged in recently"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:282
+#: ../examples/guestfs-recipes.pod:284
msgid "L<http://augeas.net/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:284
+#: ../examples/guestfs-recipes.pod:286
+msgid "Hanging guests"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:288
+msgid ""
+"There are various ways to use libguestfs to find out why a guest is hanging "
+"or unresponsive:"
+msgstr ""
+
+#. type: =item
+#: ../examples/guestfs-recipes.pod:293 ../resize/virt-resize.pod:31
+#: ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:228
+#: ../src/guestfs.pod:469 ../src/guestfs.pod:1208 ../src/guestfs.pod:1377
+#: ../src/guestfs.pod:1541 ../src/guestfs.pod:2790
+msgid "1."
+msgstr "1."
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:295
+msgid "Read the log files using virt-cat:"
+msgstr ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:297
+#, fuzzy, no-wrap
+#| msgid ""
+#| " virt-cat -a disk.img /var/log/messages | tail\n"
+#| "\n"
+msgid ""
+" virt-cat Guest /var/log/messages | less\n"
+"\n"
+msgstr ""
+" virt-cat -a disk.img /var/log/messages | tail\n"
+"\n"
+
+#. type: =item
+#: ../examples/guestfs-recipes.pod:299 ../resize/virt-resize.pod:44
+#: ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:235
+#: ../src/guestfs.pod:475 ../src/guestfs.pod:1212 ../src/guestfs.pod:1381
+#: ../src/guestfs.pod:1545 ../src/guestfs.pod:2815
+msgid "2."
+msgstr "2."
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:301
+msgid "Read the Windows Event Log (Windows Vista or later only):"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:303 ../examples/guestfs-recipes.pod:402
+msgid ""
+"L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-"
+"guestfish/#content>"
+msgstr ""
+
+#. type: =item
+#: ../examples/guestfs-recipes.pod:305 ../resize/virt-resize.pod:52
+#: ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:241
+#: ../src/guestfs.pod:486 ../src/guestfs.pod:1216 ../src/guestfs.pod:1551
+msgid "3."
+msgstr "3."
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:307
+msgid "Find out which files were last updated in a guest:"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:309
+msgid ""
+"L<https://rwmj.wordpress.com/2012/02/27/using-libguestfs-to-find-out-why-a-"
+"windows-guest-was-hanging/#content>"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:311
+msgid "This might give you a clue as to what program is running."
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:315
msgid "Install RPMs in a guest"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:286
+#: ../examples/guestfs-recipes.pod:317
msgid ""
"The link below contains a method to install RPMs in a guest. In fact the "
"RPMs are just uploaded to the guest along with a \"firstboot\" script that "
@@ -5760,23 +5849,23 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:292
+#: ../examples/guestfs-recipes.pod:323
msgid ""
"L<https://rwmj.wordpress.com/2010/12/01/tip-install-rpms-in-a-guest/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:294
+#: ../examples/guestfs-recipes.pod:325
msgid "List applications installed in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:296
+#: ../examples/guestfs-recipes.pod:327
msgid "Save the following to a file C<list-apps.sh>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:298
+#: ../examples/guestfs-recipes.pod:329
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -5789,14 +5878,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:305
+#: ../examples/guestfs-recipes.pod:336
msgid ""
"Make the file executable and then you can run it on any named virtual "
"machine:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:308
+#: ../examples/guestfs-recipes.pod:339
#, no-wrap
msgid ""
" # list-apps.sh WinGuest\n"
@@ -5832,7 +5921,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:338
+#: ../examples/guestfs-recipes.pod:369
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)"
@@ -5840,22 +5929,22 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:342
+#: ../examples/guestfs-recipes.pod:373
msgid "List files and directories in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:344
+#: ../examples/guestfs-recipes.pod:375
msgid "Use L<virt-ls(1)>."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:346
+#: ../examples/guestfs-recipes.pod:377
msgid "List services in a Windows VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:348
+#: ../examples/guestfs-recipes.pod:379
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 "
@@ -5863,73 +5952,66 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:352
+#: ../examples/guestfs-recipes.pod:383
msgid ""
"L<https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/"
"#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:354
+#: ../examples/guestfs-recipes.pod:385
msgid "Make a disk image sparse"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:356
+#: ../examples/guestfs-recipes.pod:387
msgid "Use L<virt-sparsify(1)>."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:358
+#: ../examples/guestfs-recipes.pod:389
msgid "Monitor disk usage over time"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:360
+#: ../examples/guestfs-recipes.pod:391
msgid ""
"You can use L<virt-df(1)> to monitor disk usage of your guests over time. "
"The link below contains a guide."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:363
+#: ../examples/guestfs-recipes.pod:394
msgid "L<http://virt-tools.org/learning/advanced-virt-df/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:365
+#: ../examples/guestfs-recipes.pod:396
msgid "Reading the Windows Event Log from Windows Vista (or later)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:367
+#: ../examples/guestfs-recipes.pod:398
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 ""
-#. type: textblock
-#: ../examples/guestfs-recipes.pod:371
-msgid ""
-"L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-"
-"guestfish/#content>"
-msgstr ""
-
#. type: =head1
-#: ../examples/guestfs-recipes.pod:373
+#: ../examples/guestfs-recipes.pod:404
msgid "Remove root password (Linux)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:375
+#: ../examples/guestfs-recipes.pod:406
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 ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:378
+#: ../examples/guestfs-recipes.pod:409
#, no-wrap
msgid ""
" virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n"
@@ -5937,12 +6019,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:380
+#: ../examples/guestfs-recipes.pod:411
msgid "Remove Administrator password (Windows)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:382
+#: ../examples/guestfs-recipes.pod:413
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 "
@@ -5950,19 +6032,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:387
+#: ../examples/guestfs-recipes.pod:418
msgid ""
"L<https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-"
"administrator-password-with-guestfish/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:389
+#: ../examples/guestfs-recipes.pod:420
msgid "Sysprepping a virtual machine (Windows)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:391
+#: ../examples/guestfs-recipes.pod:422
msgid ""
"It is possible to do a \"sysprep\" using libguestfs alone, although not "
"straightforward. Currently there is code in the Aeolus Oz project which "
@@ -5971,19 +6053,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:396
+#: ../examples/guestfs-recipes.pod:427
msgid ""
"L<https://github.com/clalancette/oz> L<https://www.redhat.com/archives/virt-"
"tools-list/2011-May/msg00019.html>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:399
+#: ../examples/guestfs-recipes.pod:430
msgid "Unpack a live CD"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:401
+#: ../examples/guestfs-recipes.pod:432
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 "
@@ -5991,52 +6073,124 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:405
+#: ../examples/guestfs-recipes.pod:436
msgid ""
"L<https://rwmj.wordpress.com/2009/07/15/unpack-the-russian-doll-of-a-f11-"
"live-cd/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:407
+#: ../examples/guestfs-recipes.pod:438
msgid "Uploading and downloading files"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:409
+#: ../examples/guestfs-recipes.pod:440
msgid ""
"The link below contains general tips on uploading (copying in) and "
"downloading (copying out) files from VMs."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:412
+#: ../examples/guestfs-recipes.pod:443
msgid ""
"L<https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/"
"#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:414
+#: ../examples/guestfs-recipes.pod:445
+msgid "Uploading raw filesystem content"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:447
+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 ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:451
+#, fuzzy, no-wrap
+#| msgid ""
+#| " guestfish [--ro] -i disk.img\n"
+#| "\n"
+msgid ""
+" guestfish --rw -a disk.img run : upload sda1.img /dev/sda1\n"
+"\n"
+msgstr ""
+" guestfish [--ro] -i disk.img\n"
+"\n"
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:453
+#, fuzzy, no-wrap
+#| msgid ""
+#| " guestfish -i -d WindowsGuest upload test.bat /test.bat\n"
+#| "\n"
+msgid ""
+" guestfish --rw -d Guest run : upload lv.img /dev/vg_guest/lv_root\n"
+"\n"
+msgstr ""
+" guestfish -i -d WindowsGuest upload test.bat /test.bat\n"
+"\n"
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:455
+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
+#: ../examples/guestfs-recipes.pod:461
+#, fuzzy, no-wrap
+#| msgid ""
+#| " /boot => /dev/sda1\n"
+#| " / => /dev/vg_guest/lv_root\n"
+#| " /usr => /dev/vg_guest/lv_usr\n"
+#| "\n"
+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 ""
+" /boot => /dev/sda1\n"
+" / => /dev/vg_guest/lv_root\n"
+" /usr => /dev/vg_guest/lv_usr\n"
+"\n"
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:465
+msgid "(or use C<ntfsresize> if the filesystem is NTFS)."
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:467
msgid "Use libguestfs tools on VMware ESX guests"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:416
+#: ../examples/guestfs-recipes.pod:469
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 ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:420
+#: ../examples/guestfs-recipes.pod:473
msgid ""
"L<https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-"
"guests/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:424
+#: ../examples/guestfs-recipes.pod:477
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)"
">, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-"
@@ -6100,11 +6254,46 @@ msgstr ""
#. type: =head2
#: ../examples/guestfs-testing.pod:30
+msgid "Run libguestfs-test-tool"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-testing.pod:32 ../examples/guestfs-testing.pod:145
+#: ../src/guestfs.pod:3180
+msgid "Run:"
+msgstr "Віддайте команду:"
+
+#. type: verbatim
+#: ../examples/guestfs-testing.pod:34 ../test-tool/libguestfs-test-tool.pod:21
+#, no-wrap
+msgid ""
+" libguestfs-test-tool\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-testing.pod:36
+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 ""
+
+#. type: textblock
+#: ../examples/guestfs-testing.pod:39
+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 ""
+
+#. type: =head2
+#: ../examples/guestfs-testing.pod:44
msgid "Check KVM acceleration is being used."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:32
+#: ../examples/guestfs-testing.pod:46
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 "
@@ -6112,7 +6301,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:36
+#: ../examples/guestfs-testing.pod:50
#, no-wrap
msgid ""
" time guestfish -a /dev/null run\n"
@@ -6120,40 +6309,40 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:38
+#: ../examples/guestfs-testing.pod:52
msgid ""
"After a few runs, the time should settle down to a few seconds (under 5 "
"seconds on fast 64 bit hardware)."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:41
+#: ../examples/guestfs-testing.pod:55
msgid "How to check for hardware virt:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:43
+#: ../examples/guestfs-testing.pod:57
msgid "L<http://virt-tools.org/learning/check-hardware-virt/>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:45
+#: ../examples/guestfs-testing.pod:59
msgid ""
"If the command above does not work at all, use L<libguestfs-test-tool(1)>."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:48
+#: ../examples/guestfs-testing.pod:62
msgid "Run virt-alignment-scan on all your guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:50
+#: ../examples/guestfs-testing.pod:64
msgid "Run L<virt-alignment-scan(1)> on guests or disk images:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:52
+#: ../examples/guestfs-testing.pod:66
#, no-wrap
msgid ""
" virt-alignment-scan -a /path/to/disk.img\n"
@@ -6161,14 +6350,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161
-#: ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234
-#: ../src/guestfs.pod:2887
+#: ../examples/guestfs-testing.pod:68 ../examples/guestfs-testing.pod:175
+#: ../examples/guestfs-testing.pod:188 ../examples/guestfs-testing.pod:248
+#: ../src/guestfs.pod:2893
msgid "or:"
msgstr "або:"
#. type: verbatim
-#: ../examples/guestfs-testing.pod:56
+#: ../examples/guestfs-testing.pod:70
#, no-wrap
msgid ""
" virt-alignment-scan -d Guest\n"
@@ -6176,22 +6365,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:58
+#: ../examples/guestfs-testing.pod:72
msgid "Does the alignment report match how the guest partitions are aligned?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:60
+#: ../examples/guestfs-testing.pod:74
msgid "Run virt-cat on some files in guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:62
+#: ../examples/guestfs-testing.pod:76
msgid "L<virt-cat(1)> can display files from guests. For a Linux guest, try:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:64
+#: ../examples/guestfs-testing.pod:78
#, no-wrap
msgid ""
" virt-cat LinuxGuest /etc/passwd\n"
@@ -6199,12 +6388,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:66
+#: ../examples/guestfs-testing.pod:80
msgid "A recent feature is support for Windows paths, for example:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:68
+#: ../examples/guestfs-testing.pod:82
#, no-wrap
msgid ""
" virt-cat WindowsGuest 'c:\\windows\\win.ini'\n"
@@ -6212,26 +6401,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:70
+#: ../examples/guestfs-testing.pod:84
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 ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:73
+#: ../examples/guestfs-testing.pod:87
msgid "B<*> Copy some files into a B<shut off> guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:75
+#: ../examples/guestfs-testing.pod:89
msgid ""
"L<virt-copy-in(1)> can recursively copy files and directories into a guest "
"or disk image."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:78
+#: ../examples/guestfs-testing.pod:92
#, no-wrap
msgid ""
" virt-copy-in -d Guest /etc /tmp\n"
@@ -6239,7 +6428,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:80
+#: ../examples/guestfs-testing.pod:94
msgid ""
"This should copy local directory C</etc> to C</tmp/etc> in the guest "
"(recursively). If you boot the guest, can you see all of the copied files "
@@ -6247,12 +6436,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:84
+#: ../examples/guestfs-testing.pod:98
msgid "Shut the guest down and try copying multiple files and directories:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:86
+#: ../examples/guestfs-testing.pod:100
#, no-wrap
msgid ""
" virt-copy-in -d Guest /home /etc/issue /tmp\n"
@@ -6260,39 +6449,39 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:88
+#: ../examples/guestfs-testing.pod:102
msgid "Copy some files out of a guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:90
+#: ../examples/guestfs-testing.pod:104
msgid ""
"L<virt-copy-out(1)> can recursively copy files and directories out of a "
"guest or disk image."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:95
+#: ../examples/guestfs-testing.pod:109
msgid "Note the final space and period in the command is not a typo."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:97
+#: ../examples/guestfs-testing.pod:111
msgid "This should copy C</home> from the guest into the current directory."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:99
+#: ../examples/guestfs-testing.pod:113
msgid "Run virt-df."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:101
+#: ../examples/guestfs-testing.pod:115
msgid "L<virt-df(1)> lists disk space. Run:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:103
+#: ../examples/guestfs-testing.pod:117
#, no-wrap
msgid ""
" virt-df\n"
@@ -6300,31 +6489,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:105
+#: ../examples/guestfs-testing.pod:119
msgid ""
"You can try comparing this to the results from L<df(1)> inside the guest, "
"but there are some provisos:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:112
+#: ../examples/guestfs-testing.pod:126
msgid "The guest must be idle."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:116
+#: ../examples/guestfs-testing.pod:130
msgid "The guest disks must be synched using L<sync(1)>."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:120
+#: ../examples/guestfs-testing.pod:134
msgid ""
"Any action such as booting the guest will write log files causing the "
"numbers to change."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:125
+#: ../examples/guestfs-testing.pod:139
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 "
@@ -6332,17 +6521,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:129
+#: ../examples/guestfs-testing.pod:143
msgid "Try importing virt-df CSV output into a spreadsheet or database."
msgstr ""
-#. type: textblock
-#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3174
-msgid "Run:"
-msgstr "Віддайте команду:"
-
#. type: verbatim
-#: ../examples/guestfs-testing.pod:133
+#: ../examples/guestfs-testing.pod:147
#, no-wrap
msgid ""
" virt-df --csv > /tmp/report.csv\n"
@@ -6350,33 +6534,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:135
+#: ../examples/guestfs-testing.pod:149
msgid ""
"Now try to load this into your favorite spreadsheet or database. Are the "
"results reproduced faithfully in the spreadsheet/database?"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:138
+#: ../examples/guestfs-testing.pod:152
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 ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:141
+#: ../examples/guestfs-testing.pod:155
msgid "B<*> Edit a file in a B<shut off> guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:143
+#: ../examples/guestfs-testing.pod:157
msgid ""
"L<virt-edit(1)> can edit files in guests. Try this command on a RHEL or "
"Fedora guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:146
+#: ../examples/guestfs-testing.pod:160
#, no-wrap
msgid ""
" virt-edit LinuxGuest /etc/sysconfig/network\n"
@@ -6384,12 +6568,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:148
+#: ../examples/guestfs-testing.pod:162
msgid "On other Linux guests try editing other files such as:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:150
+#: ../examples/guestfs-testing.pod:164
#, no-wrap
msgid ""
" virt-edit LinuxGuest /etc/motd\n"
@@ -6397,24 +6581,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:152
+#: ../examples/guestfs-testing.pod:166
msgid "Are the changes seen inside the guest when it is booted?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:154
+#: ../examples/guestfs-testing.pod:168
msgid "Display the filesystems / partitions / LVs in a guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:156
+#: ../examples/guestfs-testing.pod:170
msgid ""
"L<virt-filesystems(1)> can be used to display filesystems in a guest. Try "
"this command on any disk image or guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:159
+#: ../examples/guestfs-testing.pod:173
#, no-wrap
msgid ""
" virt-filesystems -a /path/to/disk.img --all --long -h\n"
@@ -6422,7 +6606,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:163
+#: ../examples/guestfs-testing.pod:177
#, no-wrap
msgid ""
" virt-filesystems -d Guest --all --long -h\n"
@@ -6430,24 +6614,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:165
+#: ../examples/guestfs-testing.pod:179
msgid "Do the results match what is seen in the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:167
+#: ../examples/guestfs-testing.pod:181
msgid "Run virt-inspector on all your guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:169
+#: ../examples/guestfs-testing.pod:183
msgid ""
"Use L<virt-inspector(1)> to get a report on all of your guests or disk "
"images:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:172
+#: ../examples/guestfs-testing.pod:186
#, no-wrap
msgid ""
" virt-inspector -a /path/to/disk.img | less\n"
@@ -6455,7 +6639,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:176
+#: ../examples/guestfs-testing.pod:190
#, no-wrap
msgid ""
" virt-inspector -d Guest | less\n"
@@ -6463,17 +6647,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:178
+#: ../examples/guestfs-testing.pod:192
msgid "Do the results match what is actually in the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:180
+#: ../examples/guestfs-testing.pod:194
msgid "Try the auditing features of virt-ls on all your guests."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:184
+#: ../examples/guestfs-testing.pod:198
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^- [42]'\n"
@@ -6481,7 +6665,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:188
+#: ../examples/guestfs-testing.pod:202
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^d ...7'\n"
@@ -6489,7 +6673,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:192
+#: ../examples/guestfs-testing.pod:206
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^s'\n"
@@ -6497,7 +6681,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:196
+#: ../examples/guestfs-testing.pod:210
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep -i '^-.*\\.png$'\n"
@@ -6505,12 +6689,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:198
+#: ../examples/guestfs-testing.pod:212
msgid "Display files larger than 10MB in home directories:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:200
+#: ../examples/guestfs-testing.pod:214
#, no-wrap
msgid ""
" virt-ls -lR -d Guest /home | awk '$3 > 10*1024*1024'\n"
@@ -6518,7 +6702,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:204
+#: ../examples/guestfs-testing.pod:218
#, no-wrap
msgid ""
" virt-ls -lR -d Guest --time-days / | awk '$6 <= 7'\n"
@@ -6526,7 +6710,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:208
+#: ../examples/guestfs-testing.pod:222
#, no-wrap
msgid ""
" virt-ls -lR -d Guest --time-days / | grep '^-' | awk '$6 < 1'\n"
@@ -6534,24 +6718,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:210
+#: ../examples/guestfs-testing.pod:224
msgid "Do the results match what is in the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:212
+#: ../examples/guestfs-testing.pod:226
msgid "Create a disk image from a tarball."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:214
+#: ../examples/guestfs-testing.pod:228
msgid ""
"Use L<virt-make-fs(1)> to create a disk image from any tarball that you "
"happen to have:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:217
+#: ../examples/guestfs-testing.pod:231
#, no-wrap
msgid ""
" virt-make-fs --partition=mbr --type=vfat /any/tarball.tar.gz output.img\n"
@@ -6559,7 +6743,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:219
+#: ../examples/guestfs-testing.pod:233
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 "
@@ -6567,29 +6751,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:223
+#: ../examples/guestfs-testing.pod:237
msgid "Try other partitioning schemes, eg. I<--partition=gpt>."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:225
+#: ../examples/guestfs-testing.pod:239
msgid "Try other filesystem formats, eg. I<--type=ntfs>, I<--type=ext2>."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:227
+#: ../examples/guestfs-testing.pod:241
msgid "B<*> Run virt-rescue on a B<shut off> disk image or guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:229
+#: ../examples/guestfs-testing.pod:243
msgid ""
"Use L<virt-rescue(1)> to examine, rescue or repair a B<shut off> guest or "
"disk image:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:232
+#: ../examples/guestfs-testing.pod:246
#, no-wrap
msgid ""
" virt-rescue -a /path/to/disk.img\n"
@@ -6597,7 +6781,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:236
+#: ../examples/guestfs-testing.pod:250
#, no-wrap
msgid ""
" virt-rescue -d Guest\n"
@@ -6605,24 +6789,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:238
+#: ../examples/guestfs-testing.pod:252
msgid "Can you use ordinary shell commands to examine the guest?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:240
+#: ../examples/guestfs-testing.pod:254
msgid "B<*> Resize your guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:242
+#: ../examples/guestfs-testing.pod:256
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 ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:246
+#: ../examples/guestfs-testing.pod:260
#, no-wrap
msgid ""
" truncate -s 30G newdisk.img\n"
@@ -6633,22 +6817,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:251
+#: ../examples/guestfs-testing.pod:265
msgid "Does the guest still boot? Try expanding other partitions."
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:253
+#: ../examples/guestfs-testing.pod:267
msgid "B<*> Sparsify a guest disk."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:255
+#: ../examples/guestfs-testing.pod:269
msgid "Using L<virt-sparsify(1)>, make a disk image more sparse:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:257
+#: ../examples/guestfs-testing.pod:271
#, no-wrap
msgid ""
" virt-sparsify /path/to/olddisk.img newdisk.img\n"
@@ -6656,26 +6840,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:259
+#: ../examples/guestfs-testing.pod:273
msgid ""
"Is C<newdisk.img> still bootable after sparsifying? Is the resulting disk "
"image smaller (use C<du> to check)?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:262
+#: ../examples/guestfs-testing.pod:276
msgid "B<*> \"sysprep\" a B<shut off> Linux guest."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:264
+#: ../examples/guestfs-testing.pod:278
msgid ""
"Note that this really will mess up an existing guest, so it's better to "
"clone the guest before trying this."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:267
+#: ../examples/guestfs-testing.pod:281
#, no-wrap
msgid ""
" virt-sysprep --hostname newhost.example.com -a /path/to/disk.img\n"
@@ -6683,26 +6867,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:269
+#: ../examples/guestfs-testing.pod:283
msgid ""
"Was the sysprep successful? After booting, what changes were made and were "
"they successful?"
msgstr ""
#. type: =head2
-#: ../examples/guestfs-testing.pod:272
+#: ../examples/guestfs-testing.pod:286
msgid "Dump the Windows Registry from your Windows guests."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:274
+#: ../examples/guestfs-testing.pod:288
msgid ""
"Use L<virt-win-reg(1)> to dump out the Windows Registry from any Windows "
"guests that you have."
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:277
+#: ../examples/guestfs-testing.pod:291
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\Software' |\n"
@@ -6711,7 +6895,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:280
+#: ../examples/guestfs-testing.pod:294
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\System' |\n"
@@ -6720,19 +6904,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:283
+#: ../examples/guestfs-testing.pod:297
msgid "Does the output match running C<regedit> inside the guest?"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:285
+#: ../examples/guestfs-testing.pod:299
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 ""
#. type: verbatim
-#: ../examples/guestfs-testing.pod:288
+#: ../examples/guestfs-testing.pod:302
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKEY_USERS\\username' |\n"
@@ -6741,7 +6925,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:293
+#: ../examples/guestfs-testing.pod:307
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<http://libguestfs."
"org/>."
@@ -7096,7 +7280,7 @@ msgstr ""
#. type: =item
#: ../fish/guestfish-actions.pod:174 ../src/guestfs-actions.pod:234
-#: ../src/guestfs.pod:3057
+#: ../src/guestfs.pod:3063
msgid "C<format>"
msgstr "C<format>"
@@ -16751,7 +16935,7 @@ msgstr ""
#. type: =item
#: ../fish/guestfish-actions.pod:4476 ../src/guestfs-actions.pod:6961
-#: ../src/guestfs.pod:3016
+#: ../src/guestfs.pod:3022
msgid "C<appliance>"
msgstr "C<appliance>"
@@ -20618,7 +20802,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2337
+#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2343
#, no-wrap
msgid ""
" guestfish -N fs\n"
@@ -22111,7 +22295,7 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../fish/guestfish.pod:825 ../src/guestfs.pod:513
+#: ../fish/guestfish.pod:825 ../src/guestfs.pod:519
msgid "ENCRYPTED DISKS"
msgstr "ЗАШИФРОВАНІ ДИСКИ"
@@ -22476,7 +22660,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:982 ../src/guestfs.pod:988
+#: ../fish/guestfish.pod:982 ../src/guestfs.pod:994
#, no-wrap
msgid ""
" #!/bin/bash -\n"
@@ -22767,7 +22951,7 @@ msgid "COMMANDS"
msgstr "КОМАНДИ"
#. type: textblock
-#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1614
+#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1620
msgid "@ACTIONS@"
msgstr "@ACTIONS@"
@@ -22791,17 +22975,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3304
+#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3310
msgid "FEBOOTSTRAP_KERNEL"
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3306
+#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3312
msgid "FEBOOTSTRAP_MODULES"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3308
+#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3314
msgid ""
"These two environment variables allow the kernel that libguestfs uses in the "
"appliance to be selected. If C<$FEBOOTSTRAP_KERNEL> is not set, then the "
@@ -22859,17 +23043,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3314
+#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3320
msgid "LIBGUESTFS_APPEND"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3316
+#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3322
msgid "Pass additional options to the guest kernel."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3318
+#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3324
msgid "LIBGUESTFS_DEBUG"
msgstr "LIBGUESTFS_DEBUG"
@@ -22881,18 +23065,18 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3323
+#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3329
msgid "LIBGUESTFS_MEMSIZE"
msgstr "LIBGUESTFS_MEMSIZE"
#. type: textblock
-#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3325
+#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3331
msgid ""
"Set the memory allocated to the qemu process, in megabytes. For example:"
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3328
+#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3334
#, no-wrap
msgid ""
" LIBGUESTFS_MEMSIZE=700\n"
@@ -22902,7 +23086,7 @@ msgstr ""
"\n"
#. type: =item
-#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3330
+#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3336
msgid "LIBGUESTFS_PATH"
msgstr ""
@@ -22914,19 +23098,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3335
+#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3341
msgid "LIBGUESTFS_QEMU"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3337
+#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3343
msgid ""
"Set the default qemu binary that libguestfs uses. If not set, then the qemu "
"which was found at compile time by the configure script is used."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3343
+#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3349
msgid "LIBGUESTFS_TRACE"
msgstr ""
@@ -22949,19 +23133,19 @@ msgstr ""
#. type: =item
#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:261
-#: ../src/guestfs.pod:3348
+#: ../src/guestfs.pod:3354
msgid "TMPDIR"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3350
+#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3356
msgid ""
"Location of temporary directory, defaults to C</tmp> except for the cached "
"supermin appliance which defaults to C</var/tmp>."
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3353
+#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3359
msgid ""
"If libguestfs was compiled to use the supermin appliance then the real "
"appliance is cached in this directory, shared between all handles belonging "
@@ -25919,14 +26103,6 @@ msgid ""
"and L<virt-df(1)>, we recommend you go and read those manual pages first."
msgstr ""
-#. type: =item
-#: ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603
-#: ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:463
-#: ../src/guestfs.pod:1202 ../src/guestfs.pod:1371 ../src/guestfs.pod:1535
-#: ../src/guestfs.pod:2784
-msgid "1."
-msgstr "1."
-
#. type: textblock
#: ../resize/virt-resize.pod:33
msgid ""
@@ -25960,14 +26136,6 @@ msgid ""
"\n"
msgstr ""
-#. type: =item
-#: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610
-#: ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:469
-#: ../src/guestfs.pod:1206 ../src/guestfs.pod:1375 ../src/guestfs.pod:1539
-#: ../src/guestfs.pod:2809
-msgid "2."
-msgstr "2."
-
#. type: textblock
#: ../resize/virt-resize.pod:46
msgid ""
@@ -25984,13 +26152,6 @@ msgid ""
"\n"
msgstr ""
-#. type: =item
-#: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616
-#: ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:480
-#: ../src/guestfs.pod:1210 ../src/guestfs.pod:1545
-msgid "3."
-msgstr "3."
-
#. type: textblock
#: ../resize/virt-resize.pod:54
msgid ""
@@ -38505,13 +38666,26 @@ msgid ""
"LANGUAGES> below."
msgstr ""
-#. type: =head1
+#. type: textblock
#: ../src/guestfs.pod:39
+msgid "For tips and recipes, see L<guestfs-recipes(1)>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:41
+msgid ""
+"If you are having performance problems, read L<guestfs-performance(1)>. To "
+"help test libguestfs, read L<libguestfs-test-tool(1)> and L<guestfs-testing"
+"(1)>."
+msgstr ""
+
+#. type: =head1
+#: ../src/guestfs.pod:45
msgid "API OVERVIEW"
msgstr "ОГЛЯД API"
#. type: textblock
-#: ../src/guestfs.pod:41
+#: ../src/guestfs.pod:47
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 "
@@ -38519,12 +38693,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:46
+#: ../src/guestfs.pod:52
msgid "HANDLES"
msgstr "ОБРОБНИКИ"
#. type: textblock
-#: ../src/guestfs.pod:48
+#: ../src/guestfs.pod:54
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 "
@@ -38534,12 +38708,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:55
+#: ../src/guestfs.pod:61
msgid "The general structure of all libguestfs-using programs looks like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:58
+#: ../src/guestfs.pod:64
#, no-wrap
msgid ""
" guestfs_h *g = guestfs_create ();\n"
@@ -38549,7 +38723,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:60
+#: ../src/guestfs.pod:66
#, no-wrap
msgid ""
" /* Call guestfs_add_drive additional times if there are\n"
@@ -38560,7 +38734,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:65
+#: ../src/guestfs.pod:71
#, no-wrap
msgid ""
" /* Most manipulation calls won't work until you've launched\n"
@@ -38572,7 +38746,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:71
+#: ../src/guestfs.pod:77
#, no-wrap
msgid ""
" /* Now you can examine what partitions, LVs etc are available.\n"
@@ -38588,7 +38762,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:76
+#: ../src/guestfs.pod:82
#, no-wrap
msgid ""
" /* To access a filesystem in the image, you must mount it.\n"
@@ -38602,7 +38776,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:80
+#: ../src/guestfs.pod:86
#, no-wrap
msgid ""
" /* Now you can perform filesystem actions on the guest\n"
@@ -38618,7 +38792,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:85
+#: ../src/guestfs.pod:91
#, no-wrap
msgid ""
" /* Synchronize the disk. This is the opposite of guestfs_launch. */\n"
@@ -38627,7 +38801,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:88
+#: ../src/guestfs.pod:94
#, fuzzy, no-wrap
#| msgid ""
#| " /* Close the handle 'g'. */\n"
@@ -38643,7 +38817,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:91
+#: ../src/guestfs.pod:97
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 "
@@ -38655,12 +38829,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:100
+#: ../src/guestfs.pod:106
msgid "DISK IMAGES"
msgstr "ОБРАЗИ ДИСКІВ"
#. type: textblock
-#: ../src/guestfs.pod:102
+#: ../src/guestfs.pod:108
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 "
@@ -38670,7 +38844,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:108
+#: ../src/guestfs.pod:114
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 "
@@ -38678,7 +38852,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:112
+#: ../src/guestfs.pod:118
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -38692,12 +38866,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:116
+#: ../src/guestfs.pod:122
msgid "You can add a disk read-only using:"
msgstr "Ви можете додати диск у режимі лише читання:"
#. type: verbatim
-#: ../src/guestfs.pod:118
+#: ../src/guestfs.pod:124
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -38713,14 +38887,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:123
+#: ../src/guestfs.pod:129
msgid ""
"or by calling the older function L</guestfs_add_drive_ro>. In either case "
"libguestfs won't modify the file."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:126
+#: ../src/guestfs.pod:132
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 "
@@ -38728,7 +38902,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:130
+#: ../src/guestfs.pod:136
msgid ""
"You must add at least one disk image, and you may add multiple disk images. "
"In the API, the disk images are usually referred to as C</dev/sda> (for the "
@@ -38736,7 +38910,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:135
+#: ../src/guestfs.pod:141
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 "
@@ -38744,12 +38918,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:140
+#: ../src/guestfs.pod:146
msgid "MOUNTING"
msgstr "МОНТУВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:142
+#: ../src/guestfs.pod:148
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 "
@@ -38759,7 +38933,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:149
+#: ../src/guestfs.pod:155
#, no-wrap
msgid ""
" guestfs_mount_options (g, \"\", \"/dev/sda1\", \"/\");\n"
@@ -38769,7 +38943,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:151
+#: ../src/guestfs.pod:157
msgid ""
"where C</dev/sda1> means literally the first partition (C<1>) of the first "
"disk image that we added (C</dev/sda>). If the disk contains Linux LVM2 "
@@ -38779,7 +38953,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:157
+#: ../src/guestfs.pod:163
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</"
@@ -38790,7 +38964,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:165
+#: ../src/guestfs.pod:171
msgid ""
"Libguestfs also has a set of APIs for inspection of unknown disk images (see "
"L</INSPECTION> below). But you might find it easier to look at higher level "
@@ -38798,19 +38972,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:170
+#: ../src/guestfs.pod:176
msgid ""
"To mount a filesystem read-only, use L</guestfs_mount_ro>. There are "
"several other variations of the C<guestfs_mount_*> call."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:173
+#: ../src/guestfs.pod:179
msgid "FILESYSTEM ACCESS AND MODIFICATION"
msgstr "ДОСТУП ТА ВНЕСЕННЯ ЗМІН ДО ФАЙЛОВИХ СИСТЕМ"
#. type: textblock
-#: ../src/guestfs.pod:175
+#: ../src/guestfs.pod:181
msgid ""
"The majority of the libguestfs API consists of fairly low-level calls for "
"accessing and modifying the files, directories, symlinks etc on mounted "
@@ -38820,7 +38994,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:181
+#: ../src/guestfs.pod:187
msgid ""
"Specify filenames as full paths, starting with C<\"/\"> and including the "
"mount point."
@@ -38829,7 +39003,7 @@ msgstr ""
"точкою монтування."
#. type: textblock
-#: ../src/guestfs.pod:184
+#: ../src/guestfs.pod:190
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:"
@@ -38839,7 +39013,7 @@ msgstr ""
"таким кодом:"
#. type: verbatim
-#: ../src/guestfs.pod:187
+#: ../src/guestfs.pod:193
#, no-wrap
msgid ""
" char *data = guestfs_cat (g, \"/etc/passwd\");\n"
@@ -38849,7 +39023,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:189
+#: ../src/guestfs.pod:195
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), "
@@ -38857,14 +39031,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:193
+#: ../src/guestfs.pod:199
msgid ""
"As another example, to create a top-level directory on that filesystem "
"called C<\"var\"> you would do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:196
+#: ../src/guestfs.pod:202
#, no-wrap
msgid ""
" guestfs_mkdir (g, \"/var\");\n"
@@ -38874,12 +39048,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:198
+#: ../src/guestfs.pod:204
msgid "To create a symlink you could do:"
msgstr "Щоб створити символічне посилання, ви можете скористатися таким кодом:"
#. type: verbatim
-#: ../src/guestfs.pod:200
+#: ../src/guestfs.pod:206
#, no-wrap
msgid ""
" guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
@@ -38891,14 +39065,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:203
+#: ../src/guestfs.pod:209
msgid ""
"Libguestfs will reject attempts to use relative paths and there is no "
"concept of a current working directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:206
+#: ../src/guestfs.pod:212
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 "
@@ -38908,33 +39082,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:212
+#: ../src/guestfs.pod:218
msgid ""
"File writes are affected by the per-handle umask, set by calling L</"
"guestfs_umask> and defaulting to 022. See L</UMASK>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:215
+#: ../src/guestfs.pod:221
msgid "PARTITIONING"
msgstr "ПОДІЛ НА РОЗДІЛИ"
#. type: textblock
-#: ../src/guestfs.pod:217
+#: ../src/guestfs.pod:223
msgid ""
"Libguestfs contains API calls to read, create and modify partition tables on "
"disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:220
+#: ../src/guestfs.pod:226
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 ""
#. type: verbatim
-#: ../src/guestfs.pod:224
+#: ../src/guestfs.pod:230
#, no-wrap
msgid ""
" const char *parttype = \"mbr\";\n"
@@ -38950,18 +39124,18 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:229
+#: ../src/guestfs.pod:235
msgid ""
"Obviously this effectively wipes anything that was on that disk image before."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:232
+#: ../src/guestfs.pod:238
msgid "LVM2"
msgstr "LVM2"
#. type: textblock
-#: ../src/guestfs.pod:234
+#: ../src/guestfs.pod:240
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 "
@@ -38970,19 +39144,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:239
+#: ../src/guestfs.pod:245
msgid ""
"This author strongly recommends reading the LVM HOWTO, online at L<http://"
"tldp.org/HOWTO/LVM-HOWTO/>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:242
+#: ../src/guestfs.pod:248
msgid "DOWNLOADING"
msgstr "ОТРИМАННЯ ДАНИХ"
#. type: textblock
-#: ../src/guestfs.pod:244
+#: ../src/guestfs.pod:250
msgid ""
"Use L</guestfs_cat> to download small, text only files. This call is "
"limited to files which are less than 2 MB and which cannot contain any ASCII "
@@ -38990,7 +39164,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:248
+#: ../src/guestfs.pod:254
msgid ""
"L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
"bit data, since it returns a (pointer, size) pair. However it is still "
@@ -38998,31 +39172,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:252
+#: ../src/guestfs.pod:258
msgid ""
"L</guestfs_download> can be used to download any file, with no limits on "
"content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:255
+#: ../src/guestfs.pod:261
msgid ""
"To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:258
+#: ../src/guestfs.pod:264
msgid "UPLOADING"
msgstr "ВИВАНТАЖЕННЯ"
#. type: textblock
-#: ../src/guestfs.pod:260
+#: ../src/guestfs.pod:266
msgid ""
"It's often the case that you want to write a file or files to the disk image."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:263
+#: ../src/guestfs.pod:269
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</"
@@ -39032,20 +39206,20 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:269
+#: ../src/guestfs.pod:275
msgid ""
"To upload a single file, use L</guestfs_upload>. This call has no limits on "
"file content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:272
+#: ../src/guestfs.pod:278
msgid ""
"To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:274
+#: ../src/guestfs.pod:280
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)"
@@ -39059,12 +39233,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:285
+#: ../src/guestfs.pod:291
msgid "COPYING"
msgstr "КОПІЮВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:287
+#: ../src/guestfs.pod:293
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 "
@@ -39072,52 +39246,52 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:293
+#: ../src/guestfs.pod:299
msgid "B<file> to B<file>"
msgstr "B<файл> у B<файл>"
#. type: textblock
-#: ../src/guestfs.pod:295
+#: ../src/guestfs.pod:301
msgid ""
"Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
"directories recursively."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:298
+#: ../src/guestfs.pod:304
msgid ""
"To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:301
+#: ../src/guestfs.pod:307
msgid "B<file> to B<device>"
msgstr "B<файл> на B<пристрій>"
#. type: =item
-#: ../src/guestfs.pod:303
+#: ../src/guestfs.pod:309
msgid "B<device> to B<file>"
msgstr "B<пристрій> до B<файла>"
#. type: =item
-#: ../src/guestfs.pod:305
+#: ../src/guestfs.pod:311
msgid "B<device> to B<device>"
msgstr "B<пристрій> на B<пристрій>"
#. type: textblock
-#: ../src/guestfs.pod:307
+#: ../src/guestfs.pod:313
msgid ""
"Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or L</"
"guestfs_copy_device_to_device>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:310
+#: ../src/guestfs.pod:316
msgid "Example: duplicate the contents of an LV:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:312
+#: ../src/guestfs.pod:318
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -39128,7 +39302,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:317
+#: ../src/guestfs.pod:323
msgid ""
"The destination (C</dev/VG/Copy>) must be at least as large as the source "
"(C</dev/VG/Original>). To copy less than the whole source device, use the "
@@ -39136,7 +39310,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:321
+#: ../src/guestfs.pod:327
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -39147,32 +39321,32 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:326
+#: ../src/guestfs.pod:332
msgid "B<file on the host> to B<file or device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:328
+#: ../src/guestfs.pod:334
msgid "Use L</guestfs_upload>. See L</UPLOADING> above."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:330
+#: ../src/guestfs.pod:336
msgid "B<file or device> to B<file on the host>"
msgstr "B<файл або пристрій> у B<файл на вузлі>"
#. type: textblock
-#: ../src/guestfs.pod:332
+#: ../src/guestfs.pod:338
msgid "Use L</guestfs_download>. See L</DOWNLOADING> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:336
+#: ../src/guestfs.pod:342
msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:338
+#: ../src/guestfs.pod:344
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 "
@@ -39183,12 +39357,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:346
+#: ../src/guestfs.pod:352
msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:349
+#: ../src/guestfs.pod:355
#, no-wrap
msgid ""
" guestfs_download (g, filename, \"/dev/stdout\");\n"
@@ -39198,12 +39372,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:351
+#: ../src/guestfs.pod:357
msgid "and you can write tar output to a file descriptor C<fd> by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:353
+#: ../src/guestfs.pod:359
#, no-wrap
msgid ""
" char devfd[64];\n"
@@ -39217,26 +39391,26 @@ msgstr ""
"\n"
#. type: =head2
-#: ../src/guestfs.pod:357
+#: ../src/guestfs.pod:363
msgid "LISTING FILES"
msgstr "СПИСКИ ФАЙЛІВ"
#. type: textblock
-#: ../src/guestfs.pod:359
+#: ../src/guestfs.pod:365
msgid ""
"L</guestfs_ll> is just designed for humans to read (mainly when using the "
"L<guestfish(1)>-equivalent command C<ll>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:362
+#: ../src/guestfs.pod:368
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 ""
#. type: textblock
-#: ../src/guestfs.pod:365
+#: ../src/guestfs.pod:371
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 "
@@ -39244,18 +39418,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:369
+#: ../src/guestfs.pod:375
msgid ""
"L</guestfs_find> and L</guestfs_find0> can be used to recursively list files."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:372
+#: ../src/guestfs.pod:378
msgid "RUNNING COMMANDS"
msgstr "ВИКОНАННЯ КОМАНД"
#. type: textblock
-#: ../src/guestfs.pod:374
+#: ../src/guestfs.pod:380
msgid ""
"Although libguestfs is primarily an API for manipulating files inside guest "
"images, we also provide some limited facilities for running commands inside "
@@ -39263,56 +39437,56 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:378
+#: ../src/guestfs.pod:384
msgid "There are many limitations to this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:384
+#: ../src/guestfs.pod:390
msgid ""
"The kernel version that the command runs under will be different from what "
"it expects."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:389
+#: ../src/guestfs.pod:395
msgid ""
"If the command needs to communicate with daemons, then most likely they "
"won't be running."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:394
+#: ../src/guestfs.pod:400
msgid "The command will be running in limited memory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:398
+#: ../src/guestfs.pod:404
msgid ""
"The network may not be available unless you enable it (see L</"
"guestfs_set_network>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:403
+#: ../src/guestfs.pod:409
msgid "Only supports Linux guests (not Windows, BSD, etc)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:407
+#: ../src/guestfs.pod:413
msgid ""
"Architecture limitations (eg. won't work for a PPC guest on an X86 host)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:412
+#: ../src/guestfs.pod:418
msgid ""
"For SELinux guests, you may need to enable SELinux and load policy first. "
"See L</SELINUX> in this manpage."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:417
+#: ../src/guestfs.pod:423
msgid ""
"I<Security:> It is not safe to run commands from untrusted, possibly "
"malicious guests. These commands may attempt to exploit your program by "
@@ -39324,7 +39498,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:426
+#: ../src/guestfs.pod:432
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 "
@@ -39334,26 +39508,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:434
+#: ../src/guestfs.pod:440
msgid ""
"The two main API calls to run commands are L</guestfs_command> and L</"
"guestfs_sh> (there are also variations)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:437
+#: ../src/guestfs.pod:443
msgid ""
"The difference is that L</guestfs_sh> runs commands using the shell, so any "
"shell globs, redirections, etc will work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:440
+#: ../src/guestfs.pod:446
msgid "CONFIGURATION FILES"
msgstr "ФАЙЛИ НАЛАШТУВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:442
+#: ../src/guestfs.pod:448
msgid ""
"To read and write configuration files in Linux guest filesystems, we "
"strongly recommend using Augeas. For example, Augeas understands how to "
@@ -39362,7 +39536,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:447
+#: ../src/guestfs.pod:453
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 "
@@ -39370,7 +39544,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:451
+#: ../src/guestfs.pod:457
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 "
@@ -39378,24 +39552,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:455
+#: ../src/guestfs.pod:461
msgid "SELINUX"
msgstr "SELINUX"
#. type: textblock
-#: ../src/guestfs.pod:457
+#: ../src/guestfs.pod:463
msgid ""
"We support SELinux guests. To ensure that labeling happens correctly in "
"SELinux guests, you need to enable SELinux and load the guest's policy:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:465
+#: ../src/guestfs.pod:471
msgid "Before launching, do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:467
+#: ../src/guestfs.pod:473
#, no-wrap
msgid ""
" guestfs_set_selinux (g, 1);\n"
@@ -39405,14 +39579,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:471
+#: ../src/guestfs.pod:477
msgid ""
"After mounting the guest's filesystem(s), load the policy. This is best "
"done by running the L<load_policy(8)> command in the guest itself:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:475
+#: ../src/guestfs.pod:481
#, no-wrap
msgid ""
" guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -39422,21 +39596,21 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:477
+#: ../src/guestfs.pod:483
msgid ""
"(Older versions of C<load_policy> require you to specify the name of the "
"policy file)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:482
+#: ../src/guestfs.pod:488
msgid ""
"Optionally, set the security context for the API. The correct security "
"context to use can only be known by inspecting the guest. As an example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:486
+#: ../src/guestfs.pod:492
#, no-wrap
msgid ""
" guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -39446,24 +39620,24 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:490
+#: ../src/guestfs.pod:496
msgid "This will work for running commands and editing existing files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:498
msgid ""
"When new files are created, you may need to label them explicitly, for "
"example by running the external command C<restorecon pathname>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:496
+#: ../src/guestfs.pod:502
msgid "UMASK"
msgstr "UMASK"
#. type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:504
msgid ""
"Certain calls are affected by the current file mode creation mask (the "
"\"umask\"). In particular ones which create files or directories, such as "
@@ -39473,14 +39647,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:504
+#: ../src/guestfs.pod:510
msgid ""
"The default umask is C<022>, so files are created with modes such as C<0644> "
"and directories with C<0755>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:507
+#: ../src/guestfs.pod:513
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</"
@@ -39488,12 +39662,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:511
+#: ../src/guestfs.pod:517
msgid "For more information about umask, see L<umask(2)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:515
+#: ../src/guestfs.pod:521
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) "
@@ -39502,21 +39676,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:521
+#: ../src/guestfs.pod:527
msgid ""
"Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
"returns the string C<crypto_LUKS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:524
+#: ../src/guestfs.pod:530
msgid ""
"Then open these devices by calling L</guestfs_luks_open>. Obviously you "
"will require the passphrase!"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:527
+#: ../src/guestfs.pod:533
msgid ""
"Opening a LUKS device creates a new device mapper device called C</dev/"
"mapper/mapname> (where C<mapname> is the string you supply to L</"
@@ -39525,7 +39699,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:533
+#: ../src/guestfs.pod:539
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"
@@ -39533,7 +39707,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:537
+#: ../src/guestfs.pod:543
msgid ""
"Use the reverse process to close a LUKS device. Unmount any logical volumes "
"on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, "
@@ -39543,12 +39717,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:544
+#: ../src/guestfs.pod:550
msgid "INSPECTION"
msgstr "ПЕРЕВІРКА"
#. type: textblock
-#: ../src/guestfs.pod:546
+#: ../src/guestfs.pod:552
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. (These APIs used to "
@@ -39558,14 +39732,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:553
+#: ../src/guestfs.pod:559
msgid ""
"Add all disks belonging to the unknown virtual machine and call L</"
"guestfs_launch> in the usual way."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:556
+#: ../src/guestfs.pod:562
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 "
@@ -39578,7 +39752,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:571
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</"
@@ -39587,7 +39761,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:571
+#: ../src/guestfs.pod:577
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 "
@@ -39598,7 +39772,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:578
+#: ../src/guestfs.pod:584
#, no-wrap
msgid ""
" /boot => /dev/sda1\n"
@@ -39612,21 +39786,21 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:582
+#: ../src/guestfs.pod:588
msgid ""
"The caller can then make calls to L</guestfs_mount_options> to mount the "
"filesystems as suggested."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:585
+#: ../src/guestfs.pod:591
msgid ""
"Be careful to mount filesystems in the right order (eg. C</> before C</"
"usr>). Sorting the keys of the hash by length, shortest first, should work."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:589
+#: ../src/guestfs.pod:595
msgid ""
"Inspection currently only works for some common operating systems. "
"Contributors are welcome to send patches for other operating systems that we "
@@ -39634,7 +39808,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:593
+#: ../src/guestfs.pod:599
msgid ""
"Encrypted disks must be opened before inspection. See L</ENCRYPTED DISKS> "
"for more details. The L</guestfs_inspect_os> function just ignores any "
@@ -39642,7 +39816,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:597
+#: ../src/guestfs.pod:603
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 "
@@ -39655,19 +39829,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:606
+#: ../src/guestfs.pod:612
msgid "INSPECTING INSTALL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:608
+#: ../src/guestfs.pod:614
msgid ""
"Libguestfs (since 1.9.4) can detect some install disks, install CDs, live "
"CDs and more."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:611
+#: ../src/guestfs.pod:617
msgid ""
"Call L</guestfs_inspect_get_format> to return the format of the operating "
"system, which currently can be C<installed> (a regular operating system) or "
@@ -39675,7 +39849,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:615
+#: ../src/guestfs.pod:621
msgid ""
"Further information is available about the operating system that can be "
"installed using the regular inspection APIs like L</"
@@ -39683,7 +39857,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:620
+#: ../src/guestfs.pod:626
msgid ""
"Some additional information specific to installer disks is also available "
"from the L</guestfs_inspect_is_live>, L</guestfs_inspect_is_netinst> and L</"
@@ -39691,24 +39865,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:625
+#: ../src/guestfs.pod:631
msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:627
+#: ../src/guestfs.pod:633
msgid ""
"Libguestfs can mount NTFS partitions. It does this using the L<http://www."
"ntfs-3g.org/> driver."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:630
+#: ../src/guestfs.pod:636
msgid "DRIVE LETTERS AND PATHS"
msgstr "ЛІТЕРИ ДИСКІВ ТА ШЛЯХИ"
#. type: textblock
-#: ../src/guestfs.pod:632
+#: ../src/guestfs.pod:638
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 "
@@ -39718,14 +39892,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:638
+#: ../src/guestfs.pod:644
msgid ""
"Drive letter mappings can be found using inspection (see L</INSPECTION> and "
"L</guestfs_inspect_get_drive_mappings>)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:641
+#: ../src/guestfs.pod:647
msgid ""
"Dealing with separator characters (backslash vs forward slash) is outside "
"the scope of libguestfs, but usually a simple character replacement will "
@@ -39733,33 +39907,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:645
+#: ../src/guestfs.pod:651
msgid ""
"To resolve the case insensitivity of paths, call L</"
"guestfs_case_sensitive_path>."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:648
+#: ../src/guestfs.pod:654
msgid "LONG FILENAMES ON NTFS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:650
+#: ../src/guestfs.pod:656
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 ""
#. type: textblock
-#: ../src/guestfs.pod:654
+#: ../src/guestfs.pod:660
msgid ""
"Most Linux filesystems support filenames up to 255 I<bytes>. This means you "
"may get an error:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:657
+#: ../src/guestfs.pod:663
#, no-wrap
msgid ""
" File name too long\n"
@@ -39767,14 +39941,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:659
+#: ../src/guestfs.pod:665
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 ""
#. type: textblock
-#: ../src/guestfs.pod:662
+#: ../src/guestfs.pod:668
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 "
@@ -39782,7 +39956,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:666
+#: ../src/guestfs.pod:672
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 "
@@ -39790,12 +39964,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:670
+#: ../src/guestfs.pod:676
msgid "ACCESSING THE WINDOWS REGISTRY"
msgstr "ДОСТУП ДО РЕГІСТРУ WINDOWS"
#. type: textblock
-#: ../src/guestfs.pod:672
+#: ../src/guestfs.pod:678
msgid ""
"Libguestfs also provides some help for decoding Windows Registry \"hive\" "
"files, through the library C<hivex> which is part of the libguestfs project "
@@ -39806,12 +39980,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:680
+#: ../src/guestfs.pod:686
msgid "SYMLINKS ON NTFS-3G FILESYSTEMS"
msgstr "СИМВОЛІЧНІ ПОСИЛАННЯ У ФАЙЛОВИХ СИСТЕМАХ NTFS-3G"
#. type: textblock
-#: ../src/guestfs.pod:682
+#: ../src/guestfs.pod:688
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 "
@@ -39819,7 +39993,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:686
+#: ../src/guestfs.pod:692
msgid ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-"
"symbolic-links/>"
@@ -39828,7 +40002,7 @@ msgstr ""
"symbolic-links/>"
#. type: textblock
-#: ../src/guestfs.pod:688
+#: ../src/guestfs.pod:694
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 "
@@ -39838,7 +40012,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:695
+#: ../src/guestfs.pod:701
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 "
@@ -39847,38 +40021,38 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:700
+#: ../src/guestfs.pod:706
msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:702
+#: ../src/guestfs.pod:708
msgid ""
"There are other useful extended attributes that can be read from ntfs-3g "
"filesystems (using L</guestfs_getxattr>). See:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:705
+#: ../src/guestfs.pod:711
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: =head2
-#: ../src/guestfs.pod:707
+#: ../src/guestfs.pod:713
msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
msgstr "ВИКОРИСТАННЯ LIBGUESTFS ЗА ДОПОМОГОЮ ІНШИХ МОВ ПРОГРАМУВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:709
+#: ../src/guestfs.pod:715
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
-#: ../src/guestfs.pod:712
+#: ../src/guestfs.pod:718
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)> "
@@ -39888,14 +40062,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:718
+#: ../src/guestfs.pod:724
msgid ""
"Error messages are automatically transformed into exceptions if the language "
"supports it."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:721
+#: ../src/guestfs.pod:727
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 "
@@ -39903,58 +40077,58 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:727
+#: ../src/guestfs.pod:733
msgid "B<C++>"
msgstr "B<C++>"
#. type: textblock
-#: ../src/guestfs.pod:729
+#: ../src/guestfs.pod:735
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 ""
#. type: =item
-#: ../src/guestfs.pod:733
+#: ../src/guestfs.pod:739
msgid "B<C#>"
msgstr "B<C#>"
#. type: textblock
-#: ../src/guestfs.pod:735
+#: ../src/guestfs.pod:741
msgid ""
"The C# bindings are highly experimental. Please read the warnings at the "
"top of C<csharp/Libguestfs.cs>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:738
+#: ../src/guestfs.pod:744
msgid "B<Erlang>"
msgstr "B<Erlang>"
#. type: textblock
-#: ../src/guestfs.pod:740
+#: ../src/guestfs.pod:746
msgid "See L<guestfs-erlang(3)>."
msgstr "Див. L<guestfs-erlang(3)>."
#. type: =item
-#: ../src/guestfs.pod:742
+#: ../src/guestfs.pod:748
msgid "B<GObject>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:744
+#: ../src/guestfs.pod:750
msgid ""
"Experimental GObject bindings (with GObject Introspection support) are "
"available. See the C<gobject> directory in the source."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:747
+#: ../src/guestfs.pod:753
msgid "B<Haskell>"
msgstr "B<Haskell>"
#. type: textblock
-#: ../src/guestfs.pod:749
+#: ../src/guestfs.pod:755
msgid ""
"This is the only language binding that is working but incomplete. Only "
"calls which return simple integers have been bound in Haskell, and we are "
@@ -39962,96 +40136,96 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:753
+#: ../src/guestfs.pod:759
msgid "B<Java>"
msgstr "B<Java>"
#. type: textblock
-#: ../src/guestfs.pod:755
+#: ../src/guestfs.pod:761
msgid ""
"Full documentation is contained in the Javadoc which is distributed with "
"libguestfs. For examples, see L<guestfs-java(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:758
+#: ../src/guestfs.pod:764
msgid "B<OCaml>"
msgstr "B<OCaml>"
#. type: textblock
-#: ../src/guestfs.pod:760
+#: ../src/guestfs.pod:766
msgid "See L<guestfs-ocaml(3)>."
msgstr "Див. L<guestfs-ocaml(3)>."
#. type: =item
-#: ../src/guestfs.pod:762
+#: ../src/guestfs.pod:768
msgid "B<Perl>"
msgstr "B<Perl>"
#. type: textblock
-#: ../src/guestfs.pod:764
+#: ../src/guestfs.pod:770
msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>."
msgstr "Див. L<guestfs-perl(3)> та L<Sys::Guestfs(3)>."
#. type: =item
-#: ../src/guestfs.pod:766
+#: ../src/guestfs.pod:772
msgid "B<PHP>"
msgstr "B<PHP>"
#. type: textblock
-#: ../src/guestfs.pod:768
+#: ../src/guestfs.pod:774
msgid ""
"For documentation see C<README-PHP> supplied with libguestfs sources or in "
"the php-libguestfs package for your distribution."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:771
+#: ../src/guestfs.pod:777
msgid "The PHP binding only works correctly on 64 bit machines."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:773
+#: ../src/guestfs.pod:779
msgid "B<Python>"
msgstr "B<Python>"
#. type: textblock
-#: ../src/guestfs.pod:775
+#: ../src/guestfs.pod:781
msgid "See L<guestfs-python(3)>."
msgstr "Див. L<guestfs-python(3)>."
#. type: =item
-#: ../src/guestfs.pod:777
+#: ../src/guestfs.pod:783
msgid "B<Ruby>"
msgstr "B<Ruby>"
#. type: textblock
-#: ../src/guestfs.pod:779
+#: ../src/guestfs.pod:785
msgid "See L<guestfs-ruby(3)>."
msgstr "Див. L<guestfs-ruby(3)>."
#. type: textblock
-#: ../src/guestfs.pod:781
+#: ../src/guestfs.pod:787
msgid "For JRuby, use the Java bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:783
+#: ../src/guestfs.pod:789
msgid "B<shell scripts>"
msgstr "B<скрипти оболонки>"
#. type: textblock
-#: ../src/guestfs.pod:785
+#: ../src/guestfs.pod:791
msgid "See L<guestfish(1)>."
msgstr "Див. L<guestfish(1)>."
#. type: =head2
-#: ../src/guestfs.pod:789
+#: ../src/guestfs.pod:795
msgid "LIBGUESTFS GOTCHAS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:791
+#: ../src/guestfs.pod:797
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 "
@@ -40059,7 +40233,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:795
+#: ../src/guestfs.pod:801
msgid ""
"Since we developed libguestfs and the associated tools, there are several "
"things we would have designed differently, but are now stuck with for "
@@ -40068,19 +40242,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:803
+#: ../src/guestfs.pod:809
msgid "Autosync / forgetting to sync."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:805
+#: ../src/guestfs.pod:811
msgid ""
"I<Update:> Autosync is enabled by default for all API users starting from "
"libguestfs 1.5.24. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:808
+#: ../src/guestfs.pod:814
msgid ""
"When modifying a filesystem from C or another language, you B<must> unmount "
"all filesystems and call L</guestfs_sync> explicitly before you close the "
@@ -40088,7 +40262,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:812
+#: ../src/guestfs.pod:818
#, no-wrap
msgid ""
" guestfs_set_autosync (g, 1);\n"
@@ -40098,14 +40272,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:814
+#: ../src/guestfs.pod:820
msgid ""
"to have the unmount/sync done automatically for you when the handle 'g' is "
"closed. (This feature is called \"autosync\", L</guestfs_set_autosync> q.v.)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:818
+#: ../src/guestfs.pod:824
msgid ""
"If you forget to do this, then it is entirely possible that your changes "
"won't be written out, or will be partially written, or (very rarely) that "
@@ -40113,7 +40287,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:822
+#: ../src/guestfs.pod:828
msgid ""
"Note that in L<guestfish(3)> autosync is the default. So quick and dirty "
"guestfish scripts that forget to sync will work just fine, which can make "
@@ -40121,19 +40295,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:826
+#: ../src/guestfs.pod:832
msgid "Mount option C<-o sync> should not be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:828
+#: ../src/guestfs.pod:834
msgid ""
"I<Update:> L</guestfs_mount> no longer adds any options starting from "
"libguestfs 1.13.16. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:831
+#: ../src/guestfs.pod:837
msgid ""
"If you use L</guestfs_mount>, then C<-o sync,noatime> are added implicitly. "
"However C<-o sync> does not add any reliability benefit, but does have a "
@@ -40141,31 +40315,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:835
+#: ../src/guestfs.pod:841
msgid ""
"The work around is to use L</guestfs_mount_options> and set the mount "
"options that you actually want to use."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:838
+#: ../src/guestfs.pod:844
msgid "Read-only should be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:840
+#: ../src/guestfs.pod:846
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 ""
#. type: textblock
-#: ../src/guestfs.pod:843
+#: ../src/guestfs.pod:849
msgid "This would reduce the potential to corrupt live VM images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:845
+#: ../src/guestfs.pod:851
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</"
@@ -40173,12 +40347,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:849
+#: ../src/guestfs.pod:855
msgid "guestfish command line is hard to use."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:851
+#: ../src/guestfs.pod:857
msgid ""
"C<guestfish disk.img> doesn't do what people expect (open C<disk.img> for "
"examination). It tries to run a guestfish command C<disk.img> which doesn't "
@@ -40188,12 +40362,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:858
+#: ../src/guestfs.pod:864
msgid "guestfish megabyte modifiers don't work right on all commands"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:860
+#: ../src/guestfs.pod:866
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 "
@@ -40203,12 +40377,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:867
+#: ../src/guestfs.pod:873
msgid "The most common is L</guestfs_lvcreate>. The guestfish command:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:869
+#: ../src/guestfs.pod:875
#, no-wrap
msgid ""
" lvcreate LV VG 100M\n"
@@ -40218,7 +40392,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:871
+#: ../src/guestfs.pod:877
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 "
@@ -40227,19 +40401,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:876
+#: ../src/guestfs.pod:882
msgid ""
"This could be fixed in the generator by specially marking parameters and "
"return values which take bytes or other units."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:879
+#: ../src/guestfs.pod:885
msgid "Ambiguity between devices and paths"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:881
+#: ../src/guestfs.pod:887
msgid ""
"There is a subtle ambiguity in the API between a device name (eg. C</dev/"
"sdb2>) and a similar pathname. A file might just happen to be called "
@@ -40247,7 +40421,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:886
+#: ../src/guestfs.pod:892
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>. "
@@ -40256,7 +40430,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:892
+#: ../src/guestfs.pod:898
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 "
@@ -40266,7 +40440,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:898
+#: ../src/guestfs.pod:904
#, no-wrap
msgid ""
" type path = Path of string | Device of int | Partition of int * int\n"
@@ -40274,12 +40448,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:900
+#: ../src/guestfs.pod:906
msgid "which would allow you to pass arguments like:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:902
+#: ../src/guestfs.pod:908
#, no-wrap
msgid ""
" Path \"/foo/bar\"\n"
@@ -40290,26 +40464,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:907
+#: ../src/guestfs.pod:913
msgid ""
"As you can see there are still problems to resolve even with this "
"representation. Also consider how it might work in guestfish."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:912
+#: ../src/guestfs.pod:918
msgid "KEYS AND PASSPHRASES"
msgstr "КЛЮЧІ І ПАРОЛІ"
#. type: textblock
-#: ../src/guestfs.pod:914
+#: ../src/guestfs.pod:920
msgid ""
"Certain libguestfs calls take a parameter that contains sensitive key "
"material, passed in as a C string."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:917
+#: ../src/guestfs.pod:923
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 "
@@ -40318,7 +40492,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:922
+#: ../src/guestfs.pod:928
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, "
@@ -40326,19 +40500,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:927
+#: ../src/guestfs.pod:933
msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:929
+#: ../src/guestfs.pod:935
msgid ""
"All high-level libguestfs actions are synchronous. If you want to use "
"libguestfs asynchronously then you must create a thread."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:932
+#: ../src/guestfs.pod:938
msgid ""
"Only use the handle from a single thread. Either use the handle exclusively "
"from one thread, or provide your own mutex so that two threads cannot issue "
@@ -40346,33 +40520,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:936
+#: ../src/guestfs.pod:942
msgid ""
"See the graphical program guestfs-browser for one possible architecture for "
"multithreaded programs using libvirt and libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:939
+#: ../src/guestfs.pod:945
msgid "PATH"
msgstr "ШЛЯХ"
#. type: textblock
-#: ../src/guestfs.pod:941
+#: ../src/guestfs.pod:947
msgid ""
"Libguestfs needs a supermin appliance, which it finds by looking along an "
"internal path."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:944
+#: ../src/guestfs.pod:950
msgid ""
"By default it looks for these in the directory C<$libdir/guestfs> (eg. C</"
"usr/local/lib/guestfs> or C</usr/lib64/guestfs>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:947
+#: ../src/guestfs.pod:953
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 "
@@ -40383,12 +40557,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:954
+#: ../src/guestfs.pod:960
msgid "QEMU WRAPPERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:956
+#: ../src/guestfs.pod:962
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 "
@@ -40396,7 +40570,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:960
+#: ../src/guestfs.pod:966
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 "
@@ -40405,14 +40579,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:965
+#: ../src/guestfs.pod:971
msgid ""
"Here is an example of a wrapper, where I have built my own copy of qemu from "
"source:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:968
+#: ../src/guestfs.pod:974
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -40426,7 +40600,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:972
+#: ../src/guestfs.pod:978
msgid ""
"Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and "
"then use it by setting the LIBGUESTFS_QEMU environment variable. For "
@@ -40434,7 +40608,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:976
+#: ../src/guestfs.pod:982
#, no-wrap
msgid ""
" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
@@ -40444,14 +40618,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:978
+#: ../src/guestfs.pod:984
msgid ""
"Note that libguestfs also calls qemu with the -help and -version options in "
"order to determine features."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:981
+#: ../src/guestfs.pod:987
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 "
@@ -40461,7 +40635,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:990
+#: ../src/guestfs.pod:996
#, no-wrap
msgid ""
" i=0\n"
@@ -40479,7 +40653,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1002
+#: ../src/guestfs.pod:1008
#, no-wrap
msgid ""
" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n"
@@ -40487,19 +40661,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1004
+#: ../src/guestfs.pod:1010
msgid "ATTACHING TO RUNNING DAEMONS"
msgstr "ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ ФОНОВИХ СЛУЖБ"
#. type: textblock
-#: ../src/guestfs.pod:1006
+#: ../src/guestfs.pod:1012
msgid ""
"I<Note (1):> This is B<highly experimental> and has a tendency to eat "
"babies. Use with caution."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1009
+#: ../src/guestfs.pod:1015
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 "
@@ -40507,12 +40681,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1013
+#: ../src/guestfs.pod:1019
msgid "Using guestfs_set_attach_method"
msgstr "За допомогою guestfs_set_attach_method"
#. type: textblock
-#: ../src/guestfs.pod:1015
+#: ../src/guestfs.pod:1021
msgid ""
"By calling L</guestfs_set_attach_method> you can change how the library "
"connects to the C<guestfsd> daemon in L</guestfs_launch> (read L</"
@@ -40520,14 +40694,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1019
+#: ../src/guestfs.pod:1025
msgid ""
"The normal attach method is C<appliance>, where a small appliance is created "
"containing the daemon, and then the library connects to this."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1022
+#: ../src/guestfs.pod:1028
msgid ""
"Setting attach method 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 "
@@ -40535,7 +40709,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1026
+#: ../src/guestfs.pod:1032
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 "
@@ -40543,12 +40717,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1030
+#: ../src/guestfs.pod:1036
msgid "Using guestfs_add_domain with live flag"
msgstr "За допомогою guestfs_add_domain з прапорцем live"
#. type: textblock
-#: ../src/guestfs.pod:1032
+#: ../src/guestfs.pod:1038
msgid ""
"L</guestfs_add_domain> provides some help for getting the correct attach "
"method. If you pass the C<live> option to this function, then (if the "
@@ -40557,7 +40731,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1038
+#: ../src/guestfs.pod:1044
#, no-wrap
msgid ""
" <domain>\n"
@@ -40587,14 +40761,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1050
+#: ../src/guestfs.pod:1056
msgid ""
"L</guestfs_add_domain> extracts C</path/to/socket> and sets the attach "
"method to C<unix:/path/to/socket>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1053
+#: ../src/guestfs.pod:1059
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 "
@@ -40602,19 +40776,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1057
+#: ../src/guestfs.pod:1063
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 ""
#. type: =head2
-#: ../src/guestfs.pod:1061
+#: ../src/guestfs.pod:1067
msgid "ABI GUARANTEE"
msgstr "ГАРАНТІЯ ЩОДО ABI"
#. type: textblock
-#: ../src/guestfs.pod:1063
+#: ../src/guestfs.pod:1069
msgid ""
"We guarantee the libguestfs ABI (binary interface), for public, high-level "
"actions as outlined in this section. Although we will deprecate some "
@@ -40624,12 +40798,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1069
+#: ../src/guestfs.pod:1075
msgid "BLOCK DEVICE NAMING"
msgstr "ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ"
#. type: textblock
-#: ../src/guestfs.pod:1071
+#: ../src/guestfs.pod:1077
msgid ""
"In the kernel there is now quite a profusion of schemata for naming block "
"devices (in this context, by I<block device> I mean a physical or virtual "
@@ -40643,7 +40817,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1083
+#: ../src/guestfs.pod:1089
msgid ""
"As discussed above, libguestfs uses a qemu appliance running an embedded "
"Linux kernel to access block devices. We can run a variety of appliances "
@@ -40651,7 +40825,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1087
+#: ../src/guestfs.pod:1093
msgid ""
"This causes a problem for libguestfs because many API calls use device or "
"partition names. Working scripts and the recipe (example) scripts that we "
@@ -40659,7 +40833,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1092
+#: ../src/guestfs.pod:1098
msgid ""
"Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>. "
"Internally C</dev/sd*> names are translated, if necessary, to other names as "
@@ -40668,7 +40842,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1098
+#: ../src/guestfs.pod:1104
msgid ""
"Note that this I<only> applies to parameters. The L</guestfs_list_devices>, "
"L</guestfs_list_partitions> and similar calls return the true names of the "
@@ -40676,12 +40850,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1103
+#: ../src/guestfs.pod:1109
msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1105
+#: ../src/guestfs.pod:1111
msgid ""
"Usually this translation is transparent. However in some (very rare) cases "
"you may need to know the exact algorithm. Such cases include where you use "
@@ -40690,7 +40864,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1111
+#: ../src/guestfs.pod:1117
msgid ""
"The algorithm is applied only to I<parameters> which are known to be either "
"device or partition names. Return values from functions such as L</"
@@ -40698,54 +40872,54 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1119
+#: ../src/guestfs.pod:1125
msgid "Is the string a parameter which is a device or partition name?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1123
+#: ../src/guestfs.pod:1129
msgid "Does the string begin with C</dev/sd>?"
msgstr "Чи починається рядок з C</dev/sd>?"
#. type: textblock
-#: ../src/guestfs.pod:1127
+#: ../src/guestfs.pod:1133
msgid ""
"Does the named device exist? If so, we use that device. However if I<not> "
"then we continue with this algorithm."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1132
+#: ../src/guestfs.pod:1138
msgid "Replace initial C</dev/sd> string with C</dev/hd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1134
+#: ../src/guestfs.pod:1140
msgid "For example, change C</dev/sda2> to C</dev/hda2>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1136
+#: ../src/guestfs.pod:1142
msgid "If that named device exists, use it. If not, continue."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1140
+#: ../src/guestfs.pod:1146
msgid "Replace initial C</dev/sd> string with C</dev/vd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1142
+#: ../src/guestfs.pod:1148
msgid "If that named device exists, use it. If not, return an error."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1146
+#: ../src/guestfs.pod:1152
msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1148
+#: ../src/guestfs.pod:1154
msgid ""
"Although the standard naming scheme and automatic translation is useful for "
"simple programs and guestfish scripts, for larger programs it is best not to "
@@ -40753,39 +40927,39 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1152
+#: ../src/guestfs.pod:1158
msgid ""
"Where possible for maximum future portability programs using libguestfs "
"should use these future-proof techniques:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1159
+#: ../src/guestfs.pod:1165
msgid ""
"Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual "
"device names, and then use those names directly."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1162
+#: ../src/guestfs.pod:1168
msgid ""
"Since those device names exist by definition, they will never be translated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1167
+#: ../src/guestfs.pod:1173
msgid ""
"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
"filesystem labels."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1172
+#: ../src/guestfs.pod:1178
msgid "NULL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1174
+#: ../src/guestfs.pod:1180
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 "
@@ -40793,46 +40967,46 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1178
+#: ../src/guestfs.pod:1184
msgid "A null disk has the following properties:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1184
+#: ../src/guestfs.pod:1190
msgid ""
"A null disk will appear as a normal device, eg. in calls to L</"
"guestfs_list_devices>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1189
+#: ../src/guestfs.pod:1195
msgid "You may add C<\"/dev/null\"> multiple times."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1193
+#: ../src/guestfs.pod:1199
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1198
+#: ../src/guestfs.pod:1204
msgid "Null disks are used for three main purposes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1204
+#: ../src/guestfs.pod:1210
msgid "Performance testing of libguestfs (see L<guestfs-performance(1)>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1208
+#: ../src/guestfs.pod:1214
msgid "The internal test suite."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1212
+#: ../src/guestfs.pod:1218
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 "
@@ -40840,12 +41014,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1216
+#: ../src/guestfs.pod:1222
msgid "For example, to test if a feature is available, use code like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1218
+#: ../src/guestfs.pod:1224
#, no-wrap
msgid ""
" guestfs_h *g;\n"
@@ -40854,7 +41028,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1221
+#: ../src/guestfs.pod:1227
#, fuzzy, no-wrap
#| msgid ""
#| " guestfs_h *g = guestfs_create ();\n"
@@ -40887,19 +41061,19 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1235
+#: ../src/guestfs.pod:1241
msgid ""
"This section discusses security implications of using libguestfs, "
"particularly with untrusted or malicious guests or disk images."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1238
+#: ../src/guestfs.pod:1244
msgid "GENERAL SECURITY CONSIDERATIONS"
msgstr "ЗАГАЛЬНІ ЗАУВАЖЕННЯ ЩОДО ЗАХИСТУ"
#. type: textblock
-#: ../src/guestfs.pod:1240
+#: ../src/guestfs.pod:1246
msgid ""
"Be careful with any files or data that you download from a guest (by "
"\"download\" we mean not just the L</guestfs_download> command but any "
@@ -40909,42 +41083,42 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1250
+#: ../src/guestfs.pod:1256
msgid "the data (file etc) not being present"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1254
+#: ../src/guestfs.pod:1260
msgid "being present but empty"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1258
+#: ../src/guestfs.pod:1264
msgid "being much larger than normal"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1262
+#: ../src/guestfs.pod:1268
msgid "containing arbitrary 8 bit data"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1266
+#: ../src/guestfs.pod:1272
msgid "being in an unexpected character encoding"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1270
+#: ../src/guestfs.pod:1276
msgid "containing homoglyphs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1274
+#: ../src/guestfs.pod:1280
msgid "SECURITY OF MOUNTING FILESYSTEMS"
msgstr "ЗАХИСТ ФАЙЛОВИХ СИСТЕМ МОНТУВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:1276
+#: ../src/guestfs.pod:1282
msgid ""
"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
"(VFS) module can sometimes be escalated into exploits by deliberately "
@@ -40960,7 +41134,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1289
+#: ../src/guestfs.pod:1295
msgid ""
"That explains why you should never mount a filesystem from an untrusted "
"guest on your host kernel. How about libguestfs? We run a Linux kernel "
@@ -40974,19 +41148,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1300
+#: ../src/guestfs.pod:1306
msgid ""
"In any case callers can reduce the attack surface by forcing the filesystem "
"type when mounting (use L</guestfs_mount_vfs>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1303
+#: ../src/guestfs.pod:1309
msgid "PROTOCOL SECURITY"
msgstr "ЗАХИСТ ПРОТОКОЛУ"
#. type: textblock
-#: ../src/guestfs.pod:1305
+#: ../src/guestfs.pod:1311
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 "
@@ -40996,12 +41170,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1311
+#: ../src/guestfs.pod:1317
msgid "INSPECTION SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1313
+#: ../src/guestfs.pod:1319
msgid ""
"Parts of the inspection API (see L</INSPECTION>) return untrusted strings "
"directly from the guest, and these could contain any 8 bit data. Callers "
@@ -41010,7 +41184,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1319
+#: ../src/guestfs.pod:1325
msgid ""
"Guest configuration may be altered in unusual ways by the administrator of "
"the virtual machine, and may not reflect reality (particularly for untrusted "
@@ -41021,7 +41195,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1327
+#: ../src/guestfs.pod:1333
msgid ""
"The inspection API parses guest configuration using two external libraries: "
"Augeas (Linux configuration) and hivex (Windows Registry). Both are "
@@ -41031,12 +41205,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1333
+#: ../src/guestfs.pod:1339
msgid "RUNNING UNTRUSTED GUEST COMMANDS"
msgstr "ЗАПУСК НЕЗАХИЩЕНИХ КОМАНД ГОСТЬОВОЇ СИСТЕМИ"
#. type: textblock
-#: ../src/guestfs.pod:1335
+#: ../src/guestfs.pod:1341
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 "
@@ -41046,26 +41220,26 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1341
+#: ../src/guestfs.pod:1347
msgid "CVE-2010-3851"
msgstr "CVE-2010-3851"
#. type: textblock
-#: ../src/guestfs.pod:1343
+#: ../src/guestfs.pod:1349
#, fuzzy
#| msgid "https://bugzilla.redhat.com/642934"
msgid "L<https://bugzilla.redhat.com/642934>"
msgstr "https://bugzilla.redhat.com/642934"
#. type: textblock
-#: ../src/guestfs.pod:1345
+#: ../src/guestfs.pod:1351
msgid ""
"This security bug concerns the automatic disk format detection that qemu "
"does on disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1348
+#: ../src/guestfs.pod:1354
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 "
@@ -41074,7 +41248,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1353
+#: ../src/guestfs.pod:1359
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 "
@@ -41083,7 +41257,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1358
+#: ../src/guestfs.pod:1364
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 "
@@ -41095,25 +41269,25 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1366
+#: ../src/guestfs.pod:1372
msgid ""
"In libguestfs this is rather hard to exploit except under two circumstances:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1373
+#: ../src/guestfs.pod:1379
msgid "You have enabled the network or have opened the disk in write mode."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1377
+#: ../src/guestfs.pod:1383
msgid ""
"You are also running untrusted code from the guest (see L</RUNNING "
"COMMANDS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1382
+#: ../src/guestfs.pod:1388
msgid ""
"The way to avoid this is to specify the expected disk format when adding "
"disks (the optional C<format> option to L</guestfs_add_drive_opts>). You "
@@ -41122,31 +41296,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1387
+#: ../src/guestfs.pod:1393
msgid ""
"For disks added from libvirt using calls like L</guestfs_add_domain>, the "
"format is fetched from libvirt and passed through."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1390
+#: ../src/guestfs.pod:1396
msgid ""
"For libguestfs tools, use the I<--format> command line parameter as "
"appropriate."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1393
+#: ../src/guestfs.pod:1399
msgid "CONNECTION MANAGEMENT"
msgstr "КЕРУВАННЯ З’ЄДНАННЯМ"
#. type: =head2
-#: ../src/guestfs.pod:1395
+#: ../src/guestfs.pod:1401
msgid "guestfs_h *"
msgstr "guestfs_h *"
#. type: textblock
-#: ../src/guestfs.pod:1397
+#: ../src/guestfs.pod:1403
msgid ""
"C<guestfs_h> is the opaque type representing a connection handle. Create a "
"handle by calling L</guestfs_create>. Call L</guestfs_close> to free the "
@@ -41154,19 +41328,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1401
+#: ../src/guestfs.pod:1407
msgid ""
"For information on using multiple handles and threads, see the section L</"
"MULTIPLE HANDLES AND MULTIPLE THREADS> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1404
+#: ../src/guestfs.pod:1410
msgid "guestfs_create"
msgstr "guestfs_create"
#. type: verbatim
-#: ../src/guestfs.pod:1406
+#: ../src/guestfs.pod:1412
#, no-wrap
msgid ""
" guestfs_h *guestfs_create (void);\n"
@@ -41176,19 +41350,19 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1408
+#: ../src/guestfs.pod:1414
msgid "Create a connection handle."
msgstr "Створити дескриптор з’єднання."
#. type: textblock
-#: ../src/guestfs.pod:1410
+#: ../src/guestfs.pod:1416
msgid ""
"On success this returns a non-NULL pointer to a handle. On error it returns "
"NULL."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1413
+#: ../src/guestfs.pod:1419
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 "
@@ -41196,24 +41370,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1417
+#: ../src/guestfs.pod:1423
msgid "After configuring the handle, you have to call L</guestfs_launch>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1419
+#: ../src/guestfs.pod:1425
msgid ""
"You may also want to configure error handling for the handle. See the L</"
"ERROR HANDLING> section below."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1422
+#: ../src/guestfs.pod:1428
msgid "guestfs_close"
msgstr "guestfs_close"
#. type: verbatim
-#: ../src/guestfs.pod:1424
+#: ../src/guestfs.pod:1430
#, no-wrap
msgid ""
" void guestfs_close (guestfs_h *g);\n"
@@ -41223,19 +41397,19 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1426
+#: ../src/guestfs.pod:1432
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1429
+#: ../src/guestfs.pod:1435
msgid "The correct way to close the handle is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1431
+#: ../src/guestfs.pod:1437
#, no-wrap
msgid ""
" if (guestfs_shutdown (g) == -1) {\n"
@@ -41246,52 +41420,52 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1436
+#: ../src/guestfs.pod:1442
msgid ""
"L</guestfs_shutdown> is only needed if B<all> of the following are true:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1442
+#: ../src/guestfs.pod:1448
msgid "one or more disks were added in read-write mode, I<and>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1446
+#: ../src/guestfs.pod:1452
msgid "guestfs_launch was called, I<and>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1450
+#: ../src/guestfs.pod:1456
msgid "you made some changes, I<and>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1452
+#: ../src/guestfs.pod:1458
msgid "4"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1454
+#: ../src/guestfs.pod:1460
msgid ""
"you have a way to handle write errors (eg. by exiting with an error code or "
"reporting something to the user)."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1459
+#: ../src/guestfs.pod:1465
msgid "ERROR HANDLING"
msgstr "ОБРОБКА ПОМИЛОК"
#. type: textblock
-#: ../src/guestfs.pod:1461
+#: ../src/guestfs.pod:1467
msgid ""
"API functions can return errors. For example, almost all functions that "
"return C<int> will return C<-1> to indicate an error."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1464
+#: ../src/guestfs.pod:1470
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 "
@@ -41299,7 +41473,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1468
+#: ../src/guestfs.pod:1474
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 "
@@ -41307,7 +41481,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1473
+#: ../src/guestfs.pod:1479
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 "
@@ -41315,7 +41489,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1477
+#: ../src/guestfs.pod:1483
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1)\n"
@@ -41327,21 +41501,21 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1480
+#: ../src/guestfs.pod:1486
msgid ""
"since the default error handler will ensure that an error message has been "
"printed to C<stderr> before the program exits."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1483
+#: ../src/guestfs.pod:1489
msgid ""
"For other programs the caller will almost certainly want to install an "
"alternate error handler or do error handling in-line like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1486
+#: ../src/guestfs.pod:1492
#, no-wrap
msgid ""
" /* This disables the default behaviour of printing errors\n"
@@ -41351,7 +41525,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1490
+#: ../src/guestfs.pod:1496
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1) {\n"
@@ -41368,7 +41542,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1501
+#: ../src/guestfs.pod:1507
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</"
@@ -41376,7 +41550,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1505
+#: ../src/guestfs.pod:1511
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 "
@@ -41386,12 +41560,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1511
+#: ../src/guestfs.pod:1517
msgid "guestfs_last_error"
msgstr "guestfs_last_error"
#. type: verbatim
-#: ../src/guestfs.pod:1513
+#: ../src/guestfs.pod:1519
#, no-wrap
msgid ""
" const char *guestfs_last_error (guestfs_h *g);\n"
@@ -41401,26 +41575,26 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1515
+#: ../src/guestfs.pod:1521
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1519
+#: ../src/guestfs.pod:1525
msgid ""
"The lifetime of the returned string is until the next error occurs, or L</"
"guestfs_close> is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1522
+#: ../src/guestfs.pod:1528
msgid "guestfs_last_errno"
msgstr "guestfs_last_errno"
#. type: verbatim
-#: ../src/guestfs.pod:1524
+#: ../src/guestfs.pod:1530
#, no-wrap
msgid ""
" int guestfs_last_errno (guestfs_h *g);\n"
@@ -41430,28 +41604,28 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1526
+#: ../src/guestfs.pod:1532
msgid "This returns the last error number (errno) that happened on C<g>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1528
+#: ../src/guestfs.pod:1534
msgid "If successful, an errno integer not equal to zero is returned."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1530
+#: ../src/guestfs.pod:1536
msgid ""
"If no error, this returns 0. This call can return 0 in three situations:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1537
+#: ../src/guestfs.pod:1543
msgid "There has not been any error on the handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1541
+#: ../src/guestfs.pod:1547
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 "
@@ -41459,14 +41633,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1547
+#: ../src/guestfs.pod:1553
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1553
+#: ../src/guestfs.pod:1559
msgid ""
"Libguestfs tries to convert the errno from inside the applicance into a "
"corresponding errno for the caller (not entirely trivial: the appliance "
@@ -41477,12 +41651,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1561
+#: ../src/guestfs.pod:1567
msgid "guestfs_set_error_handler"
msgstr "guestfs_set_error_handler"
#. type: verbatim
-#: ../src/guestfs.pod:1563
+#: ../src/guestfs.pod:1569
#, no-wrap
msgid ""
" typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -41502,7 +41676,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1570
+#: ../src/guestfs.pod:1576
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 "
@@ -41510,14 +41684,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1574
+#: ../src/guestfs.pod:1580
msgid ""
"C<errno> is not passed to the callback. To get that the callback must call "
"L</guestfs_last_errno>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1577
+#: ../src/guestfs.pod:1583
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 "
@@ -41525,22 +41699,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1581
+#: ../src/guestfs.pod:1587
msgid "The default handler prints messages on C<stderr>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1583
+#: ../src/guestfs.pod:1589
msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1585
+#: ../src/guestfs.pod:1591
msgid "guestfs_get_error_handler"
msgstr "guestfs_get_error_handler"
#. type: verbatim
-#: ../src/guestfs.pod:1587
+#: ../src/guestfs.pod:1593
#, no-wrap
msgid ""
" guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -41552,17 +41726,17 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1590
+#: ../src/guestfs.pod:1596
msgid "Returns the current error handler callback."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1592
+#: ../src/guestfs.pod:1598
msgid "guestfs_set_out_of_memory_handler"
msgstr "guestfs_set_out_of_memory_handler"
#. type: verbatim
-#: ../src/guestfs.pod:1594
+#: ../src/guestfs.pod:1600
#, no-wrap
msgid ""
" typedef void (*guestfs_abort_cb) (void);\n"
@@ -41572,30 +41746,30 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1598
+#: ../src/guestfs.pod:1604
msgid ""
"The callback C<cb> will be called if there is an out of memory situation. "
"I<Note this callback must not return>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1601
+#: ../src/guestfs.pod:1607
msgid "The default is to call L<abort(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1603
+#: ../src/guestfs.pod:1609
msgid ""
"You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1606
+#: ../src/guestfs.pod:1612
msgid "guestfs_get_out_of_memory_handler"
msgstr "guestfs_get_out_of_memory_handler"
#. type: verbatim
-#: ../src/guestfs.pod:1608
+#: ../src/guestfs.pod:1614
#, no-wrap
msgid ""
" guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -41605,37 +41779,37 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1610
+#: ../src/guestfs.pod:1616
msgid "This returns the current out of memory handler."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1612
+#: ../src/guestfs.pod:1618
msgid "API CALLS"
msgstr "ВИКЛИКИ API"
#. type: =head1
-#: ../src/guestfs.pod:1616
+#: ../src/guestfs.pod:1622
msgid "STRUCTURES"
msgstr "СТРУКТУРИ"
#. type: textblock
-#: ../src/guestfs.pod:1618
+#: ../src/guestfs.pod:1624
msgid "@STRUCTS@"
msgstr "@STRUCTS@"
#. type: =head1
-#: ../src/guestfs.pod:1620
+#: ../src/guestfs.pod:1626
msgid "AVAILABILITY"
msgstr "ДОСТУПНІСТЬ"
#. type: =head2
-#: ../src/guestfs.pod:1622
+#: ../src/guestfs.pod:1628
msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
msgstr "ГРУПИ ФУНКЦІОНАЛЬНИХ МОЖЛИВОСТЕЙ У ОБРАЗІ ОСНОВНОЇ СИСТЕМИ"
#. type: textblock
-#: ../src/guestfs.pod:1624
+#: ../src/guestfs.pod:1630
msgid ""
"Using L</guestfs_available> you can test availability of the following "
"groups of functions. This test queries the appliance to see if the "
@@ -41643,17 +41817,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1629
+#: ../src/guestfs.pod:1635
msgid "@AVAILABILITY@"
msgstr "@AVAILABILITY@"
#. type: =head2
-#: ../src/guestfs.pod:1631
+#: ../src/guestfs.pod:1637
msgid "GUESTFISH supported COMMAND"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1633
+#: ../src/guestfs.pod:1639
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 "
@@ -41661,19 +41835,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1638
+#: ../src/guestfs.pod:1644
msgid "SINGLE CALLS AT COMPILE TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1640
+#: ../src/guestfs.pod:1646
msgid ""
"Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API "
"function, such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1643
+#: ../src/guestfs.pod:1649
#, no-wrap
msgid ""
" #define LIBGUESTFS_HAVE_DD 1\n"
@@ -41683,12 +41857,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1645
+#: ../src/guestfs.pod:1651
msgid "if L</guestfs_dd> is available."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1647
+#: ../src/guestfs.pod:1653
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 "
@@ -41696,7 +41870,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1652
+#: ../src/guestfs.pod:1658
#, no-wrap
msgid ""
" AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -41708,19 +41882,19 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1655
+#: ../src/guestfs.pod:1661
msgid ""
"which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
"in your program."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1658
+#: ../src/guestfs.pod:1664
msgid "SINGLE CALLS AT RUN TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1660
+#: ../src/guestfs.pod:1666
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 "
@@ -41730,7 +41904,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1667
+#: ../src/guestfs.pod:1673
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 "
@@ -41738,7 +41912,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1671
+#: ../src/guestfs.pod:1677
#, no-wrap
msgid ""
" #include <stdio.h>\n"
@@ -41756,7 +41930,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:1677
+#: ../src/guestfs.pod:1683
#, no-wrap
msgid ""
" main ()\n"
@@ -41774,7 +41948,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:1683
+#: ../src/guestfs.pod:1689
#, no-wrap
msgid ""
" /* Test if the function guestfs_dd is really available. */\n"
@@ -41789,7 +41963,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1692
+#: ../src/guestfs.pod:1698
#, no-wrap
msgid ""
" if (!has_function)\n"
@@ -41808,7 +41982,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1705
+#: ../src/guestfs.pod:1711
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 "
@@ -41816,7 +41990,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1710
+#: ../src/guestfs.pod:1716
#, no-wrap
msgid ""
" Requires: libguestfs >= 1.0.80\n"
@@ -41824,12 +41998,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1712
+#: ../src/guestfs.pod:1718
msgid "CALLS WITH OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1714
+#: ../src/guestfs.pod:1720
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 "
@@ -41837,7 +42011,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1719
+#: ../src/guestfs.pod:1725
#, no-wrap
msgid ""
" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -41847,14 +42021,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1721
+#: ../src/guestfs.pod:1727
msgid ""
"Call this with a list of optional arguments, terminated by C<-1>. So to "
"call with no optional arguments specified:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1724
+#: ../src/guestfs.pod:1730
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename, -1);\n"
@@ -41864,12 +42038,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1726
+#: ../src/guestfs.pod:1732
msgid "With a single optional argument:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1728
+#: ../src/guestfs.pod:1734
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -41883,12 +42057,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1732
+#: ../src/guestfs.pod:1738
msgid "With two:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1734
+#: ../src/guestfs.pod:1740
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -41904,19 +42078,19 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1739
+#: ../src/guestfs.pod:1745
msgid ""
"and so forth. Don't forget the terminating C<-1> otherwise Bad Things will "
"happen!"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1742
+#: ../src/guestfs.pod:1748
msgid "USING va_list FOR OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1744
+#: ../src/guestfs.pod:1750
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 "
@@ -41924,7 +42098,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1748
+#: ../src/guestfs.pod:1754
#, no-wrap
msgid ""
" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -41936,12 +42110,12 @@ msgstr ""
"\n"
#. type: =head2
-#: ../src/guestfs.pod:1751
+#: ../src/guestfs.pod:1757
msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1753
+#: ../src/guestfs.pod:1759
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 "
@@ -41951,7 +42125,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1759
+#: ../src/guestfs.pod:1765
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv {\n"
@@ -41975,12 +42149,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1768
+#: ../src/guestfs.pod:1774
msgid "You could call it like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1770
+#: ../src/guestfs.pod:1776
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -42000,7 +42174,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:1777
+#: ../src/guestfs.pod:1783
#, no-wrap
msgid ""
" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -42010,29 +42184,29 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1785
+#: ../src/guestfs.pod:1791
msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1790
+#: ../src/guestfs.pod:1796
msgid "You do not need to fill in all fields of the structure."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1794
+#: ../src/guestfs.pod:1800
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 ""
#. type: =head2
-#: ../src/guestfs.pod:1799
+#: ../src/guestfs.pod:1805
msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1801
+#: ../src/guestfs.pod:1807
msgid ""
"In other languages, optional arguments are expressed in the way that is "
"natural for that language. We refer you to the language-specific "
@@ -42040,17 +42214,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1805
+#: ../src/guestfs.pod:1811
msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1807
+#: ../src/guestfs.pod:1813
msgid "SETTING CALLBACKS TO HANDLE EVENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1809
+#: ../src/guestfs.pod:1815
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 "
@@ -42062,7 +42236,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1818
+#: ../src/guestfs.pod:1824
msgid ""
"Handles generate events when certain things happen, such as log messages "
"being generated, progress messages during long-running operations, or the "
@@ -42074,7 +42248,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1826
+#: ../src/guestfs.pod:1832
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 "
@@ -42083,31 +42257,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1831
+#: ../src/guestfs.pod:1837
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 ""
#. type: =head3
-#: ../src/guestfs.pod:1835
+#: ../src/guestfs.pod:1841
msgid "CLASSES OF EVENTS"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1839
+#: ../src/guestfs.pod:1845
msgid "GUESTFS_EVENT_CLOSE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1842
+#: ../src/guestfs.pod:1848
msgid ""
"The callback function will be called while the handle is being closed "
"(synchronously from L</guestfs_close>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1845
+#: ../src/guestfs.pod:1851
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 "
@@ -42118,19 +42292,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1852
+#: ../src/guestfs.pod:1858
msgid ""
"If no callback is registered: the handle is closed without any callback "
"being invoked."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1855
+#: ../src/guestfs.pod:1861
msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1858
+#: ../src/guestfs.pod:1864
msgid ""
"The callback function will be called when the child process quits, either "
"asynchronously or if killed by L</guestfs_kill_subprocess>. (This "
@@ -42138,17 +42312,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1862 ../src/guestfs.pod:1871 ../src/guestfs.pod:1988
+#: ../src/guestfs.pod:1868 ../src/guestfs.pod:1877 ../src/guestfs.pod:1994
msgid "If no callback is registered: the event is ignored."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1864
+#: ../src/guestfs.pod:1870
msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1867
+#: ../src/guestfs.pod:1873
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 "
@@ -42156,12 +42330,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1873
+#: ../src/guestfs.pod:1879
msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1876
+#: ../src/guestfs.pod:1882
msgid ""
"Some long-running operations can generate progress messages. If this "
"callback is registered, then it will be called each time a progress message "
@@ -42171,14 +42345,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1882
+#: ../src/guestfs.pod:1888
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1885
+#: ../src/guestfs.pod:1891
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 "
@@ -42186,24 +42360,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1890
+#: ../src/guestfs.pod:1896
msgid "The only defined and stable parts of the API are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1896
+#: ../src/guestfs.pod:1902
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1901
+#: ../src/guestfs.pod:1907
msgid "0 E<lt>= C<position> E<lt>= C<total>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1905
+#: ../src/guestfs.pod:1911
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 "
@@ -42211,7 +42385,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1909
+#: ../src/guestfs.pod:1915
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 "
@@ -42219,7 +42393,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1915
+#: ../src/guestfs.pod:1921
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 "
@@ -42228,7 +42402,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1920
+#: ../src/guestfs.pod:1926
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 "
@@ -42236,14 +42410,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1924
+#: ../src/guestfs.pod:1930
msgid ""
"As noted above, if the call fails with an error then the final message may "
"not be generated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1929
+#: ../src/guestfs.pod:1935
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 "
@@ -42252,31 +42426,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1935
+#: ../src/guestfs.pod:1941
msgid "If no callback is registered: progress messages are discarded."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1937
+#: ../src/guestfs.pod:1943
msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1940
+#: ../src/guestfs.pod:1946
msgid ""
"The callback function is called whenever a log message is generated by qemu, "
"the appliance kernel, guestfsd (daemon), or utility programs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1943
+#: ../src/guestfs.pod:1949
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set before launch (L</"
"guestfs_launch>) then additional debug messages are generated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1946 ../src/guestfs.pod:1960
+#: ../src/guestfs.pod:1952 ../src/guestfs.pod:1966
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 "
@@ -42284,63 +42458,63 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1951
+#: ../src/guestfs.pod:1957
msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1954
+#: ../src/guestfs.pod:1960
msgid ""
"The callback function is called whenever a log message is generated by the "
"library part of libguestfs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1957
+#: ../src/guestfs.pod:1963
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set then additional debug "
"messages are generated."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1965
+#: ../src/guestfs.pod:1971
msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1968
+#: ../src/guestfs.pod:1974
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 ""
#. type: textblock
-#: ../src/guestfs.pod:1971
+#: ../src/guestfs.pod:1977
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 ""
#. type: =item
-#: ../src/guestfs.pod:1975
+#: ../src/guestfs.pod:1981
msgid "GUESTFS_EVENT_ENTER (payload type: function name)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1978
+#: ../src/guestfs.pod:1984
msgid ""
"The callback function is called whenever a libguestfs function is entered."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1981
+#: ../src/guestfs.pod:1987
msgid ""
"The payload is a string which contains the name of the function that we are "
"entering (not including C<guestfs_> prefix)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1984
+#: ../src/guestfs.pod:1990
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 "
@@ -42348,12 +42522,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1992
+#: ../src/guestfs.pod:1998
msgid "guestfs_set_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1994
+#: ../src/guestfs.pod:2000
#, no-wrap
msgid ""
" int guestfs_set_event_callback (guestfs_h *g,\n"
@@ -42365,14 +42539,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2000
+#: ../src/guestfs.pod:2006
msgid ""
"This function registers a callback (C<cb>) for all event classes in the "
"C<event_bitmask>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2003
+#: ../src/guestfs.pod:2009
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>. "
@@ -42381,40 +42555,40 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2009
+#: ../src/guestfs.pod:2015
msgid "C<flags> should always be passed as 0."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2011
+#: ../src/guestfs.pod:2017
msgid ""
"C<opaque> is an opaque pointer which is passed to the callback. You can use "
"it for any purpose."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2014
+#: ../src/guestfs.pod:2020
msgid ""
"The return value is the event handle (an integer) which you can use to "
"delete the callback (see below)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2017
+#: ../src/guestfs.pod:2023
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 ""
#. type: textblock
-#: ../src/guestfs.pod:2020
+#: ../src/guestfs.pod:2026
msgid ""
"Callbacks remain in effect until they are deleted, or until the handle is "
"closed."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2023
+#: ../src/guestfs.pod:2029
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 "
@@ -42422,12 +42596,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2027
+#: ../src/guestfs.pod:2033
msgid "guestfs_delete_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2029
+#: ../src/guestfs.pod:2035
#, no-wrap
msgid ""
" void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n"
@@ -42435,7 +42609,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2031
+#: ../src/guestfs.pod:2037
msgid ""
"Delete a callback that was previously registered. C<event_handle> should be "
"the integer that was returned by a previous call to "
@@ -42443,12 +42617,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2035
+#: ../src/guestfs.pod:2041
msgid "guestfs_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2037
+#: ../src/guestfs.pod:2043
#, no-wrap
msgid ""
" typedef void (*guestfs_event_callback) (\n"
@@ -42463,13 +42637,13 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2046
+#: ../src/guestfs.pod:2052
msgid ""
"This is the type of the event callback function that you have to provide."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2049
+#: ../src/guestfs.pod:2055
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 "
@@ -42477,7 +42651,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2053
+#: ../src/guestfs.pod:2059
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 "
@@ -42486,7 +42660,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2058
+#: ../src/guestfs.pod:2064
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 "
@@ -42494,19 +42668,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2062
+#: ../src/guestfs.pod:2068
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 ""
#. type: =head3
-#: ../src/guestfs.pod:2065
+#: ../src/guestfs.pod:2071
msgid "EXAMPLE: CAPTURING LOG MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2067
+#: ../src/guestfs.pod:2073
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 "
@@ -42514,7 +42688,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2071
+#: ../src/guestfs.pod:2077
msgid ""
"Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, "
"C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error "
@@ -42522,14 +42696,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2076
+#: ../src/guestfs.pod:2082
msgid ""
"Programs have to set up a callback to capture the classes of events of "
"interest:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2079
+#: ../src/guestfs.pod:2085
#, no-wrap
msgid ""
" int eh =\n"
@@ -42545,14 +42719,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2089
+#: ../src/guestfs.pod:2095
msgid ""
"The callback can then direct messages to the appropriate place. In this "
"example, messages are directed to syslog:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2092
+#: ../src/guestfs.pod:2098
#, no-wrap
msgid ""
" static void\n"
@@ -42573,12 +42747,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2107
+#: ../src/guestfs.pod:2113
msgid "CANCELLING LONG TRANSFERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2109
+#: ../src/guestfs.pod:2115
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 "
@@ -42587,12 +42761,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2114
+#: ../src/guestfs.pod:2120
msgid "guestfs_user_cancel"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2116
+#: ../src/guestfs.pod:2122
#, no-wrap
msgid ""
" void guestfs_user_cancel (guestfs_h *g);\n"
@@ -42600,13 +42774,13 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2118
+#: ../src/guestfs.pod:2124
msgid ""
"C<guestfs_user_cancel> cancels the current upload or download operation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2121
+#: ../src/guestfs.pod:2127
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 "
@@ -42614,7 +42788,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2125
+#: ../src/guestfs.pod:2131
msgid ""
"The transfer that was in progress (if there is one) will stop shortly "
"afterwards, and will return an error. The errno (see L</"
@@ -42623,7 +42797,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2131
+#: ../src/guestfs.pod:2137
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 "
@@ -42631,12 +42805,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2135
+#: ../src/guestfs.pod:2141
msgid "There are two common places that you might call C<guestfs_user_cancel>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2137
+#: ../src/guestfs.pod:2143
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 "
@@ -42645,19 +42819,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2142
+#: ../src/guestfs.pod:2148
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 ""
#. type: =head1
-#: ../src/guestfs.pod:2146
+#: ../src/guestfs.pod:2152
msgid "PRIVATE DATA AREA"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2148
+#: ../src/guestfs.pod:2154
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 "
@@ -42665,12 +42839,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2153
+#: ../src/guestfs.pod:2159
msgid "To attach a named piece of data, use the following call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2155
+#: ../src/guestfs.pod:2161
#, no-wrap
msgid ""
" void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -42680,7 +42854,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:2157
+#: ../src/guestfs.pod:2163
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 "
@@ -42688,7 +42862,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2161
+#: ../src/guestfs.pod:2167
msgid ""
"You can use any C<key> you want, but your key should I<not> start with an "
"underscore character. Keys beginning with an underscore character are "
@@ -42698,12 +42872,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2167
+#: ../src/guestfs.pod:2173
msgid "To retrieve the pointer, use:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2169
+#: ../src/guestfs.pod:2175
#, no-wrap
msgid ""
" void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -42713,7 +42887,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:2171
+#: ../src/guestfs.pod:2177
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 "
@@ -42721,7 +42895,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2175
+#: ../src/guestfs.pod:2181
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 "
@@ -42732,12 +42906,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2182
+#: ../src/guestfs.pod:2188
msgid "To walk over all entries, use these two functions:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2184
+#: ../src/guestfs.pod:2190
#, no-wrap
msgid ""
" void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n"
@@ -42745,7 +42919,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2186
+#: ../src/guestfs.pod:2192
#, no-wrap
msgid ""
" void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n"
@@ -42753,7 +42927,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2188
+#: ../src/guestfs.pod:2194
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 "
@@ -42763,7 +42937,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2194
+#: ../src/guestfs.pod:2200
msgid ""
"C<guestfs_next_private> returns the next key, pointer pair. The return "
"value of this function is also C<NULL> is there are no further entries to "
@@ -42771,18 +42945,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2198
+#: ../src/guestfs.pod:2204
msgid "Notes about walking over entries:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2204
+#: ../src/guestfs.pod:2210
msgid ""
"You must not call C<guestfs_set_private> while walking over the entries."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2209
+#: ../src/guestfs.pod:2215
msgid ""
"The handle maintains an internal iterator which is reset when you call "
"C<guestfs_first_private>. This internal iterator is invalidated when you "
@@ -42790,12 +42964,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2215
+#: ../src/guestfs.pod:2221
msgid "If you have set the data pointer associated with a key to C<NULL>, ie:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2217
+#: ../src/guestfs.pod:2223
#, no-wrap
msgid ""
" guestfs_set_private (g, key, NULL);\n"
@@ -42803,26 +42977,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2219
+#: ../src/guestfs.pod:2225
msgid "then that C<key> is not returned when walking."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2223
+#: ../src/guestfs.pod:2229
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 ""
#. type: textblock
-#: ../src/guestfs.pod:2229
+#: ../src/guestfs.pod:2235
msgid ""
"The following example code shows how to print all keys and data pointers "
"that are associated with the handle C<g>:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2232
+#: ../src/guestfs.pod:2238
#, no-wrap
msgid ""
" const char *key;\n"
@@ -42836,14 +43010,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2240
+#: ../src/guestfs.pod:2246
msgid ""
"More commonly you are only interested in keys that begin with an application-"
"specific prefix C<foo_>. Modify the loop like so:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2243
+#: ../src/guestfs.pod:2249
#, no-wrap
msgid ""
" const char *key;\n"
@@ -42858,7 +43032,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2252
+#: ../src/guestfs.pod:2258
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 "
@@ -42866,7 +43040,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2256
+#: ../src/guestfs.pod:2262
#, no-wrap
msgid ""
" const char *key;\n"
@@ -42888,7 +43062,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2272
+#: ../src/guestfs.pod:2278
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 "
@@ -42897,12 +43071,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2277
+#: ../src/guestfs.pod:2283
msgid "SYSTEMTAP"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2279
+#: ../src/guestfs.pod:2285
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 "
@@ -42910,12 +43084,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2283
+#: ../src/guestfs.pod:2289
msgid "You can list all the static markers by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2285
+#: ../src/guestfs.pod:2291
#, no-wrap
msgid ""
" stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n"
@@ -42924,26 +43098,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2288
+#: ../src/guestfs.pod:2294
msgid ""
"B<Note:> These static markers are I<not> part of the stable API and may "
"change in future versions."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2291
+#: ../src/guestfs.pod:2297
msgid "SYSTEMTAP SCRIPT EXAMPLE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2293
+#: ../src/guestfs.pod:2299
msgid ""
"This script contains examples of displaying both the static markers and some "
"ordinary C entry points:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2296
+#: ../src/guestfs.pod:2302
#, no-wrap
msgid ""
" global last;\n"
@@ -42951,7 +43125,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2298
+#: ../src/guestfs.pod:2304
#, no-wrap
msgid ""
" function display_time () {\n"
@@ -42964,7 +43138,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2305
+#: ../src/guestfs.pod:2311
#, no-wrap
msgid ""
" printf (\"%d (+%d):\", now, delta);\n"
@@ -42973,7 +43147,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2308
+#: ../src/guestfs.pod:2314
#, no-wrap
msgid ""
" probe begin {\n"
@@ -42984,7 +43158,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2313
+#: ../src/guestfs.pod:2319
#, no-wrap
msgid ""
" /* Display all calls to static markers. */\n"
@@ -42997,7 +43171,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2320
+#: ../src/guestfs.pod:2326
#, no-wrap
msgid ""
" /* Display all calls to guestfs_mkfs* functions. */\n"
@@ -43010,7 +43184,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2327
+#: ../src/guestfs.pod:2333
msgid ""
"The script above can be saved to C<test.stap> and run using the L<stap(1)> "
"program. Note that you either have to be root, or you have to add yourself "
@@ -43019,7 +43193,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2332
+#: ../src/guestfs.pod:2338
#, no-wrap
msgid ""
" # stap /tmp/test.stap\n"
@@ -43028,17 +43202,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2335
+#: ../src/guestfs.pod:2341
msgid "In another terminal, run a guestfish command such as this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2339
+#: ../src/guestfs.pod:2345
msgid "In the first terminal, stap trace output similar to this is shown:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2341
+#: ../src/guestfs.pod:2347
#, no-wrap
msgid ""
" 1318248056692655 (+0):\tlaunch_start\n"
@@ -43051,12 +43225,12 @@ msgid ""
msgstr ""
#. type: =end
-#: ../src/guestfs.pod:2348 ../src/guestfs.pod:2353
+#: ../src/guestfs.pod:2354 ../src/guestfs.pod:2359
msgid "html"
msgstr "html"
#. type: textblock
-#: ../src/guestfs.pod:2350
+#: ../src/guestfs.pod:2356
msgid ""
"<!-- old anchor for the next section --> <a name="
"\"state_machine_and_low_level_event_api\"/>"
@@ -43065,12 +43239,12 @@ msgstr ""
"\"state_machine_and_low_level_event_api\"/>"
#. type: =head1
-#: ../src/guestfs.pod:2355
+#: ../src/guestfs.pod:2361
msgid "ARCHITECTURE"
msgstr "АРХІТЕКТУРА"
#. type: textblock
-#: ../src/guestfs.pod:2357
+#: ../src/guestfs.pod:2363
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 "
@@ -43078,7 +43252,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2361
+#: ../src/guestfs.pod:2367
#, no-wrap
msgid ""
" ___________________\n"
@@ -43104,14 +43278,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2381
+#: ../src/guestfs.pod:2387
msgid ""
"The library, linked to the main program, creates the child process and hence "
"the appliance in the L</guestfs_launch> function."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2384
+#: ../src/guestfs.pod:2390
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 "
@@ -43123,7 +43297,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2393
+#: ../src/guestfs.pod:2399
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 "
@@ -43134,17 +43308,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2400
+#: ../src/guestfs.pod:2406
msgid "STATE MACHINE"
msgstr "СКІНЧЕННИЙ АВТОМАТ"
#. type: textblock
-#: ../src/guestfs.pod:2402
+#: ../src/guestfs.pod:2408
msgid "libguestfs uses a state machine to model the child process:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2404
+#: ../src/guestfs.pod:2410
#, no-wrap
msgid ""
" |\n"
@@ -43172,7 +43346,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2426
+#: ../src/guestfs.pod:2432
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), "
@@ -43181,7 +43355,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2431
+#: ../src/guestfs.pod:2437
msgid ""
"The guest may be killed by L</guestfs_kill_subprocess>, or may die "
"asynchronously at any time (eg. due to some internal error), and that causes "
@@ -43189,14 +43363,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2435
+#: ../src/guestfs.pod:2441
msgid ""
"Configuration commands for qemu such as L</guestfs_add_drive> can only be "
"issued when in the CONFIG state."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2438
+#: ../src/guestfs.pod:2444
msgid ""
"The API offers one call that goes from CONFIG through LAUNCHING to READY. "
"L</guestfs_launch> blocks until the child process is READY to accept "
@@ -43205,7 +43379,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2444
+#: ../src/guestfs.pod:2450
msgid ""
"API actions such as L</guestfs_mount> can only be issued when in the READY "
"state. These API calls block waiting for the command to be carried out (ie. "
@@ -43215,7 +43389,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2450
+#: ../src/guestfs.pod:2456
msgid ""
"Finally, the child process sends asynchronous messages back to the main "
"program, such as kernel log messages. You can register a callback to "
@@ -43223,17 +43397,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2454
+#: ../src/guestfs.pod:2460
msgid "INTERNALS"
msgstr "ВНУТРІШНІ ПРИНЦИПИ РОБОТИ"
#. type: =head2
-#: ../src/guestfs.pod:2456
+#: ../src/guestfs.pod:2462
msgid "APPLIANCE BOOT PROCESS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2458
+#: ../src/guestfs.pod:2464
msgid ""
"This process has evolved and continues to evolve. The description here "
"corresponds only to the current version of libguestfs and is provided for "
@@ -43241,55 +43415,55 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2462
+#: ../src/guestfs.pod:2468
msgid ""
"In order to follow the stages involved below, enable libguestfs debugging "
"(set the environment variable C<LIBGUESTFS_DEBUG=1>)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2467
+#: ../src/guestfs.pod:2473
msgid "Create the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2469
+#: ../src/guestfs.pod:2475
msgid ""
"C<febootstrap-supermin-helper> is invoked to create the kernel, a small "
"initrd and the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2472
+#: ../src/guestfs.pod:2478
msgid ""
"The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another "
"directory if C<TMPDIR> is set)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2475
+#: ../src/guestfs.pod:2481
msgid ""
"For a complete description of how the appliance is created and cached, read "
"the L<febootstrap(8)> and L<febootstrap-supermin-helper(8)> man pages."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2479
+#: ../src/guestfs.pod:2485
msgid "Start qemu and boot the kernel"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2481
+#: ../src/guestfs.pod:2487
msgid "qemu is invoked to boot the kernel."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2483
+#: ../src/guestfs.pod:2489
msgid "Run the initrd"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2485
+#: ../src/guestfs.pod:2491
msgid ""
"C<febootstrap-supermin-helper> builds a small initrd. The initrd is not the "
"appliance. The purpose of the initrd is to load enough kernel modules in "
@@ -43297,21 +43471,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2489
+#: ../src/guestfs.pod:2495
msgid ""
"The initrd is a cpio archive called C</var/tmp/.guestfs-E<lt>UIDE<gt>/"
"initrd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2492
+#: ../src/guestfs.pod:2498
msgid ""
"When the initrd has started you will see messages showing that kernel "
"modules are being loaded, similar to this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2495
+#: ../src/guestfs.pod:2501
#, no-wrap
msgid ""
" febootstrap: ext2 mini initrd starting up\n"
@@ -43322,12 +43496,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2500
+#: ../src/guestfs.pod:2506
msgid "Find and mount the appliance device"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2502
+#: ../src/guestfs.pod:2508
msgid ""
"The appliance is a sparse file containing an ext2 filesystem which contains "
"a familiar (although reduced in size) Linux operating system. It would "
@@ -43335,33 +43509,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2506
+#: ../src/guestfs.pod:2512
msgid ""
"The regular disks being inspected by libguestfs are the first devices "
"exposed by qemu (eg. as C</dev/vda>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2509
+#: ../src/guestfs.pod:2515
msgid ""
"The last disk added to qemu is the appliance itself (eg. C</dev/vdb> if "
"there was only one regular disk)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2512
+#: ../src/guestfs.pod:2518
msgid ""
"Thus the final job of the initrd is to locate the appliance disk, mount it, "
"and switch root into the appliance, and run C</init> from the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2516
+#: ../src/guestfs.pod:2522
msgid "If this works successfully you will see messages such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2518
+#: ../src/guestfs.pod:2524
#, no-wrap
msgid ""
" febootstrap: picked /sys/block/vdb/dev as root device\n"
@@ -43373,19 +43547,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2524
+#: ../src/guestfs.pod:2530
msgid ""
"Note that C<Starting /init script ...> indicates that the appliance's init "
"script is now running."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2527
+#: ../src/guestfs.pod:2533
msgid "Initialize the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2529
+#: ../src/guestfs.pod:2535
msgid ""
"The appliance itself now initializes itself. This involves starting certain "
"processes like C<udev>, possibly printing some debug information, and "
@@ -43393,19 +43567,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2533
+#: ../src/guestfs.pod:2539
msgid "The daemon"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2535
+#: ../src/guestfs.pod:2541
msgid ""
"Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you "
"should see:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2538
+#: ../src/guestfs.pod:2544
#, no-wrap
msgid ""
" verbose daemon enabled\n"
@@ -43413,14 +43587,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2540
+#: ../src/guestfs.pod:2546
msgid ""
"The daemon expects to see a named virtio-serial port exposed by qemu and "
"connected on the other end to the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2543
+#: ../src/guestfs.pod:2549
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 "
@@ -43428,19 +43602,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2549
+#: ../src/guestfs.pod:2555
msgid "COMMUNICATION PROTOCOL"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2551
+#: ../src/guestfs.pod:2557
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
-#: ../src/guestfs.pod:2554
+#: ../src/guestfs.pod:2560
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 "
@@ -43448,14 +43622,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2558
+#: ../src/guestfs.pod:2564
msgid ""
"The detailed format of structures is in C<src/guestfs_protocol.x> (note: "
"this file is automatically generated)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2561
+#: ../src/guestfs.pod:2567
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 "
@@ -43465,17 +43639,17 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2568
+#: ../src/guestfs.pod:2574
msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2570
+#: ../src/guestfs.pod:2576
msgid "For ordinary functions, the request message is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2572
+#: ../src/guestfs.pod:2578
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -43486,7 +43660,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2577
+#: ../src/guestfs.pod:2583
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 "
@@ -43495,21 +43669,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2583
+#: ../src/guestfs.pod:2589
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
-#: ../src/guestfs.pod:2586
+#: ../src/guestfs.pod:2592
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 ""
#. type: textblock
-#: ../src/guestfs.pod:2590
+#: ../src/guestfs.pod:2596
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 "
@@ -43521,12 +43695,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2598
+#: ../src/guestfs.pod:2604
msgid "The reply message for ordinary functions is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2600
+#: ../src/guestfs.pod:2606
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -43537,27 +43711,27 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2605
+#: ../src/guestfs.pod:2611
msgid ""
"As above the C<guestfs_I<foo>_ret> structure may be completely omitted for "
"functions that return no formal return values."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2608
+#: ../src/guestfs.pod:2614
msgid ""
"As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2611
+#: ../src/guestfs.pod:2617
msgid ""
"In the case of an error, a flag is set in the header, and the reply message "
"is slightly changed:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2614
+#: ../src/guestfs.pod:2620
#, no-wrap
msgid ""
" total length (header + error,\n"
@@ -43568,19 +43742,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2619
+#: ../src/guestfs.pod:2625
msgid ""
"The C<guestfs_message_error> structure contains the error message as a "
"string."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2622
+#: ../src/guestfs.pod:2628
msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2624
+#: ../src/guestfs.pod:2630
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 "
@@ -43588,7 +43762,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2628
+#: ../src/guestfs.pod:2634
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -43602,12 +43776,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2636
+#: ../src/guestfs.pod:2642
msgid "The \"sequence of chunks\" is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2638
+#: ../src/guestfs.pod:2644
#, no-wrap
msgid ""
" length of chunk (not including length word itself)\n"
@@ -43621,7 +43795,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2646
+#: ../src/guestfs.pod:2652
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 "
@@ -43629,7 +43803,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2650
+#: ../src/guestfs.pod:2656
msgid ""
"At time of writing there are no functions that have more than one FileIn "
"parameter. However this is (theoretically) supported, by sending the "
@@ -43638,7 +43812,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2655
+#: ../src/guestfs.pod:2661
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 "
@@ -43647,7 +43821,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2661
+#: ../src/guestfs.pod:2667
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 "
@@ -43659,7 +43833,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2670
+#: ../src/guestfs.pod:2676
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 "
@@ -43669,19 +43843,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2676
+#: ../src/guestfs.pod:2682
msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2678
+#: ../src/guestfs.pod:2684
msgid ""
"The protocol for FileOut parameters is exactly the same as for FileIn "
"parameters, but with the roles of daemon and library reversed."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2681
+#: ../src/guestfs.pod:2687
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -43695,12 +43869,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2689
+#: ../src/guestfs.pod:2695
msgid "INITIAL MESSAGE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2691
+#: ../src/guestfs.pod:2697
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</"
@@ -43708,12 +43882,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2695
+#: ../src/guestfs.pod:2701
msgid "PROGRESS NOTIFICATION MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2697
+#: ../src/guestfs.pod:2703
msgid ""
"The daemon may send progress notification messages at any time. These are "
"distinguished by the normal length word being replaced by "
@@ -43721,7 +43895,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2701
+#: ../src/guestfs.pod:2707
msgid ""
"The library turns them into progress callbacks (see L</"
"GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them "
@@ -43729,7 +43903,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2705
+#: ../src/guestfs.pod:2711
msgid ""
"The daemon self-limits the frequency of progress messages it sends (see "
"C<daemon/proto.c:notify_progress>). Not all calls generate progress "
@@ -43737,12 +43911,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2709
+#: ../src/guestfs.pod:2715
msgid "LIBGUESTFS VERSION NUMBERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2711
+#: ../src/guestfs.pod:2717
msgid ""
"Since April 2010, libguestfs has started to make separate development and "
"stable releases, along with corresponding branches in our git repository. "
@@ -43750,7 +43924,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2716
+#: ../src/guestfs.pod:2722
#, no-wrap
msgid ""
" even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -43767,12 +43941,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2727
+#: ../src/guestfs.pod:2733
msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2729
+#: ../src/guestfs.pod:2735
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 "
@@ -43782,26 +43956,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2735
+#: ../src/guestfs.pod:2741
msgid "Our criteria for backporting changes are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2741
+#: ../src/guestfs.pod:2747
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
-#: ../src/guestfs.pod:2747
+#: ../src/guestfs.pod:2753
msgid ""
"Bug fixes which are not controversial, fix obvious problems, and have been "
"well tested are backported."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2752
+#: ../src/guestfs.pod:2758
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 "
@@ -43809,7 +43983,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2758
+#: ../src/guestfs.pod:2764
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 "
@@ -43817,7 +43991,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2764
+#: ../src/guestfs.pod:2770
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 "
@@ -43828,17 +44002,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2772
+#: ../src/guestfs.pod:2778
msgid "EXTENDING LIBGUESTFS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2774
+#: ../src/guestfs.pod:2780
msgid "ADDING A NEW API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2776
+#: ../src/guestfs.pod:2782
msgid ""
"Large amounts of boilerplate code in libguestfs (RPC, bindings, "
"documentation) are generated, and this makes it easy to extend the "
@@ -43846,19 +44020,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2780
+#: ../src/guestfs.pod:2786
msgid "To add a new API action there are two changes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2786
+#: ../src/guestfs.pod:2792
msgid ""
"You need to add a description of the call (name, parameters, return type, "
"tests, documentation) to C<generator/generator_actions.ml>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2789
+#: ../src/guestfs.pod:2795
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 "
@@ -43869,7 +44043,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2797
+#: ../src/guestfs.pod:2803
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 "
@@ -43879,7 +44053,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2803
+#: ../src/guestfs.pod:2809
msgid ""
"For library-only actions of the second type, add to the "
"C<non_daemon_functions> list. Since these functions are serviced by the "
@@ -43889,36 +44063,36 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2811
+#: ../src/guestfs.pod:2817
msgid "Implement the action (in C):"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2813
+#: ../src/guestfs.pod:2819
msgid ""
"For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the "
"C<daemon/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2816
+#: ../src/guestfs.pod:2822
msgid ""
"For library actions, implement the function C<guestfs__E<lt>nameE<gt>> "
"(note: double underscore) in the C<src/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2819
+#: ../src/guestfs.pod:2825
msgid "In either case, use another function as an example of what to do."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2823
+#: ../src/guestfs.pod:2829
msgid "After making these changes, use C<make> to compile."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2825
+#: ../src/guestfs.pod:2831
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 "
@@ -43926,12 +44100,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2829
+#: ../src/guestfs.pod:2835
msgid "ADDING TESTS FOR AN API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2831
+#: ../src/guestfs.pod:2837
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 (C<generator/"
@@ -43941,61 +44115,61 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2838
+#: ../src/guestfs.pod:2844
msgid ""
"The following describes the test environment used when you add an API test "
"in C<generator_actions.ml>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2841
+#: ../src/guestfs.pod:2847
msgid "The test environment has 4 block devices:"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2845
+#: ../src/guestfs.pod:2851
msgid "C</dev/sda> 500MB"
msgstr "C</dev/sda> 500 МБ"
#. type: textblock
-#: ../src/guestfs.pod:2847
+#: ../src/guestfs.pod:2853
msgid "General block device for testing."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2849
+#: ../src/guestfs.pod:2855
msgid "C</dev/sdb> 50MB"
msgstr "C</dev/sdb> 50 МБ"
#. type: textblock
-#: ../src/guestfs.pod:2851
+#: ../src/guestfs.pod:2857
msgid ""
"C</dev/sdb1> is an ext2 filesystem used for testing filesystem write "
"operations."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2854
+#: ../src/guestfs.pod:2860
msgid "C</dev/sdc> 10MB"
msgstr "C</dev/sdc> 10 МБ"
#. type: textblock
-#: ../src/guestfs.pod:2856
+#: ../src/guestfs.pod:2862
msgid "Used in a few tests where two block devices are needed."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2858
+#: ../src/guestfs.pod:2864
msgid "C</dev/sdd>"
msgstr "C</dev/sdd>"
#. type: textblock
-#: ../src/guestfs.pod:2860
+#: ../src/guestfs.pod:2866
msgid "ISO with fixed content (see C<images/test.iso>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2864
+#: ../src/guestfs.pod:2870
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 "
@@ -44003,7 +44177,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2868
+#: ../src/guestfs.pod:2874
msgid ""
"Each test starts with an initial scenario, selected using one of the "
"C<Init*> expressions, described in C<generator/generator_types.ml>. These "
@@ -44013,7 +44187,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2874
+#: ../src/guestfs.pod:2880
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 "
@@ -44023,14 +44197,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2880
+#: ../src/guestfs.pod:2886
msgid ""
"In addition, packagers can skip individual tests by setting environment "
"variables before running C<make check>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2883
+#: ../src/guestfs.pod:2889
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>_<NUM>=1\n"
@@ -44038,12 +44212,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2885
+#: ../src/guestfs.pod:2891
msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2889
+#: ../src/guestfs.pod:2895
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>=1\n"
@@ -44051,17 +44225,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2891
+#: ../src/guestfs.pod:2897
msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2893
+#: ../src/guestfs.pod:2899
msgid "Packagers can run only certain tests by setting for example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2895
+#: ../src/guestfs.pod:2901
#, no-wrap
msgid ""
" TEST_ONLY=\"vfs_type zerofree\"\n"
@@ -44069,29 +44243,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2897
+#: ../src/guestfs.pod:2903
msgid ""
"See C<tests/c-api/tests.c> for more details of how these environment "
"variables work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2900
+#: ../src/guestfs.pod:2906
msgid "DEBUGGING NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2902
+#: ../src/guestfs.pod:2908
msgid "Test new actions work before submitting them."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2904
+#: ../src/guestfs.pod:2910
msgid "You can use guestfish to try out new commands."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2906
+#: ../src/guestfs.pod:2912
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 "
@@ -44099,12 +44273,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2910
+#: ../src/guestfs.pod:2916
msgid "FORMATTING CODE AND OTHER CONVENTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2912
+#: ../src/guestfs.pod:2918
msgid ""
"Our C source code generally adheres to some basic code-formatting "
"conventions. The existing code base is not totally consistent on this "
@@ -44114,14 +44288,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2918
+#: ../src/guestfs.pod:2924
msgid ""
"If you use Emacs, add the following to one of one of your start-up files (e."
"g., ~/.emacs), to help ensure that you get indentation right:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2921
+#: ../src/guestfs.pod:2927
#, no-wrap
msgid ""
" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
@@ -44137,7 +44311,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2931
+#: ../src/guestfs.pod:2937
#, no-wrap
msgid ""
" ;;; When editing C sources in libguestfs, use this style.\n"
@@ -44155,12 +44329,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2943
+#: ../src/guestfs.pod:2949
msgid "Enable warnings when compiling (and fix any problems this finds):"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2946
+#: ../src/guestfs.pod:2952
#, no-wrap
msgid ""
" ./configure --enable-gcc-warnings\n"
@@ -44170,12 +44344,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:2948
+#: ../src/guestfs.pod:2954
msgid "Useful targets are:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2950
+#: ../src/guestfs.pod:2956
#, no-wrap
msgid ""
" make syntax-check -j1 -k # checks for various syntax and\n"
@@ -44184,7 +44358,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2953
+#: ../src/guestfs.pod:2959
#, no-wrap
msgid ""
" make check # runs the test suite\n"
@@ -44192,7 +44366,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2955
+#: ../src/guestfs.pod:2961
#, no-wrap
msgid ""
" make extra-tests # in-depth testing using valgrind\n"
@@ -44201,43 +44375,43 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2958
+#: ../src/guestfs.pod:2964
msgid "DAEMON CUSTOM PRINTF FORMATTERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2960
+#: ../src/guestfs.pod:2966
msgid ""
"In the daemon code we have created custom printf formatters C<%Q> and C<%R>, "
"which are used to do shell quoting."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2965
+#: ../src/guestfs.pod:2971
msgid "%Q"
msgstr "%Q"
#. type: textblock
-#: ../src/guestfs.pod:2967
+#: ../src/guestfs.pod:2973
msgid ""
"Simple shell quoted string. Any spaces or other shell characters are "
"escaped for you."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2970
+#: ../src/guestfs.pod:2976
msgid "%R"
msgstr "%R"
#. type: textblock
-#: ../src/guestfs.pod:2972
+#: ../src/guestfs.pod:2978
msgid ""
"Same as C<%Q> except the string is treated as a path which is prefixed by "
"the sysroot."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2979
+#: ../src/guestfs.pod:2985
#, no-wrap
msgid ""
" asprintf (&cmd, \"cat %R\", path);\n"
@@ -44247,12 +44421,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:2981
+#: ../src/guestfs.pod:2987
msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2983
+#: ../src/guestfs.pod:2989
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 "
@@ -44261,29 +44435,29 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2989
+#: ../src/guestfs.pod:2995
msgid "SUBMITTING YOUR NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2991
+#: ../src/guestfs.pod:2997
msgid ""
"Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/"
"libguestfs> and CC to L<rjones@redhat.com>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2995
+#: ../src/guestfs.pod:3001
msgid "INTERNATIONALIZATION (I18N) SUPPORT"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2997
+#: ../src/guestfs.pod:3003
msgid "We support i18n (gettext anyhow) in the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2999
+#: ../src/guestfs.pod:3005
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 "
@@ -44292,114 +44466,114 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3005
+#: ../src/guestfs.pod:3011
msgid ""
"Debugging messages are never translated, since they are intended for the "
"programmers."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3008
+#: ../src/guestfs.pod:3014
msgid "SOURCE CODE SUBDIRECTORIES"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3012
+#: ../src/guestfs.pod:3018
msgid "C<align>"
msgstr "C<align>"
#. type: textblock
-#: ../src/guestfs.pod:3014
+#: ../src/guestfs.pod:3020
msgid "L<virt-alignment-scan(1)> command and documentation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3018
+#: ../src/guestfs.pod:3024
msgid "The libguestfs appliance, build scripts and so on."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3020
+#: ../src/guestfs.pod:3026
msgid "C<cat>"
msgstr "C<cat>"
#. type: textblock
-#: ../src/guestfs.pod:3022
+#: ../src/guestfs.pod:3028
msgid ""
"The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and "
"documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3025
+#: ../src/guestfs.pod:3031
msgid "C<clone>"
msgstr "C<clone>"
#. type: textblock
-#: ../src/guestfs.pod:3027
+#: ../src/guestfs.pod:3033
msgid ""
"Tools for cloning virtual machines. Currently contains L<virt-sysprep(1)> "
"command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3030
+#: ../src/guestfs.pod:3036
msgid "C<contrib>"
msgstr "C<contrib>"
#. type: textblock
-#: ../src/guestfs.pod:3032
+#: ../src/guestfs.pod:3038
msgid "Outside contributions, experimental parts."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3034
+#: ../src/guestfs.pod:3040
msgid "C<daemon>"
msgstr "C<daemon>"
#. type: textblock
-#: ../src/guestfs.pod:3036
+#: ../src/guestfs.pod:3042
msgid ""
"The daemon that runs inside the libguestfs appliance and carries out actions."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3039
+#: ../src/guestfs.pod:3045
msgid "C<df>"
msgstr "C<df>"
#. type: textblock
-#: ../src/guestfs.pod:3041
+#: ../src/guestfs.pod:3047
msgid "L<virt-df(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3043
+#: ../src/guestfs.pod:3049
msgid "C<edit>"
msgstr "C<edit>"
#. type: textblock
-#: ../src/guestfs.pod:3045
+#: ../src/guestfs.pod:3051
msgid "L<virt-edit(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3047
+#: ../src/guestfs.pod:3053
msgid "C<examples>"
msgstr "C<examples>"
#. type: textblock
-#: ../src/guestfs.pod:3049
+#: ../src/guestfs.pod:3055
msgid "C API example code."
msgstr "Код прикладів використання програмного інтерфейсу мовою C."
#. type: =item
-#: ../src/guestfs.pod:3051
+#: ../src/guestfs.pod:3057
msgid "C<fish>"
msgstr "C<fish>"
#. type: textblock
-#: ../src/guestfs.pod:3053
+#: ../src/guestfs.pod:3059
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)>, "
@@ -44407,80 +44581,80 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3059
+#: ../src/guestfs.pod:3065
msgid "L<virt-format(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3061
+#: ../src/guestfs.pod:3067
msgid "C<fuse>"
msgstr "C<fuse>"
#. type: textblock
-#: ../src/guestfs.pod:3063
+#: ../src/guestfs.pod:3069
msgid ""
"L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3065
+#: ../src/guestfs.pod:3071
msgid "C<generator>"
msgstr "C<generator>"
#. type: textblock
-#: ../src/guestfs.pod:3067
+#: ../src/guestfs.pod:3073
msgid ""
"The crucially important generator, used to automatically generate large "
"amounts of boilerplate C code for things like RPC and bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3070
+#: ../src/guestfs.pod:3076
msgid "C<inspector>"
msgstr "C<inspector>"
#. type: textblock
-#: ../src/guestfs.pod:3072
+#: ../src/guestfs.pod:3078
msgid "L<virt-inspector(1)>, the virtual machine image inspector."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3074
+#: ../src/guestfs.pod:3080
msgid "C<logo>"
msgstr "C<logo>"
#. type: textblock
-#: ../src/guestfs.pod:3076
+#: ../src/guestfs.pod:3082
msgid "Logo used on the website. The fish is called Arthur by the way."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3078
+#: ../src/guestfs.pod:3084
msgid "C<m4>"
msgstr "C<m4>"
#. type: textblock
-#: ../src/guestfs.pod:3080
+#: ../src/guestfs.pod:3086
msgid "M4 macros used by autoconf."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3082
+#: ../src/guestfs.pod:3088
msgid "C<po>"
msgstr "C<po>"
#. type: textblock
-#: ../src/guestfs.pod:3084
+#: ../src/guestfs.pod:3090
msgid "Translations of simple gettext strings."
msgstr "Переклади простих рядків gettext."
#. type: =item
-#: ../src/guestfs.pod:3086
+#: ../src/guestfs.pod:3092
msgid "C<po-docs>"
msgstr "C<po-docs>"
#. type: textblock
-#: ../src/guestfs.pod:3088
+#: ../src/guestfs.pod:3094
msgid ""
"The build infrastructure and PO files for translations of manpages and POD "
"files. Eventually this will be combined with the C<po> directory, but that "
@@ -44488,140 +44662,140 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3092
+#: ../src/guestfs.pod:3098
msgid "C<rescue>"
msgstr "C<rescue>"
#. type: textblock
-#: ../src/guestfs.pod:3094
+#: ../src/guestfs.pod:3100
msgid "L<virt-rescue(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3096
+#: ../src/guestfs.pod:3102
msgid "C<resize>"
msgstr "C<resize>"
#. type: textblock
-#: ../src/guestfs.pod:3098
+#: ../src/guestfs.pod:3104
msgid "L<virt-resize(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3100
+#: ../src/guestfs.pod:3106
msgid "C<sparsify>"
msgstr "C<sparsify>"
#. type: textblock
-#: ../src/guestfs.pod:3102
+#: ../src/guestfs.pod:3108
msgid "L<virt-sparsify(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3104
+#: ../src/guestfs.pod:3110
msgid "C<src>"
msgstr "C<src>"
#. type: textblock
-#: ../src/guestfs.pod:3106
+#: ../src/guestfs.pod:3112
msgid "Source code to the C library."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3108
+#: ../src/guestfs.pod:3114
msgid "C<test-tool>"
msgstr "C<test-tool>"
#. type: textblock
-#: ../src/guestfs.pod:3110
+#: ../src/guestfs.pod:3116
msgid ""
"Test tool for end users to test if their qemu/kernel combination will work "
"with libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3113
+#: ../src/guestfs.pod:3119
msgid "C<tests>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3115
+#: ../src/guestfs.pod:3121
msgid "Tests."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3117
+#: ../src/guestfs.pod:3123
msgid "C<tools>"
msgstr "C<tools>"
#. type: textblock
-#: ../src/guestfs.pod:3119
+#: ../src/guestfs.pod:3125
msgid ""
"Command line tools written in Perl (L<virt-win-reg(1)> and many others)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3121
+#: ../src/guestfs.pod:3127
msgid "C<csharp>"
msgstr "C<csharp>"
#. type: =item
-#: ../src/guestfs.pod:3123
+#: ../src/guestfs.pod:3129
msgid "C<erlang>"
msgstr "C<erlang>"
#. type: =item
-#: ../src/guestfs.pod:3125
+#: ../src/guestfs.pod:3131
msgid "C<gobject>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3127
+#: ../src/guestfs.pod:3133
msgid "C<haskell>"
msgstr "C<haskell>"
#. type: =item
-#: ../src/guestfs.pod:3129
+#: ../src/guestfs.pod:3135
msgid "C<java>"
msgstr "C<java>"
#. type: =item
-#: ../src/guestfs.pod:3131
+#: ../src/guestfs.pod:3137
msgid "C<ocaml>"
msgstr "C<ocaml>"
#. type: =item
-#: ../src/guestfs.pod:3133
+#: ../src/guestfs.pod:3139
msgid "C<php>"
msgstr "C<php>"
#. type: =item
-#: ../src/guestfs.pod:3135
+#: ../src/guestfs.pod:3141
msgid "C<perl>"
msgstr "C<perl>"
#. type: =item
-#: ../src/guestfs.pod:3137
+#: ../src/guestfs.pod:3143
msgid "C<python>"
msgstr "C<python>"
#. type: =item
-#: ../src/guestfs.pod:3139
+#: ../src/guestfs.pod:3145
msgid "C<ruby>"
msgstr "C<ruby>"
#. type: textblock
-#: ../src/guestfs.pod:3141
+#: ../src/guestfs.pod:3147
msgid "Language bindings."
msgstr "Прив’язки до мов програмування."
#. type: =head2
-#: ../src/guestfs.pod:3145
+#: ../src/guestfs.pod:3151
msgid "MAKING A STABLE RELEASE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3147
+#: ../src/guestfs.pod:3153
msgid ""
"When we make a stable release, there are several steps documented here. See "
"L</LIBGUESTFS VERSION NUMBERS> for general information about the stable "
@@ -44629,33 +44803,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3155
+#: ../src/guestfs.pod:3161
msgid ""
"Check C<make && make check> works on at least Fedora, Debian and Ubuntu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3160
+#: ../src/guestfs.pod:3166
msgid "Finalize RELEASE-NOTES."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3164
+#: ../src/guestfs.pod:3170
msgid "Update ROADMAP."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3168
+#: ../src/guestfs.pod:3174
msgid "Run C<src/api-support/update-from-tarballs.sh>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3172
+#: ../src/guestfs.pod:3178
msgid "Push and pull from Transifex."
msgstr "Передавання даних на Transifex та отримання даних з Transifex."
#. type: verbatim
-#: ../src/guestfs.pod:3176
+#: ../src/guestfs.pod:3182
#, no-wrap
msgid ""
" tx push -s\n"
@@ -44665,13 +44839,13 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:3178
+#: ../src/guestfs.pod:3184
msgid "to push the latest POT files to Transifex. Then run:"
msgstr ""
"щоб надіслати найсвіжіші файли POT на Transifex. Потім віддайте команду:"
#. type: verbatim
-#: ../src/guestfs.pod:3180
+#: ../src/guestfs.pod:3186
#, no-wrap
msgid ""
" ./tx-pull.sh\n"
@@ -44681,24 +44855,24 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:3182
+#: ../src/guestfs.pod:3188
msgid "which is a wrapper to pull the latest translated C<*.po> files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3186
+#: ../src/guestfs.pod:3192
msgid ""
"Create new stable and development directories under L<http://libguestfs.org/"
"download>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3191
+#: ../src/guestfs.pod:3197
msgid "Create the branch in git:"
msgstr "Створення гілки у git:"
#. type: verbatim
-#: ../src/guestfs.pod:3193
+#: ../src/guestfs.pod:3199
#, no-wrap
msgid ""
" git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n"
@@ -44714,17 +44888,17 @@ msgstr ""
"\n"
#. type: =head1
-#: ../src/guestfs.pod:3200
+#: ../src/guestfs.pod:3206
msgid "LIMITS"
msgstr "ОБМЕЖЕННЯ"
#. type: =head2
-#: ../src/guestfs.pod:3202
+#: ../src/guestfs.pod:3208
msgid "PROTOCOL LIMITS"
msgstr "ОБМЕЖЕННЯ ПРОТОКОЛУ"
#. type: textblock
-#: ../src/guestfs.pod:3204
+#: ../src/guestfs.pod:3210
msgid ""
"Internally libguestfs uses a message-based protocol to pass API calls and "
"their responses to and from a small \"appliance\" (see L</INTERNALS> for "
@@ -44735,7 +44909,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3212
+#: ../src/guestfs.pod:3218
msgid ""
"A simple call such as L</guestfs_cat> returns its result (the file data) in "
"a simple string. Because this string is at some point internally encoded as "
@@ -44744,7 +44918,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3218
+#: ../src/guestfs.pod:3224
msgid ""
"In order to transfer large files into and out of the guest filesystem, you "
"need to use particular calls that support this. The sections L</UPLOADING> "
@@ -44752,24 +44926,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3222
+#: ../src/guestfs.pod:3228
msgid ""
"You might also consider mounting the disk image using our FUSE filesystem "
"support (L<guestmount(1)>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3225
+#: ../src/guestfs.pod:3231
msgid "MAXIMUM NUMBER OF DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3227
+#: ../src/guestfs.pod:3233
msgid "When using virtio disks (the default) the current limit is B<25> disks."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3230
+#: ../src/guestfs.pod:3236
msgid ""
"Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 "
"slots. However febootstrap only understands disks with names C</dev/vda> "
@@ -44778,14 +44952,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3235
+#: ../src/guestfs.pod:3241
msgid ""
"We are working to substantially raise this limit in future versions but it "
"requires complex changes to qemu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3238
+#: ../src/guestfs.pod:3244
msgid ""
"In future versions of libguestfs it should also be possible to \"hot plug\" "
"disks (add and remove disks after calling L</guestfs_launch>). This also "
@@ -44793,41 +44967,41 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3242
+#: ../src/guestfs.pod:3248
msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3244
+#: ../src/guestfs.pod:3250
msgid "Virtio limits the maximum number of partitions per disk to B<15>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3246
+#: ../src/guestfs.pod:3252
msgid ""
"This is because it reserves 4 bits for the minor device number (thus C</dev/"
"vda>, and C</dev/vda1> through C</dev/vda15>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3249
+#: ../src/guestfs.pod:3255
msgid ""
"If you attach a disk with more than 15 partitions, the extra partitions are "
"ignored by libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3252
+#: ../src/guestfs.pod:3258
msgid "MAXIMUM SIZE OF A DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3254
+#: ../src/guestfs.pod:3260
msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3256
+#: ../src/guestfs.pod:3262
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 "
@@ -44835,7 +45009,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3260
+#: ../src/guestfs.pod:3266
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 "
@@ -44845,19 +45019,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3266
+#: ../src/guestfs.pod:3272
msgid ""
"For the hugest disk image files, we recommend using XFS on the host for "
"storage."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3269
+#: ../src/guestfs.pod:3275
msgid "MAXIMUM SIZE OF A PARTITION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3271
+#: ../src/guestfs.pod:3277
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 "
@@ -44865,7 +45039,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3275
+#: ../src/guestfs.pod:3281
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 "
@@ -44873,12 +45047,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3280
+#: ../src/guestfs.pod:3286
msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3282
+#: ../src/guestfs.pod:3288
msgid ""
"This depends on the filesystem type. libguestfs itself does not impose any "
"known limit. Consult Wikipedia or the filesystem documentation to find out "
@@ -44886,12 +45060,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3286
+#: ../src/guestfs.pod:3292
msgid "MAXIMUM UPLOAD AND DOWNLOAD"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3288
+#: ../src/guestfs.pod:3294
msgid ""
"The API functions L</guestfs_upload>, L</guestfs_download>, L</"
"guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized "
@@ -44899,12 +45073,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3292
+#: ../src/guestfs.pod:3298
msgid "INSPECTION LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3294
+#: ../src/guestfs.pod:3300
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 "
@@ -44914,33 +45088,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3320
+#: ../src/guestfs.pod:3326
msgid ""
"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same "
"effect as calling C<guestfs_set_verbose (g, 1)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3332
+#: ../src/guestfs.pod:3338
msgid ""
"Set the path that libguestfs uses to search for a supermin appliance. See "
"the discussion of paths in section L</PATH> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3341
+#: ../src/guestfs.pod:3347
msgid "See also L</QEMU WRAPPERS> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3345
+#: ../src/guestfs.pod:3351
msgid ""
"Set C<LIBGUESTFS_TRACE=1> to enable command traces. This has the same "
"effect as calling C<guestfs_set_trace (g, 1)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3363
+#: ../src/guestfs.pod:3369
msgid ""
"L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-"
"ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-ruby(3)>, "
@@ -44956,7 +45130,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3402
+#: ../src/guestfs.pod:3408
msgid ""
"Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm"
"(8)>, L<disktype(1)>."
@@ -44990,14 +45164,6 @@ msgstr ""
msgid "If you suspect a problem in libguestfs, then just run:"
msgstr ""
-#. type: verbatim
-#: ../test-tool/libguestfs-test-tool.pod:21
-#, no-wrap
-msgid ""
-" libguestfs-test-tool\n"
-"\n"
-msgstr ""
-
#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:23
msgid "It will print lots of diagnostic messages."
@@ -46204,89 +46370,89 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:556
+#: ../tools/virt-win-reg.pl:546
msgid "SUPPORTED SYSTEMS"
msgstr "ПІДТРИМУВАНІ СИСТЕМИ"
#. type: textblock
-#: ../tools/virt-win-reg.pl:558
+#: ../tools/virt-win-reg.pl:548
msgid ""
"The program currently supports Windows NT-derived guests starting with "
"Windows XP through to at least Windows 7."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:561
+#: ../tools/virt-win-reg.pl:551
msgid "The following Registry keys are supported:"
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:565
+#: ../tools/virt-win-reg.pl:555
msgid "C<HKEY_LOCAL_MACHINE\\SAM>"
msgstr "C<HKEY_LOCAL_MACHINE\\SAM>"
#. type: =item
-#: ../tools/virt-win-reg.pl:567
+#: ../tools/virt-win-reg.pl:557
msgid "C<HKEY_LOCAL_MACHINE\\SECURITY>"
msgstr "C<HKEY_LOCAL_MACHINE\\SECURITY>"
#. type: =item
-#: ../tools/virt-win-reg.pl:569
+#: ../tools/virt-win-reg.pl:559
msgid "C<HKEY_LOCAL_MACHINE\\SOFTWARE>"
msgstr "C<HKEY_LOCAL_MACHINE\\SOFTWARE>"
#. type: =item
-#: ../tools/virt-win-reg.pl:571
+#: ../tools/virt-win-reg.pl:561
msgid "C<HKEY_LOCAL_MACHINE\\SYSTEM>"
msgstr "C<HKEY_LOCAL_MACHINE\\SYSTEM>"
#. type: =item
-#: ../tools/virt-win-reg.pl:573
+#: ../tools/virt-win-reg.pl:563
msgid "C<HKEY_USERS\\.DEFAULT>"
msgstr "C<HKEY_USERS\\.DEFAULT>"
#. type: =item
-#: ../tools/virt-win-reg.pl:575
+#: ../tools/virt-win-reg.pl:565
msgid "C<HKEY_USERS\\I<SID>>"
msgstr "C<HKEY_USERS\\I<SID>>"
#. type: textblock
-#: ../tools/virt-win-reg.pl:577
+#: ../tools/virt-win-reg.pl:567
msgid "where I<SID> is a Windows User SID (eg. C<S-1-5-18>)."
msgstr ""
#. type: =item
-#: ../tools/virt-win-reg.pl:579
+#: ../tools/virt-win-reg.pl:569
msgid "C<HKEY_USERS\\I<username>>"
msgstr "C<HKEY_USERS\\I<користувач>>"
#. type: textblock
-#: ../tools/virt-win-reg.pl:581
+#: ../tools/virt-win-reg.pl:571
msgid ""
"where I<username> is a local user name (this is a libguestfs extension)."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:585
+#: ../tools/virt-win-reg.pl:575
msgid ""
"You can use C<HKLM> as a shorthand for C<HKEY_LOCAL_MACHINE>, and C<HKU> for "
"C<HKEY_USERS>."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:588
+#: ../tools/virt-win-reg.pl:578
msgid ""
"The literal keys C<HKEY_USERS\\$SID> and C<HKEY_CURRENT_USER> are not "
"supported (there is no \"current user\")."
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:591
+#: ../tools/virt-win-reg.pl:581
msgid "ENCODING"
msgstr "КОДУВАННЯ"
#. type: textblock
-#: ../tools/virt-win-reg.pl:593
+#: ../tools/virt-win-reg.pl:583
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-"
@@ -46296,14 +46462,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:599
+#: ../tools/virt-win-reg.pl:589
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 ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:602
+#: ../tools/virt-win-reg.pl:592
#, no-wrap
msgid ""
" iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg\n"
@@ -46313,14 +46479,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../tools/virt-win-reg.pl:604
+#: ../tools/virt-win-reg.pl:594
msgid ""
"To go in the opposite direction, after exporting and before sending the file "
"to a Windows user, do something like this:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:607
+#: ../tools/virt-win-reg.pl:597
#, no-wrap
msgid ""
" unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg\n"
@@ -46330,12 +46496,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../tools/virt-win-reg.pl:609
+#: ../tools/virt-win-reg.pl:599
msgid "For more information about encoding, see L<Win::Hivex::Regedit(3)>."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:611
+#: ../tools/virt-win-reg.pl:601
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-"
@@ -46343,7 +46509,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:615
+#: ../tools/virt-win-reg.pl:605
#, no-wrap
msgid ""
" $ file software.reg\n"
@@ -46353,17 +46519,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:619
+#: ../tools/virt-win-reg.pl:609
msgid "This file would need conversion before you could I<--merge> it."
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:621
+#: ../tools/virt-win-reg.pl:611
msgid "CurrentControlSet etc."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:623
+#: ../tools/virt-win-reg.pl:613
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 "
@@ -46371,7 +46537,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:627
+#: ../tools/virt-win-reg.pl:617
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 "
@@ -46379,7 +46545,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:631
+#: ../tools/virt-win-reg.pl:621
#, no-wrap
msgid ""
" # virt-win-reg WindowsGuest 'HKLM\\SYSTEM\\Select'\n"
@@ -46399,28 +46565,28 @@ msgstr ""
"\n"
#. type: textblock
-#: ../tools/virt-win-reg.pl:638
+#: ../tools/virt-win-reg.pl:628
msgid "\"Current\" is the one which Windows will choose when it boots."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:640
+#: ../tools/virt-win-reg.pl:630
msgid ""
"Similarly, other C<Current...> keys in the path may need to be replaced."
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:643
+#: ../tools/virt-win-reg.pl:633
msgid "DELETING REGISTRY KEYS AND VALUES"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:645
+#: ../tools/virt-win-reg.pl:635
msgid "To delete a whole registry key, use the syntax:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:647
+#: ../tools/virt-win-reg.pl:637
#, no-wrap
msgid ""
" [-HKEY_LOCAL_MACHINE\\Foo]\n"
@@ -46428,12 +46594,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:649
+#: ../tools/virt-win-reg.pl:639
msgid "To delete a single value within a key, use the syntax:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:651
+#: ../tools/virt-win-reg.pl:641
#, no-wrap
msgid ""
" [HKEY_LOCAL_MACHINE\\Foo]\n"
@@ -46442,24 +46608,24 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../tools/virt-win-reg.pl:654
+#: ../tools/virt-win-reg.pl:644
msgid "WINDOWS TIPS"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:656
+#: ../tools/virt-win-reg.pl:646
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 ""
#. type: =head2
-#: ../tools/virt-win-reg.pl:659
+#: ../tools/virt-win-reg.pl:649
msgid "RUNNING A BATCH SCRIPT WHEN A USER LOGS IN"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:661
+#: ../tools/virt-win-reg.pl:651
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 "
@@ -46467,7 +46633,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:665
+#: ../tools/virt-win-reg.pl:655
#, no-wrap
msgid ""
" guestfish -i -d WindowsGuest upload test.bat /test.bat\n"
@@ -46477,12 +46643,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../tools/virt-win-reg.pl:667
+#: ../tools/virt-win-reg.pl:657
msgid "Prepare a regedit file containing the registry change:"
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:669
+#: ../tools/virt-win-reg.pl:659
#, no-wrap
msgid ""
" cat > test.reg <<'EOF'\n"
@@ -46498,7 +46664,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../tools/virt-win-reg.pl:674
+#: ../tools/virt-win-reg.pl:664
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 "
@@ -46506,12 +46672,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:678
+#: ../tools/virt-win-reg.pl:668
msgid "Now update the registry:"
msgstr "Оновіть регістр:"
#. type: verbatim
-#: ../tools/virt-win-reg.pl:680
+#: ../tools/virt-win-reg.pl:670
#, no-wrap
msgid ""
" virt-win-reg --merge WindowsGuest test.reg\n"
@@ -46519,12 +46685,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../tools/virt-win-reg.pl:682
+#: ../tools/virt-win-reg.pl:672
msgid "INSTALLING A SERVICE"
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:684
+#: ../tools/virt-win-reg.pl:674
msgid ""
"This section assumes you are familiar with Windows services, and you either "
"have a program which handles the Windows Service Control Protocol directly "
@@ -46533,14 +46699,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:689
+#: ../tools/virt-win-reg.pl:679
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 ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:693
+#: ../tools/virt-win-reg.pl:683
#, no-wrap
msgid ""
" guestfish -i -d WindowsGuest <<EOF\n"
@@ -46556,7 +46722,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../tools/virt-win-reg.pl:698
+#: ../tools/virt-win-reg.pl:688
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 "
@@ -46565,7 +46731,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../tools/virt-win-reg.pl:703
+#: ../tools/virt-win-reg.pl:693
#, no-wrap
msgid ""
" cat > service.reg <<'EOF'\n"
@@ -46589,7 +46755,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../tools/virt-win-reg.pl:712
+#: ../tools/virt-win-reg.pl:702
#, no-wrap
msgid ""
" [HKLM\\SYSTEM\\ControlSet001\\services\\RHSrvAny\\Parameters]\n"
@@ -46605,7 +46771,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../tools/virt-win-reg.pl:723
+#: ../tools/virt-win-reg.pl:713
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 "
@@ -46613,7 +46779,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:729
+#: ../tools/virt-win-reg.pl:719
msgid ""
"C<\"ObjectName\"> controls the privileges that the service will have. An "
"alternative is C<\"ObjectName\"=\"LocalSystem\"> which would be the most "
@@ -46621,19 +46787,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:735
+#: ../tools/virt-win-reg.pl:725
msgid ""
"For the meaning of the magic numbers, see this Microsoft KB article: "
"L<http://support.microsoft.com/kb/103000>."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:740
+#: ../tools/virt-win-reg.pl:730
msgid "Update the registry:"
msgstr "Оновіть регістр:"
#. type: verbatim
-#: ../tools/virt-win-reg.pl:742
+#: ../tools/virt-win-reg.pl:732
#, no-wrap
msgid ""
" virt-win-reg --merge WindowsGuest service.reg\n"
@@ -46641,7 +46807,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:746
+#: ../tools/virt-win-reg.pl:736
msgid ""
"Be careful when passing parameters containing C<\\> (backslash) in the "
"shell. Usually you will have to use 'single quotes' or double backslashes "
@@ -46649,12 +46815,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:750
+#: ../tools/virt-win-reg.pl:740
msgid "Paths and value names are case-insensitive."
msgstr ""
#. type: textblock
-#: ../tools/virt-win-reg.pl:759
+#: ../tools/virt-win-reg.pl:749
msgid ""
"L<hivex(3)>, L<hivexsh(1)>, L<hivexregedit(1)>, L<guestfs(3)>, L<guestfish(1)"
">, L<virt-cat(1)>, L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, L<Win::Hivex"
@@ -46665,7 +46831,7 @@ msgstr ""
"(3)>, L<Win::Hivex::Regedit(3)>, L<Sys::Virt(3)>, L<http://libguestfs.org/>."
#. type: textblock
-#: ../tools/virt-win-reg.pl:778
+#: ../tools/virt-win-reg.pl:768
msgid "Copyright (C) 2010 Red Hat Inc."
msgstr "©Red Hat Inc., 2010"
diff --git a/po/en_GB.po b/po/en_GB.po
index b8292570..aff4249b 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.net/projects/p/"
@@ -111,12 +111,12 @@ msgstr ""
" -x Trace libguestfs API calls\n"
"For more information, see the manpage %s(1).\n"
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2938,12 +2938,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -2960,52 +2960,52 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr ""
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -3052,7 +3052,7 @@ msgstr ""
msgid "{imagename} seems to have no disk devices\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3064,56 +3064,56 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr ""
@@ -3156,19 +3156,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3176,7 +3176,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3185,7 +3185,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3195,7 +3195,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3204,12 +3204,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3295,7 +3295,7 @@ msgstr ""
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3333,11 +3333,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr ""
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr ""
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3378,10 +3373,6 @@ msgstr ""
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr ""
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr ""
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr ""
@@ -3394,12 +3385,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr ""
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr ""
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr ""
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3409,7 +3411,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr ""
@@ -3592,79 +3594,79 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr ""
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr ""
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr ""
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr ""
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr ""
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr ""
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr ""
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr ""
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr ""
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr ""
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
"--qemu/--qemudir options cannot be used.\n"
msgstr ""
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr ""
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr ""
@@ -3780,17 +3782,12 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 69d35a18..226423b6 100644
--- a/po/es.po
+++ b/po/es.po
@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Spanish (Castilian) <trans-es@lists.fedoraproject.org>\n"
@@ -128,14 +128,14 @@ msgstr ""
" -x Rastrea llamados API de libguestfs\n"
"Para obtener mayor información, consulte la página man %s(1).\n"
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
"%s para utilizar una letra de unidad de Windows, este debe ser un huésped "
"Windows\n"
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr "%s: no se ha encontrado una unidad '%c'.\n"
@@ -3081,12 +3081,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -3119,52 +3119,52 @@ msgstr ""
" mayor cantidad de información relacionada con la imagen de disco que le sea "
"posible.\n"
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr "%s: error de escritura XML en \"%s\": %m\n"
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr "%s: xmlOutputBufferCreateFd: falló al abrir stdout\n"
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr "%s: xmlNewTextWriter: falló al crear escritor libxml2\n"
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -3214,7 +3214,7 @@ msgstr "{imagename} no es el nombre de un dominio libvirt\n"
msgid "{imagename} seems to have no disk devices\n"
msgstr "{imagename} parece no tener dispositivos de disco\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3237,60 +3237,60 @@ msgstr ""
"mayor cantidad de información acerca de la imagen de disco que le sea "
"posible.\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr "sistema de archivos desconocido {fs}\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr "Error ejecutando rpm -qa: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr "Error ejecutando dpkg-query: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr "No es posible encontrar el grub en el huésped"
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr "La entrada del grub {title} no posee un kernel"
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr "el grub hace referencia a {path}, que no existe\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr "La entrada del grub {title} no especifica ningún initrd"
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
"No ha sido encontrados un directorio de módulos {modules} para la {path} del "
"kernel"
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
"No ha sido posible adivinar el número de versión del kernel desde la {path} "
"del kernel"
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr "{path} no coincide con el patrón augeas"
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr "{filename}: no es posible leer formato initrd"
@@ -3333,19 +3333,19 @@ msgstr "%s: no pudo parsearse el parametro --smp '%s'\n"
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr "%s: el parámetro --smp '%s' debería ser >= 1\n"
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr "%s: no se pudo analizar el tamaño '%s' de la memoria\n"
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3353,7 +3353,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3362,7 +3362,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3372,7 +3372,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3381,12 +3381,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr "%s: estado de salida de proceso hijo desconocido (%d)\n"
@@ -3482,7 +3482,7 @@ msgstr "no es un huésped Windows, o systemroot no pudo ser determinado"
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr "no es un huésped Wndows, o no pudo determinarse CurrentControlSet"
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3524,11 +3524,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr "no se pudo analizar /etc/fstab o vaciar el archivo"
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr "no es posible resolver %%SYSTEMROOT%% de Windows"
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3571,10 +3566,6 @@ msgstr "el manipulador libguestfs ya ha sido iniciado"
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "antes de guestfs_launch, debe llamar guestfs_add_drive"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "falló guestfs_launch, vea mensajes de errores anteriores"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr ""
@@ -3589,12 +3580,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr "se ha hecho contacto con guestfsd, pero el estado es != READY"
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "falló guestfs_launch, vea mensajes de errores anteriores"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: no es posible crear directorio temporal"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, fuzzy, c-format
msgid ""
"command failed: %s\n"
@@ -3609,7 +3611,7 @@ msgstr ""
"de entorno LIBGUESTFS_QEMU. Puede que se hayan mostrado también errores "
"arriba."
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "todavía qemu no ha sido iniciado "
@@ -3819,67 +3821,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "bguestfs-test-tool: falló al crear el manipulador libguestfs\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: falló guestfs_version\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: opción extensa desconocida: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: tiempo de espera no válido: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: opción de línea de comando no esperada 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: falló al agregar dispositivo '%s'\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: falló al intentar lanzar dispositivo\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr "libguestfs-test-tool: falló al ejecutar part-disk\n"
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: falló al realizar mkfs.ext2\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: falló al montar /dev/sda1 sobre /\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr "libguestfs-test-tool: falló al tocar el archivo\n"
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: falló guestfs_version\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3888,12 +3890,12 @@ msgstr ""
"la variable de entorno LIBGUESTFS_QEMU ya se encuentra definida,\n"
"de modo que las opciones --qemu/--qemudir no pueden ser utilizadas.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "El binario '%s' no existe o no es un ejecutable\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: no parece un directorio fuente de qemu\n"
@@ -4037,25 +4039,26 @@ msgstr "virt-win-reg: {p}: no es posible hallar el directorio del usuario\n"
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr "virt-win-reg: {p}: no es una ruta de Windows Registry soportada\n"
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-"virt-win-reg: {p}: el archivo no ha sido encontrado en el huésped: {err}\n"
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
"virt-win-reg: {p}: no ha sido posible descargar el archivo de registro: "
"{err}\n"
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
"virt-win-reg: {p}: no ha sido posible cargar el archivo de registro: {err}\n"
+#~ msgid "cannot resolve Windows %%SYSTEMROOT%%"
+#~ msgstr "no es posible resolver %%SYSTEMROOT%% de Windows"
+
+#~ msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
+#~ msgstr ""
+#~ "virt-win-reg: {p}: el archivo no ha sido encontrado en el huésped: {err}\n"
+
#~ msgid "no subprocess to kill"
#~ msgstr "ningún subproceso que finalizar"
diff --git a/po/gu.po b/po/gu.po
index fb7b4c0a..4024fba3 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Gujarati <trans-gu@lists.fedoraproject.org>\n"
@@ -94,12 +94,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2878,12 +2878,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -2900,52 +2900,52 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr ""
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -2992,7 +2992,7 @@ msgstr ""
msgid "{imagename} seems to have no disk devices\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3004,56 +3004,56 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr "અજ્ઞાત ફાઇલસિસ્ટમ {fs}\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr ""
@@ -3096,19 +3096,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3116,7 +3116,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3125,7 +3125,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3135,7 +3135,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3144,12 +3144,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3235,7 +3235,7 @@ msgstr ""
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3273,11 +3273,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr ""
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr ""
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3318,10 +3313,6 @@ msgstr ""
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "તમારે guestfs_launch પહેલાં guestfs_add_drive ને કોલ કરવુ જ જોઇએ"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch નિષ્ફળ, પહેલાનાં ભૂલ સંદેશાઓને જૂઓ"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr "qemu શરૂ થયેલ છે, ડિમનનો સંપર્ક થયેલ છે, પરંતુ state != READY"
@@ -3334,12 +3325,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr ""
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch નિષ્ફળ, પહેલાનાં ભૂલ સંદેશાઓને જૂઓ"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: કામચલાઉ ડિરેક્ટરીને બનાવી શકાતી નથી"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3349,7 +3351,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu એ હજુ શરૂ કરવામાં આવ્યુ નથી"
@@ -3533,67 +3535,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: libguestfs હેન્ડલને બનાવવાનું નિષ્ફળ\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version નિષ્ફળ\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: અજ્ઞાત લાંબો વિકલ્પ: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: અયોગ્ય સમયસમાપ્તિ: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: અનિચ્છનીય આદેશ વાક્ય વિકલ્પ 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: ડ્રાઇવ '%s' ને ઉમેરવાનું નિષ્ફળ\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: સાધનને શરૂ કરવાનું નિષ્ફળ\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: mkfs.ext2 કરવાનું નિષ્ફળ\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: / પર mount /dev/sda1 કરવાનું નિષ્ફળ\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version નિષ્ફળ\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3602,12 +3604,12 @@ msgstr ""
"LIBGUESTFS_QEMU પર્યાવરણ ચલ એ પહેલેથી જ સુયોજિત છે, તેથી\n"
"--qemu/--qemudir વિકલ્પોને વાપરી શકાતા નથી.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "બાઇનરી '%s' એ અસ્તિત્વ ધરાવતુ નથી અથવા એક્સિક્યૂટેબલ નથી\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: qemu સ્ત્રોત ડિરેક્ટરીનાં જેવુ લાગતુ નથી\n"
@@ -3723,17 +3725,12 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/po/hi.po b/po/hi.po
index 89e4b5c8..dd5c8d80 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Hindi <indlinux-hindi@lists.sourceforge.net>\n"
@@ -94,12 +94,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2876,12 +2876,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -2898,52 +2898,52 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr ""
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -2990,7 +2990,7 @@ msgstr ""
msgid "{imagename} seems to have no disk devices\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3002,56 +3002,56 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr ""
@@ -3094,19 +3094,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3114,7 +3114,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3123,7 +3123,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3133,7 +3133,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3142,12 +3142,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3233,7 +3233,7 @@ msgstr ""
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3271,11 +3271,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr ""
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr ""
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3316,10 +3311,6 @@ msgstr ""
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "you must call guestfs_add_drive before guestfs_launch"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch विफल, पहले की त्रुटि संदेश देखें"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr "qemu launched and contacted daemon, but state != READY"
@@ -3332,12 +3323,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr ""
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch विफल, पहले की त्रुटि संदेश देखें"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: को अस्थायी निर्देशिका नहीं बना सकता है"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3347,7 +3349,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu को अबतक लॉन्च नहीं किया गया है"
@@ -3531,67 +3533,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: failed to create libguestfs handle\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version failed\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: unknown long option: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: invalid timeout: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: unexpected command line option 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: failed to add drive '%s'\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: failed to launch appliance\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: failed to mkfs.ext2\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version failed\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3600,12 +3602,12 @@ msgstr ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
"--qemu/--qemudir options cannot be used.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "द्विपदीय '%s' मौजूद नहीं है या निष्पादनीय नहीं है\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: qemu स्रोत निर्देशिका की तरह नहीं दिखता है\n"
@@ -3721,17 +3723,12 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/po/kn.po b/po/kn.po
index 5d60f591..702a173e 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Kannada (http://www.transifex.net/projects/p/fedora/team/"
@@ -94,12 +94,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2883,12 +2883,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -2905,52 +2905,52 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr ""
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -2997,7 +2997,7 @@ msgstr ""
msgid "{imagename} seems to have no disk devices\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3009,56 +3009,56 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr ""
@@ -3101,19 +3101,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3121,7 +3121,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3130,7 +3130,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3140,7 +3140,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3149,12 +3149,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3240,7 +3240,7 @@ msgstr ""
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3278,11 +3278,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr ""
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr ""
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3323,10 +3318,6 @@ msgstr ""
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "ನೀವು guestfs_launch ನ ಮೊದಲು guestfs_add_drive ಅನ್ನು ಕರೆಯಬೇಕು"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch ವಿಫಲಗೊಂಡಿದೆ, ಹಿಂದಿನ ದೋಷ ಸಂದೇಶಗಳನ್ನು ನೋಡಿ"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr "qemu ಆರಂಭಗೊಂಡಿದೆ ಹಾಗು ಡೀಮನ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿದೆ, ಆದರೆ != READY ಸ್ಥಿತಿಯಲ್ಲಿದೆ"
@@ -3339,12 +3330,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr ""
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch ವಿಫಲಗೊಂಡಿದೆ, ಹಿಂದಿನ ದೋಷ ಸಂದೇಶಗಳನ್ನು ನೋಡಿ"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: ಒಂದು ತಾತ್ಕಾಲಿಕ ಕೋಶವನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3354,7 +3356,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu ಅನ್ನು ಇನ್ನೂ ಸಹ ಆರಂಭಿಸಲಾಗಿಲ್ಲ"
@@ -3539,67 +3541,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: libguestfs ಹ್ಯಾಂಡಲ್ ಅನ್ನು ರಚಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version ವಿಫಲಗೊಂಡಿದೆ\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: ಗೊತ್ತಿರದ ಉದ್ದ ಆಯ್ಕೆ: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: ಅಮಾನ್ಯವಾದ ಕಾಲಾವಧಿ ತೀರಿಕೆ: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: ಅನಿರೀಕ್ಷಿತವಾದ ಆಜ್ಞಾ ಸಾಲಿನ ಆಯ್ಕೆ 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: '%s' ಎಂಬ ಡ್ರೈವನ್ನು ಸೇರಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: ಅಪ್ಲೈಯನ್ಸ್ ಅನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: mkfs.ext2 ಅನ್ನು ಮಾಡುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: /dev/sda1 ಅನ್ನು / ನಲ್ಲಿ ಆರೋಹಿಸಲಾಗಲಿಲ್ಲ\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version ವಿಫಲಗೊಂಡಿದೆ\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3608,12 +3610,12 @@ msgstr ""
"LIBGUESTFS_QEMU ಪರಿಸರವನ್ನು ಈಗಾಗಲೆ ಹೊಂದಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ\n"
"--qemu/--qemudir ಆಯ್ಕೆಗಳನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "ಬೈನರಿ '%s' ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ ಅಥವ ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: ಇದು ಒಂದು qemu ಆಕರ ಕೋಶದ ರೀತಿ ಕಾಣಿಸುತ್ತಿಲ್ಲ\n"
@@ -3729,17 +3731,12 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/po/libguestfs.pot b/po/libguestfs.pot
index a96b83e3..fa820071 100644
--- a/po/libguestfs.pot
+++ b/po/libguestfs.pot
@@ -6,10 +6,10 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: libguestfs 1.16.31\n"
+"Project-Id-Version: libguestfs 1.16.32\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -92,12 +92,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2865,12 +2865,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -2887,52 +2887,52 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr ""
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -2979,7 +2979,7 @@ msgstr ""
msgid "{imagename} seems to have no disk devices\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -2991,56 +2991,56 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr ""
@@ -3083,19 +3083,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3103,7 +3103,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3112,7 +3112,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3122,7 +3122,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3131,12 +3131,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3222,7 +3222,7 @@ msgstr ""
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3260,11 +3260,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr ""
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr ""
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3305,10 +3300,6 @@ msgstr ""
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr ""
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr ""
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr ""
@@ -3321,12 +3312,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr ""
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr ""
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr ""
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3336,7 +3338,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr ""
@@ -3519,79 +3521,79 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr ""
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr ""
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr ""
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr ""
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr ""
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr ""
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr ""
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr ""
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr ""
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr ""
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
"--qemu/--qemudir options cannot be used.\n"
msgstr ""
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr ""
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr ""
@@ -3707,17 +3709,12 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/po/ml.po b/po/ml.po
index eb6978a4..d1bc6f3f 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Malayalam <discuss@lists.smc.org.in>\n"
@@ -93,12 +93,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2878,12 +2878,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -2900,52 +2900,52 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr ""
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -2992,7 +2992,7 @@ msgstr ""
msgid "{imagename} seems to have no disk devices\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3004,56 +3004,56 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr ""
@@ -3096,19 +3096,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3116,7 +3116,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3125,7 +3125,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3135,7 +3135,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3144,12 +3144,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3235,7 +3235,7 @@ msgstr ""
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3273,11 +3273,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr ""
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr ""
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3318,10 +3313,6 @@ msgstr ""
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "guestfs_launch-നു് മുമ്പു് guestfs_add_drive വിളിക്കേണ്ടതു്"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch പരാജയപ്പെട്ടു, മുമ്പുള്ള പിശക് സന്ദേശങ്ങള്‍ കാണുക"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr "qemu വിന്യസിച്ചു് ഡെമണുമായി ബന്ധപ്പെട്ടു, പക്ഷേ state != READY"
@@ -3334,12 +3325,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr ""
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch പരാജയപ്പെട്ടു, മുമ്പുള്ള പിശക് സന്ദേശങ്ങള്‍ കാണുക"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: താല്‍ക്കാലിക ഡയറക്ടറി ഉണ്ടാക്കുവാന്‍ സാധ്യമല്ല"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3349,7 +3351,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu ഇതുവരെ വിന്യസിച്ചിട്ടില്ല"
@@ -3533,67 +3535,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: libguestfs ഹാന്‍ഡില്‍ ഉണ്ടാക്കുന്നതില്‍ പരാജയപ്പെട്ടു\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version പരാജയപ്പെട്ടു\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: അപരിചിതമായ ലോങ് ഉപാധി: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: invalid timeout: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: അപ്രതീക്ഷിതമായ കമാന്‍ഡ് ലൈന്‍ ഉപാധി 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: ഡ്രൈവ് '%s' ചേര്‍ക്കുന്നതില്‍ പരാജയപ്പെട്ടു\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: പ്രയോഗം ലഭ്യമാക്കുന്നതില്‍ പരാജയപ്പെട്ടു\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: mkfs.ext2 പരാജയപ്പെട്ടു\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: /dev/sda1 /-ല്‍ മൌണ്ട് ചെയ്യുന്നതില്‍ പരാജയപ്പെട്ടു\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version പരാജയപ്പെട്ടു\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3602,12 +3604,12 @@ msgstr ""
"LIBGUESTFS_QEMU എന്‍വയോണ്മെന്റ് വേരിയബിള്‍ നിലവില്‍ സജ്ജമാണു്, അതിനാല്‍\n"
"--qemu/--qemudir ഉപാധികള്‍ ഉപയോഗിക്കുവാന്‍ സാധ്യമല്ല.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "ബൈനറി '%s' നിലവിലില്ല അല്ലെങ്കില്‍ പ്രവര്‍ത്തിക്കുന്നില്ല\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: qemu ഉറവിട ഡയറക്ടറിയില്‍ നിന്നും വ്യത്യസ്ഥമാണു്\n"
@@ -3723,17 +3725,12 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/po/mr.po b/po/mr.po
index 63d6778a..6a66cb22 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Marathi (http://www.transifex.net/projects/p/fedora/team/"
@@ -112,12 +112,12 @@ msgstr ""
" -x libguestfs API कॉल्स् ट्रेस करा\n"
"अधिक माहितीकरीता, manpage %s(1) पहा.\n"
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2984,12 +2984,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -3016,52 +3016,52 @@ msgstr ""
"ही त्रुटी आहे असे आढळल्यास, कृपया बग अहवाल सादर करा ज्यामध्ये \n"
"डिस्क प्रतिमाविषयी जास्तित जास्त माहिती समाविष्टीत असेल.\n"
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr "%s: \"%s\" येथे XML लेखन त्रुटी आढळली: %m\n"
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr "%s: xmlOutputBufferCreateFd: stdout उघडण्यास अपयशी\n"
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr "%s: xmlNewTextWriter: libxml2 राइटर निर्माण करण्यास अपयशी\n"
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -3110,7 +3110,7 @@ msgstr "{imagename} हे libvirt डोमेनचे नाव नाही\
msgid "{imagename} seems to have no disk devices\n"
msgstr "{imagename} कडे डिस्क साधणे नाही असे आढळते\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3129,56 +3129,56 @@ msgstr ""
"ही त्रुटी आहे असे आढळल्यास, \n"
"कृपया डिस्क प्रतिमाविषयी जास्तित जास्त माहिती समाविष्ट करून बग अहवाल सादर करा.\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr "अपरिचीत फाइलप्रणाली {fs}\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr "rpm -qa चालवतेवेळी त्रुटी: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr "dpkg-query चालवतेवेळी त्रुटी: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr "अतिथीवर ग्रब आढळले नाही"
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr "ग्रब नोंदणी {title} मध्ये कर्नल आढळले नाही"
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr "ग्रब {path} करीता निर्देशीत आहे, जे अस्तित्वात नाही\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr "ग्रब नोंदणी {title} initrd निर्देशीत करत नाही"
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr "कर्नल {path} करीता मॉड्यूल्स् डिरेक्ट्री {modules} आढळले नाही"
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr "कर्नल {path} करीता मार्ग पासून कर्नल आवृत्ती क्रमांक तर्कणे अशक्य"
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr "{path} augeas नमुनाशी जुळत नाही"
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr "{filename}: initrd स्वरूप वाचणे अशक्य"
@@ -3221,19 +3221,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr "%s: मेमरी आकार '%s' वाचणे अशक्य\n"
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3241,7 +3241,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3250,7 +3250,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3260,7 +3260,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3269,12 +3269,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr "%s: अपरिचीत चाइल्ड एक्जिट स्टेटस् (%d)\n"
@@ -3362,7 +3362,7 @@ msgstr "विंडोज अतिथी नाही, किंवा systemr
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3402,11 +3402,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr "/etc/fstab किंवा रिकामी फाइल वाचणे अशक्य"
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr "विंडोज %%SYSTEMROOT%% निश्चित करणे अशक्य"
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3447,10 +3442,6 @@ msgstr "libguestfs हँडल आधिपासूनच सुरू आह
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "guestfs_add_drive यांस guestfs_launch च्या अगोदर कॉल करा"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch अपयशी, पूर्वीचे त्रुटी संदेश पहा"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr "qemu सुरू झाले व डिमन सुरू केले, परंतु state != READY आढळले"
@@ -3463,12 +3454,23 @@ msgstr "guestfs_launch अपयशी, guestfsd पासून अनपेक
msgid "contacted guestfsd, but state != READY"
msgstr "guestfsd सह संपर्क केले, परंतु state != READY"
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch अपयशी, पूर्वीचे त्रुटी संदेश पहा"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: तात्पुर्ती डिरेक्ट्री निर्माण करणे अशक्य"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3478,7 +3480,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu अजूनही सुरू केले नाही"
@@ -3671,67 +3673,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: libguestfs हँडल निर्माण करण्यास अपयशी\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version अपयशी\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: उपरिचीत लाँग पर्याय: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: अवैध वेळसमाप्ती: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: अनपेक्षीत आदेश ओळ पर्याय 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: ड्राइव्ह '%s' समावेश करण्यास अपयशी\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: अप्लायंस सुरू करण्यास अपयशी\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: mkfs.ext2 अपयशी\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: /dev/sda1 यांस / वर माऊंट करण्यास अपयशी\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version अपयशी\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3740,12 +3742,12 @@ msgstr ""
"LIBGUESTFS_QEMU एन्वार्यनमेंट वेरियेबल आधिपासून सेट आहे, म्हणून\n"
"--qemu/--qemudir पर्याय याचा वापर करणे अशक्य आहे.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "बाइनरी '%s' अस्तित्वात नाही किंवा एक्जीक्यूटेबल नाही\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: qemu स्रोत डिरेक्ट्री प्रमाणे आढळले नाही\n"
@@ -3873,21 +3875,22 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr "virt-win-reg: {p}: समर्थीत विंडोज रेजिस्ट्री पाथ नाही\n"
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr "virt-win-reg: {p}: अतिथीमध्ये फाइल आढळली नाही: {err}\n"
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr "virt-win-reg: {p}: रेजिस्ट्री फाइल डाउनलोड करणे शक्य नाही: {err}\n"
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr "virt-win-reg: {p}: रेजिस्ट्री फाइल अपलोड करणे शक्य नाही: {err}\n"
+#~ msgid "cannot resolve Windows %%SYSTEMROOT%%"
+#~ msgstr "विंडोज %%SYSTEMROOT%% निश्चित करणे अशक्य"
+
+#~ msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
+#~ msgstr "virt-win-reg: {p}: अतिथीमध्ये फाइल आढळली नाही: {err}\n"
+
#~ msgid "no subprocess to kill"
#~ msgstr "kill करीता उपकार्य उपलब्ध नाही"
diff --git a/po/nl.po b/po/nl.po
index 951b4b7d..f637ab15 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Dutch (http://www.transifex.net/projects/p/fedora/team/nl/)\n"
@@ -128,13 +128,13 @@ msgstr ""
" -x Trace libguestfs API calls\n"
"Voor meer informatie, zie de manpagina %s(1).\n"
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
"%s: om Windows schijf letters te gebruiken, moet dit een Windows gast zijn\n"
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr "%s: starion '%c:' niet gevonden.\n"
@@ -3042,12 +3042,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -3077,52 +3077,52 @@ msgstr ""
"Als je vindt dat dit een fout is, dien dan een bug rapport in met\n"
"zo veel mogelijk informatie over de schijf image.\n"
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr "%s: XML schrijf fout bij \"%s\": %m\n"
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr "%s: xmlOutputBufferCreateFd: stdout openen mislukte\n"
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr "%s: xmlNewTextWriter: libxml2 schrijver aanmaken mislukte\n"
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -3171,7 +3171,7 @@ msgstr "{imagename} is niet de naam van een libvirt domein\n"
msgid "{imagename} seems to have no disk devices\n"
msgstr "{imagename} lijkt geen schijf apparaten te hebben\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3191,56 +3191,56 @@ msgstr ""
"Als je denkt dat dit een fout is, moet je een bug rapport indienen\n"
"met inbegrip van zoveel mogelijk informatie over de schijf image.\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr "onbekend bestandssysteem {fs}\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr "Fout bij het draaien van rpm -qa: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr "Fout bij het draaien van dpkg-query: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr "Kan grub niet op de gast vinden"
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr "Grub ingang {title} heeft geen kernel"
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr "grub refereert naar {path}, welke niet bestaat\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr "Grub ingang {title} specificeert geen initrd"
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr "Kon modules map {modules} niet vinden voor kernel {path}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr "Kon kernel versie nummer niet raden uit het pad voor kernel {path}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr "{path} komt niet overeen met augeas patroon"
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr "{filename}: kon initrd formaat niet lezen"
@@ -3283,19 +3283,19 @@ msgstr "%s: kon --smp parameter '%s' niet ontleden\n"
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr "%s: --smp parameter '%s' moet >= 1 zijn\n"
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr "%s:kon geheugen grootte niet ontleden '%s'\n"
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3303,7 +3303,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3312,7 +3312,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3322,7 +3322,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3331,12 +3331,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr "%s: onbekende kind exit status (%d)\n"
@@ -3429,7 +3429,7 @@ msgstr "Geen Windows gast, of systeem root kon niet bepaald worden"
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr "geen Windows gast, of CurrentControlSet kon niet bepaald worden"
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3471,11 +3471,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr "kan /etc/fstab niet ontleden of leeg bestand"
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr "Kan Windows %%SYSTEMROOT%% niet oplossen"
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3518,10 +3513,6 @@ msgstr "de libguestfs hendel is al gelanceerd"
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "je moet guestfs_add_drive aanroepen voor guestfs_launch"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch mislukte, bekijk de eerdere fout boodschap"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr ""
@@ -3535,12 +3526,23 @@ msgstr "guestfs_launch mislukte, onverwachte initiele boodschap van guestfsd"
msgid "contacted guestfsd, but state != READY"
msgstr "contact gemaakt met guestfsd, maar toestand != READY"
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch mislukte, bekijk de eerdere fout boodschap"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: kan geen tijdelijke map aanmaken"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, fuzzy, c-format
msgid ""
"command failed: %s\n"
@@ -3556,7 +3558,7 @@ msgstr ""
"omgevingsvariabele in te stellen. Er kunnen hierboven ook fouten afgedrukt "
"worden."
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu is nog niet gelanceerd"
@@ -3761,67 +3763,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: libguestfs hendel aanmaken mislukte\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version mislukte\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: onbekende lange optie: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: ongeldige time-out: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: onverwachte commando regel optie 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: station '%s' toevoegen mislukte\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: toestel lanceren mislukte\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr "libguestfs-test-tool: part-disk draaien mislukte\n"
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: mkfs.ext2 mislukte\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: aankoppelen van /dev/sda1 op / mislukte\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr "libguestfs-test-tool: bestand touchen mislukte\n"
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version mislukte\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3830,12 +3832,12 @@ msgstr ""
"LIBGUESTFS_QEMU omgevingsvariabele al is ingesteld, dus\n"
"de --qemu/--qemudir opties kunnen niet gebruikt worden.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "Binair programma '%s' bestaat niet of is niet uitvoerbaar\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: ziet er niet uit als een qemu bron map\n"
@@ -3972,21 +3974,22 @@ msgstr "virt-win-reg: {p}: kan gebruikers map niet vinden\n"
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr "virt-win-reg: {p}: geen ondersteund Windows Registry pad\n"
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr "virt-win-reg: {p}: bestand niet gevonden in gast: {err}\n"
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr "virt-win-reg: {p}: kon registry bestand niet downloaden: {err}\n"
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr "virt-win-reg: {p}: kon registry bestand niet uploaden: {err}\n"
+#~ msgid "cannot resolve Windows %%SYSTEMROOT%%"
+#~ msgstr "Kan Windows %%SYSTEMROOT%% niet oplossen"
+
+#~ msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
+#~ msgstr "virt-win-reg: {p}: bestand niet gevonden in gast: {err}\n"
+
#~ msgid "no subprocess to kill"
#~ msgstr "geen sub-proces om af te schieten"
diff --git a/po/or.po b/po/or.po
index 11e37ce3..55cf3d33 100644
--- a/po/or.po
+++ b/po/or.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Oriya (http://www.transifex.net/projects/p/fedora/team/or/)\n"
@@ -93,12 +93,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2876,12 +2876,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -2898,52 +2898,52 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr ""
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -2990,7 +2990,7 @@ msgstr ""
msgid "{imagename} seems to have no disk devices\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3002,56 +3002,56 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr ""
@@ -3094,19 +3094,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3114,7 +3114,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3123,7 +3123,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3133,7 +3133,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3142,12 +3142,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3233,7 +3233,7 @@ msgstr ""
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3271,11 +3271,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr ""
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr ""
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3316,10 +3311,6 @@ msgstr ""
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "ଆପଣ ନିଶ୍ଚିତ ଭାବରେ guestfs_add_drive କୁ guestfs_launch ପୂର୍ବରୁ ଡାକିବା ଉଚିତ"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch ବିଫଳ ହୋଇଛି, ପୂର୍ବର ତ୍ରୁଟି ସନ୍ଦେଶଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr "qemu ଆରମ୍ଭ ହୋଇଛି ଏବଂ ଡେମନ ସହିତ ଯୋଗାଯୋଗ ଆରମ୍ଭ କରିଛି, କିନ୍ତୁ ଅବସ୍ଥା != READY"
@@ -3332,12 +3323,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr ""
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch ବିଫଳ ହୋଇଛି, ପୂର୍ବର ତ୍ରୁଟି ସନ୍ଦେଶଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: ଅସ୍ଥାୟୀ ଡିରେକ୍ଟୋରୀ ନିର୍ମାଣ କରିପାରିବେ ନାହିଁ"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3347,7 +3349,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu ଏପର୍ଯ୍ୟନ୍ତ ଆରମ୍ଭ ହୋଇନାହିଁ"
@@ -3530,67 +3532,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: libguestfs ନିୟନ୍ତ୍ରଣକୁ ନିର୍ମାଣ କରିବାରେ ବିଫଳ ହୋଇଛି\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version ବିଫଳ ହୋଇଛି\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: ଅଜଣା ବଡ଼ ବିକଳ୍ପ: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: ଅବୈଧ ସମୟ ସମାପ୍ତି: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: ଅପ୍ରତ୍ୟାଶିତ ନିର୍ଦ୍ଦେଶନାମା ବିକଳ୍ପ 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: ଡ୍ରାଇଭ '%s' କୁ ଯୋଗ କରିବାରେ ବିଫଳ ହୋଇଛି\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: ଉପକରଣ ଆରମ୍ଭ କରିବାରେ ବିଫଳ ହୋଇଛି\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: mkfs.ext2 କରିବାରେ ବିଫଳ ହୋଇଛି\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: /dev/sda1 କୁ / ଉପରେ ସ୍ଥାପନ କରିବାରେ ବିଫଳ ହୋଇଛି\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version ବିଫଳ ହୋଇଛି\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3599,12 +3601,12 @@ msgstr ""
"LIBGUESTFS_QEMU ପରିବେଶ ପ୍ରାଚଳଟି ପୂର୍ବରୁ ସେଟ ହୋଇଛି, ତେଣୁ\n"
"--qemu/--qemudir ବିକଳ୍ପଗୁଡ଼ିକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ।\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "ଦ୍ୱୀମିକ '%s' ଅବସ୍ଥିତ ନାହିଁ ଅଥବା ନିଷ୍ପାଦନ ଯୋଗ୍ୟ ନୁହଁ\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: ଗୋଟିଏ qemu ଉତ୍ସ ଡିରେକ୍ଟୋରୀ ପରି ଲାଗୁନାହିଁ\n"
@@ -3720,17 +3722,12 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/po/pa.po b/po/pa.po
index ff68bd28..dc1f8f55 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Panjabi (Punjabi) <punjabi-users@lists.sf.net>\n"
@@ -127,12 +127,12 @@ msgstr ""
" -x Trace libguestfs API calls\n"
"For more information, see the manpage %s(1)।\n"
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2994,12 +2994,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -3028,52 +3028,52 @@ msgstr ""
"If you feel this is an error, please file a bug report including as much\n"
"information about the disk image as possible.\n"
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr "%s: XML ਲਿਖਣ ਗਲਤੀ \"%s\" ਉੱਪਰ: %m\n"
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr "%s: xmlOutputBufferCreateFd: stdout ਨੂੰ ਖੋਲਣ ਤੋਂ ਫੇਲ ਹੋਇਆ\n"
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr "%s: xmlNewTextWriter: libxml2 ਰਾਈਟਰ ਬਣਾਉਣ ਵਿੱਚ ਫੇਲ\n"
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -3122,7 +3122,7 @@ msgstr "{imagename} ਇੱਕ libvirt ਡੋਮੇਨ ਦਾ ਨਾਂ ਨਹੀ
msgid "{imagename} seems to have no disk devices\n"
msgstr "{imagename} ਲੱਗਦਾ ਹੈ ਕੋਈ ਜਿਸਕ ਜੰਤਰ ਨਹੀਂ ਹੈ\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3141,56 +3141,56 @@ msgstr ""
"ਜੇ ਤੁਹਾਨੂੰ ਇਹ ਗਲਤੀ ਲੱਗਦੀ ਹੈ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਡਿਸਕ ਈਮੇਜ਼ ਬਾਰੇ ਸੰਭ ਜਾਣਕਾਰੀ ਸਮੇਤ\n"
"ਬੱਗ ਫਾਈਲ ਕਰੋ।\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr "ਅਣਜਾਣ ਫਾਇਲ-ਸਿਸਟਮ {fs}\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr "rpm -qa ਚਲਾਉਣ ਵੇਲੇ ਗਲਤੀ: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr "dpkg-query ਚੱਲਣ ਸਮੇਂ ਗਲਤੀ: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr "ਗਿਸਟ ਉੱਪਰ ਗਰੱਬ (grub) ਨਹੀਂ ਲੱਭ ਸਕਦਾ"
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr "ਗਰੱਬ (Grub) ਐਂਟਰੀ {title} ਵਿੱਚ ਕੋਈ ਕਰਨਲ ਨਹੀਂ ਹੈ"
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr "ਗਰੱਬ (grub) ਦਾ ਹਵਾਲਾ {path} ਵੱਲ ਹੈ, ਜੋ ਮੌਜੂਦ ਨਹੀਂ ਹੈ\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr "ਗਰੱਬ (Grub) ਐਂਟਰੀ {title} ਵਿੱਚ ਇੱਕ initrd ਨਹੀਂ ਦਿੱਤਾ"
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr "ਕਰਨਲ {path} ਲਈ ਮੋਡੀਊਲ ਡਾਇਰੈਕਟਰੀ {modules} ਨਹੀਂ ਲੱਭੀ"
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr "ਕਰਨਲ ਲਈ ਮਾਰਗ {path} ਤੋਂ ਕਰਨ ਦਾ ਵਰਜਨ ਪਤਾ ਨਹੀਂ ਲੱਗ ਸਕਿਆ"
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr "{path} ਦਾ ਮੇਲ augeas ਪੈਟਰਨ ਨਾਲ ਨਹੀਂ ਹੁੰਦਾ"
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr "{filename}: initrd ਫਾਰਮੈਟ ਪੜ ਨਹੀਂ ਸਕਿਆ"
@@ -3233,19 +3233,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr "%s: ਮੈਮੋਰੀ ਅਕਾਰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ '%s'\n"
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3253,7 +3253,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3262,7 +3262,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3272,7 +3272,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3281,12 +3281,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr "%s: ਅਣਜਾਣ ਲੰਬਾ ਚੋਣ: (%d)\n"
@@ -3374,7 +3374,7 @@ msgstr "ਇੱਕ Windows ਗਿਸਟ ਨਹੀਂ ਹੈ, ਜਾਂ systemroot
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3414,11 +3414,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr "/etc/fstab ਜਾਂ ਖਾਲੀ ਫਾਇਲ ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ"
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr "Windows %%SYSTEMROOT%% ਨੂੰ ਰਿਜ਼ੌਲਵ ਨਹੀਂ ਕਰ ਸਕਦਾ"
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3459,10 +3454,6 @@ msgstr "libguestfs ਹੈਂਡਲ ਪਹਿਲਾਂ ਹੀ ਚਾਲੂ ਕੀ
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "you must call guestfs_add_drive before guestfs_launch"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch ਫੇਲ ਹੋਇਆ, ਪਹਿਲੇ ਗਲਤੀ ਸੁਨੇਹੇ ਵੇਖੋ"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr "qemu launched and contacted daemon, but state != READY"
@@ -3475,12 +3466,23 @@ msgstr "guestfs_launch ਫੇਲ ਹੋਇਆ, ਅਚਾਨਕ ਸ਼ੁਰੂਆ
msgid "contacted guestfsd, but state != READY"
msgstr "guestfsd ਨਾਲ ਸੰਪਰਕ ਕੀਤਾ ਹੈ, ਪਰ state != READY"
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch ਫੇਲ ਹੋਇਆ, ਪਹਿਲੇ ਗਲਤੀ ਸੁਨੇਹੇ ਵੇਖੋ"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: ਆਰਜੀ ਡਾਇਰੈਕਟਰੀ ਨਹੀਂ ਬਣਾ ਸਕਿਆ"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3490,7 +3492,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu ਹਾਲੇ ਤੱਕ ਚਾਲੂ ਨਹੀਂ ਕੀਤਾ"
@@ -3684,67 +3686,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: failed to create libguestfs handle\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version failed\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: unknown long option: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: invalid timeout: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: unexpected command line option 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: failed to add drive '%s'\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: failed to launch appliance\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: failed to mkfs.ext2\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version failed\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3753,12 +3755,12 @@ msgstr ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
"--qemu/--qemudir options cannot be used.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "ਬਾਇਨਰੀ '%s' ਬੰਦ ਨਹੀਂ ਹੋਇਆ ਜਾਂ ਚੱਲਣਯੋਗ ਨਹੀਂ ਹੈ\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: ਇੱਕ qemu ਸਰੋਤ ਡਾਇਰੈਕਟਰੀ ਨਹੀਂ ਲੱਗਦੀ\n"
@@ -3886,21 +3888,22 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr "virt-win-reg: {p}: ਇੱਕ ਸਹਿਯੋਗੀ Windows ਰਜਿਸਟਰੀ ਮਾਰਗ ਨਹੀਂ ਹੈ\n"
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr "virt-win-reg: {p}: ਗਿਸਟ ਵਿੱਚ ਫਾਇਲ ਨਹੀਂ ਲੱਭ: {err}\n"
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr "virt-win-reg: {p}: ਰਜਿਸਟਰੀ ਫਾਇਲ ਡਾਊਨਲੋਡ ਨਹੀਂ ਕਰ ਸਕਿਆ: {err}\n"
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr "virt-win-reg: {p}: ਰਜਿਸਟਰੀ ਫਾਇਲ ਨੂੰ ਅੱਪਲੋਡ ਨਹੀਂ ਕਰ ਸਕਦਾ: {err}\n"
+#~ msgid "cannot resolve Windows %%SYSTEMROOT%%"
+#~ msgstr "Windows %%SYSTEMROOT%% ਨੂੰ ਰਿਜ਼ੌਲਵ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+
+#~ msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
+#~ msgstr "virt-win-reg: {p}: ਗਿਸਟ ਵਿੱਚ ਫਾਇਲ ਨਹੀਂ ਲੱਭ: {err}\n"
+
#~ msgid "no subprocess to kill"
#~ msgstr "ਖਤਮ ਕਰਨ ਲਈ ਕੋਈ ਅਧੀਨ-ਕਾਰਜ ਨਹੀਂ"
diff --git a/po/pl.po b/po/pl.po
index 5411c81e..a2e4faae 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Polish (http://www.transifex.net/projects/p/fedora/team/pl/)\n"
@@ -128,13 +128,13 @@ msgstr ""
" -x Śledzi wywołania API biblioteki libguestfs\n"
"Aby dowiedzieć się więcej, należy zobaczyć stronę podręcznika %s(1).\n"
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
"%s: musi być gościem systemu Windows, aby użyć liter dysków systemu Windows\n"
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr "%s: nie odnaleziono napędu \"%c:\".\n"
@@ -3057,12 +3057,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -3090,56 +3090,56 @@ msgstr ""
"Jeśli jest to błąd, proszę wypełnić zgłoszenie błędu dołączając tak dużo "
"informacji o pliku obrazu, jak to tylko możliwe (w języku angielskim).\n"
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr "%s: błąd zapisu XML w \"%s\": %m\n"
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
"%s: xmlOutputBufferCreateFd: otwarcie standardowego wyjścia nie powiodło "
"się\n"
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
"%s: xmlNewTextWriter: utworzenie modułu zapisującego libxml2 nie powiodło "
"się\n"
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -3188,7 +3188,7 @@ msgstr "{imagename} nie jest nazwą domeny biblioteki libvirt\n"
msgid "{imagename} seems to have no disk devices\n"
msgstr "{imagename} nie posiada żadnych urządzeń dyskowych\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3207,56 +3207,56 @@ msgstr ""
"Jeśli jest to błąd, proszę wypełnić zgłoszenie błędu dołączając tak dużo "
"informacji o pliku obrazu, jak to tylko możliwe (w języku angielskim).\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr "nieznany system plików {fs}\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr "Błąd podczas wykonywania polecenia rpm -qa: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr "Błąd podczas wykonywania polecenia dpkg-query: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr "Nie można odnaleźć programu GRUB w gościu"
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr "Wpis programu GRUB {title} nie posiada jądra"
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr "program GRUB odnosi się do {path}, który nie istnieje\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr "Wpis programu GRUB {title} nie określa initrd"
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr "Nie odnaleziono katalogu modułów {modules} dla jądra {path}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr "Nie można odgadnąć numeru wersji jądra ze ścieżki jądra {path}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr "{path} nie zgadza się ze wzorem Augeas"
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr "{filename}: nie można odczytać formatu initrd"
@@ -3299,19 +3299,19 @@ msgstr "%s: nie można przetworzyć parametru \"%s\" opcji --smp\n"
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr "%s: parametr \"%s\" opcji --smp powinien wynosić >= 1\n"
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr "%s: nie można przetworzyć rozmiaru pamięci \"%s\"\n"
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3319,7 +3319,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3328,7 +3328,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3338,7 +3338,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3347,12 +3347,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr "%s: nieznany stan wyjścia potomka (%d)\n"
@@ -3452,7 +3452,7 @@ msgstr ""
"nie jest gościem systemu Windows lub nie można określić wartości "
"CurrentControlSet"
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3494,11 +3494,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr "nie można przetworzyć pliku /etc/fstab lub pustego pliku"
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr "nie można rozwiązać %%SYSTEMROOT%% systemu Windows"
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3540,12 +3535,6 @@ msgstr "program obsługi libguestfs został już uruchomiony"
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "należy wywołać guestfs_add_drive przed guestfs_launch"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr ""
-"guestfs_launch nie powiodło się, proszę zobaczyć wcześniejsze komunikaty "
-"błędów"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr ""
@@ -3561,12 +3550,25 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr "skontaktowano się z guestfsd, ale stan != GOTOWY"
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr ""
+"guestfs_launch nie powiodło się, proszę zobaczyć wcześniejsze komunikaty "
+"błędów"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: nie można utworzyć katalogu tymczasowego"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, fuzzy, c-format
msgid ""
"command failed: %s\n"
@@ -3581,7 +3583,7 @@ msgstr ""
"ustawienia zmiennej środowiskowej LIBGUESTFS_QEMU. Powyżej mogą zostać\n"
"wyświetlone błędy."
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "QEMU nie zostało jeszcze uruchomione"
@@ -3787,70 +3789,70 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr ""
"libguestfs-test-tool: utworzenie programu obsługi libguestfs nie powiodło "
"się\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version nie powiodło się\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: nieznana długa opcja: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: nieprawidłowy czas oczekiwania: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: nieoczekiwana opcja wiersza poleceń 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: dodanie napędu \"%s\" nie powiodło się\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: uruchomienie przyrządu nie powiodło się\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr "libguestfs-test-tool: wykonanie polecenia part-disk nie powiodło się\n"
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: mkfs.ext2 nie powiodło się\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: zamontowanie /dev/sda1 w / nie powiodło się\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
"libguestfs-test-tool: wykonanie polecenia touch na pliku nie powiodło się\n"
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version nie powiodło się\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3859,12 +3861,12 @@ msgstr ""
"Zmienna środowiskowa LIBGUESTFS_QEMU jest już ustawiona, więc nie można\n"
"użyć opcji --qemu/--qemudir.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "Plik binarny \"%s\" nie istnieje lub nie jest wykonywalny\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: nie wygląda na katalog źródłowy QEMU\n"
@@ -4003,21 +4005,22 @@ msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
"virt-win-reg: {p}: nie jest obsługiwaną ścieżką rejestru systemu Windows\n"
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr "virt-win-reg: {p}: nie odnaleziono pliku w gościu: {err}\n"
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr "virt-win-reg: {p}: nie można pobrać pliku rejestru: {err}\n"
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr "virt-win-reg: {p}: nie można wysłać pliku rejestru: {err}\n"
+#~ msgid "cannot resolve Windows %%SYSTEMROOT%%"
+#~ msgstr "nie można rozwiązać %%SYSTEMROOT%% systemu Windows"
+
+#~ msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
+#~ msgstr "virt-win-reg: {p}: nie odnaleziono pliku w gościu: {err}\n"
+
#~ msgid "no subprocess to kill"
#~ msgstr "brak podprocesu do zniszczenia"
diff --git a/po/ta.po b/po/ta.po
index c2effb91..9e230fff 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Tamil <tamil-users@lists.fedoraproject.org>\n"
@@ -93,12 +93,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2877,12 +2877,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -2899,52 +2899,52 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr ""
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -2991,7 +2991,7 @@ msgstr ""
msgid "{imagename} seems to have no disk devices\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3003,56 +3003,56 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr ""
@@ -3095,19 +3095,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3115,7 +3115,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3124,7 +3124,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3134,7 +3134,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3143,12 +3143,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3234,7 +3234,7 @@ msgstr ""
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3272,11 +3272,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr ""
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr ""
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3317,10 +3312,6 @@ msgstr ""
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "நீங்கள் guestfs_add_drive ஐ guestfs_launchக்கு முன் அழைக்க வேண்டும்"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch தோல்வியுற்றது, முந்தைய பிழைச் செய்தியைப் பார்"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr "qemu டொமைனுடன் துவக்கப்பட்டு தொடர்பு கொண்டது, ஆனால் நிலையானது != READY"
@@ -3333,12 +3324,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr ""
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch தோல்வியுற்றது, முந்தைய பிழைச் செய்தியைப் பார்"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: தற்காலிக அடைவை உருவாக்க முடியவில்லை"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3348,7 +3350,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu இன்னும் துவங்கப்படவில்லை"
@@ -3533,67 +3535,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: libguestfs ஹாண்டிலை உருவாக்க முடியவில்லை\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version தோல்வியுற்றது\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: தெரியாத நீண்ட விருப்பம்: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: தவறான நேரமுடிவு: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: எதிர்பாராத கட்டளை வரி விருப்பம் 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: இயக்கி '%s' உடன் இணைக்க முடியவில்லை\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: failed to launch appliance\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: mkfs.ext2 தோல்வியுற்றது\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: mount /dev/sda1ல் ஏற முடியவில்லை /\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version தோல்வியுற்றது\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3602,12 +3604,12 @@ msgstr ""
"LIBGUESTFS_QEMU சூழல் மாறிலி ஏற்கனவே அமைக்கப்பட்டது , ஆகையால்\n"
"--qemu/--qemudir விருப்பங்கள் பயன்படுத்தப்படவில்லை.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "Binary '%s' does not exist or is not executable\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: ஒரு qemu மூல அடைவு போல் இல்லை\n"
@@ -3723,17 +3725,12 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/po/te.po b/po/te.po
index 97e4eb9b..8b4ab023 100644
--- a/po/te.po
+++ b/po/te.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Telugu (http://www.transifex.net/projects/p/fedora/team/te/)\n"
@@ -93,12 +93,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr ""
@@ -2874,12 +2874,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -2896,52 +2896,52 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr ""
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr ""
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr ""
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -2988,7 +2988,7 @@ msgstr ""
msgid "{imagename} seems to have no disk devices\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3000,56 +3000,56 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr ""
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr ""
@@ -3092,19 +3092,19 @@ msgstr ""
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr ""
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3112,7 +3112,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3121,7 +3121,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3131,7 +3131,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3140,12 +3140,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3231,7 +3231,7 @@ msgstr ""
msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3269,11 +3269,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr ""
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr ""
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3314,10 +3309,6 @@ msgstr ""
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "guestfs_launchకు ముందుగా మీరు guestfs_add_driveను పిలువవలెను"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr "guestfs_launch విఫలమైంది, ముందలి దోషపు సందేశములను చూడుము"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr "qemu ఆరంభించబడింది మరియు డెమోన్‌ను సంప్రదించింది, అయితే state != READY"
@@ -3330,12 +3321,23 @@ msgstr ""
msgid "contacted guestfsd, but state != READY"
msgstr ""
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr "guestfs_launch విఫలమైంది, ముందలి దోషపు సందేశములను చూడుము"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: తాత్కాలిక డైరెక్టరీను సృష్టించలేదు"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, c-format
msgid ""
"command failed: %s\n"
@@ -3345,7 +3347,7 @@ msgid ""
"environment variable. There may also be errors printed above."
msgstr ""
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu యింకా ఆరంభం కాలేదు"
@@ -3529,67 +3531,67 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr "libguestfs-test-tool: libguestfs సంభాలిక సృష్టించుటలో విఫలమైంది\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: guestfs_version విఫలమైంది\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: తెలియని లాంగ్ ఐచ్చికము: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: చెల్లని సమయముగింపు: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: అనుకోని కమాండ్ లైన్ ఐచ్చికము 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: డ్రైవ్ '%s' జతచేయుటకు విఫలమైంది\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: ఉపకరణము ఆరంభించుటలో విఫలమైంది\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr ""
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: mkfs.ext2కు విఫలమైంది\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: /dev/sda1ను /పై మౌంట్ చేయుటకు విఫలమైంది\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr ""
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: guestfs_version విఫలమైంది\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3598,12 +3600,12 @@ msgstr ""
"LIBGUESTFS_QEMU ఎన్విరాన్మెంట్ వేరియబుల్ యిప్పటికే అమర్చబడింది, అందువలన\n"
"--qemu/--qemudir ఐచ్చికములు వుపయోగించలేము.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "బెనరీ '%s' లేదు లేదా అది నిర్వర్తించదగునది కాదు\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: అనునది qemu మూలపు డైరెక్టరీవలె కనిపించుటలేదు\n"
@@ -3719,17 +3721,12 @@ msgstr ""
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr ""
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/po/uk.po b/po/uk.po
index 39148f57..0f5513ae 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-09-19 15:19+0100\n"
+"POT-Creation-Date: 2012-10-01 16:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@@ -127,14 +127,14 @@ msgstr ""
" -x Трасувати виклики програмного інтерфейсу libguestfs\n"
"Щоб дізнатися більше, скористайтеся сторінкою довідника (man) %s(1).\n"
-#: cat/virt-cat.c:358 edit/virt-edit.c:666 fish/fish.c:1563
+#: cat/virt-cat.c:355 edit/virt-edit.c:665 fish/fish.c:1563
#, c-format
msgid "%s: to use Windows drive letters, this must be a Windows guest\n"
msgstr ""
"%s: для використання літерних позначень дисків Windows ваша система має бути "
"гостьовою системою Windows\n"
-#: cat/virt-cat.c:372 edit/virt-edit.c:680
+#: cat/virt-cat.c:369 edit/virt-edit.c:679
#, c-format
msgid "%s: drive '%c:' not found.\n"
msgstr "%s: диск '%c:' не знайдено.\n"
@@ -3093,12 +3093,12 @@ msgid ""
"For more information, see the manpage %s(1).\n"
msgstr ""
-#: inspector/virt-inspector.c:254
+#: inspector/virt-inspector.c:251
#, c-format
msgid "%s: cannot use --xpath together with other options.\n"
msgstr ""
-#: inspector/virt-inspector.c:287
+#: inspector/virt-inspector.c:284
#, c-format
msgid ""
"%s: no operating system could be detected inside this disk image.\n"
@@ -3128,52 +3128,52 @@ msgstr ""
"повідомлення про ваду,\n"
"додавши до нього максимум можливої інформації щодо образу диска.\n"
-#: inspector/virt-inspector.c:312
+#: inspector/virt-inspector.c:309
#, c-format
msgid "%s: XML write error at \"%s\": %m\n"
msgstr "%s: помилка запису XML у «%s»: %m\n"
-#: inspector/virt-inspector.c:324
+#: inspector/virt-inspector.c:321
#, c-format
msgid "%s: xmlOutputBufferCreateFd: failed to open stdout\n"
msgstr "%s: xmlOutputBufferCreateFd: не вдалося відкрити stdout\n"
-#: inspector/virt-inspector.c:332
+#: inspector/virt-inspector.c:329
#, c-format
msgid "%s: xmlNewTextWriter: failed to create libxml2 writer\n"
msgstr "%s: xmlNewTextWriter: не вдалося створити процес запису libxml2\n"
-#: inspector/virt-inspector.c:826
+#: inspector/virt-inspector.c:823
#, c-format
msgid "%s: unable to parse XML from stdin\n"
msgstr ""
-#: inspector/virt-inspector.c:832
+#: inspector/virt-inspector.c:829
#, c-format
msgid "%s: unable to create new XPath context\n"
msgstr ""
-#: inspector/virt-inspector.c:839
+#: inspector/virt-inspector.c:836
#, c-format
msgid "%s: unable to evaluate XPath expression\n"
msgstr ""
-#: inspector/virt-inspector.c:850
+#: inspector/virt-inspector.c:847
#, c-format
msgid "%s: xmlSaveToFd failed\n"
msgstr ""
-#: inspector/virt-inspector.c:857
+#: inspector/virt-inspector.c:854
#, c-format
msgid "%s: xmlNewDoc failed\n"
msgstr ""
-#: inspector/virt-inspector.c:862
+#: inspector/virt-inspector.c:859
#, c-format
msgid "%s: xmlCopyNode failed\n"
msgstr ""
-#: inspector/virt-inspector.c:869
+#: inspector/virt-inspector.c:866
#, c-format
msgid "%s: xmlSaveDoc failed\n"
msgstr ""
@@ -3225,7 +3225,7 @@ msgstr "{imagename} не є назвою домену libvirt\n"
msgid "{imagename} seems to have no disk devices\n"
msgstr "{imagename}, здається, не містить дискових пристроїв\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:831
+#: perl/lib/Sys/Guestfs/Lib.pm:834
msgid ""
"No operating system could be detected inside this disk image.\n"
"\n"
@@ -3246,56 +3246,56 @@ msgstr ""
"повідомлення про ваду,\n"
"додавши до нього максимум можливої інформації щодо образу диска.\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:949
+#: perl/lib/Sys/Guestfs/Lib.pm:952
#, perl-brace-format
msgid "unknown filesystem {fs}\n"
msgstr "невідома файлова система {fs}\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1027
+#: perl/lib/Sys/Guestfs/Lib.pm:1030
#, perl-brace-format
msgid "Error running rpm -qa: {error}"
msgstr "Помилка під час запуску rpm -qa: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1053
+#: perl/lib/Sys/Guestfs/Lib.pm:1056
#, perl-brace-format
msgid "Error running dpkg-query: {error}"
msgstr "Помилка під час запуску dpkg-query: {error}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1118
+#: perl/lib/Sys/Guestfs/Lib.pm:1121
msgid "Can't find grub on guest"
msgstr "Не вдалося знайти grub у гостьовій системі"
-#: perl/lib/Sys/Guestfs/Lib.pm:1173
+#: perl/lib/Sys/Guestfs/Lib.pm:1176
#, perl-brace-format
msgid "Grub entry {title} has no kernel"
msgstr "На запису grub {title} немає ядра"
-#: perl/lib/Sys/Guestfs/Lib.pm:1204
+#: perl/lib/Sys/Guestfs/Lib.pm:1207
#, perl-brace-format
msgid "grub refers to {path}, which doesn't exist\n"
msgstr "grub посилається на каталог {path}, якого не існує\n"
-#: perl/lib/Sys/Guestfs/Lib.pm:1227
+#: perl/lib/Sys/Guestfs/Lib.pm:1230
#, perl-brace-format
msgid "Grub entry {title} does not specify an initrd"
msgstr "У записі grub {title} не визначено initrd"
-#: perl/lib/Sys/Guestfs/Lib.pm:1296
+#: perl/lib/Sys/Guestfs/Lib.pm:1299
#, perl-brace-format
msgid "Didn't find modules directory {modules} for kernel {path}"
msgstr "Не вдалося знайти каталог модулів {modules} для ядра {path}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1304
+#: perl/lib/Sys/Guestfs/Lib.pm:1307
#, perl-brace-format
msgid "Couldn't guess kernel version number from path for kernel {path}"
msgstr "Не вдалося визначити номер версії ядра за шляхом до ядра {path}"
-#: perl/lib/Sys/Guestfs/Lib.pm:1358
+#: perl/lib/Sys/Guestfs/Lib.pm:1361
#, perl-brace-format
msgid "{path} doesn't match augeas pattern"
msgstr "{path} не відповідає шаблону augeas"
-#: perl/lib/Sys/Guestfs/Lib.pm:1397
+#: perl/lib/Sys/Guestfs/Lib.pm:1400
#, perl-brace-format
msgid "{filename}: could not read initrd format"
msgstr "{filename}: не вдалося прочитати формат initrd"
@@ -3338,19 +3338,19 @@ msgstr "%s: не вдалося обробити параметр --smp «%s»\n
msgid "%s: --smp parameter '%s' should be >= 1\n"
msgstr "%s: значенням параметра --smp «%s» має бути число >= 1\n"
-#: rescue/virt-rescue.c:202
+#: rescue/virt-rescue.c:199
#, c-format
msgid "%s: could not parse memory size '%s'\n"
msgstr "%s: не вдалося обробити запис об’єму пам’яті «%s»\n"
-#: rescue/virt-rescue.c:374
+#: rescue/virt-rescue.c:371
#, c-format
msgid ""
"Inspecting the virtual machine or disk image ...\n"
"\n"
msgstr ""
-#: rescue/virt-rescue.c:393
+#: rescue/virt-rescue.c:390
#, c-format
msgid ""
"This disk contains one or more operating systems. You can use these mount\n"
@@ -3358,7 +3358,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:403
+#: rescue/virt-rescue.c:400
#, c-format
msgid ""
"# %s is the root of a %s operating system\n"
@@ -3367,7 +3367,7 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:460
+#: rescue/virt-rescue.c:457
#, c-format
msgid ""
"This disk contains no filesystems that we recognize.\n"
@@ -3377,7 +3377,7 @@ msgid ""
"logical volumes and filesystems on a blank disk.\n"
msgstr ""
-#: rescue/virt-rescue.c:467
+#: rescue/virt-rescue.c:464
#, c-format
msgid ""
"This disk contains one or more filesystems, but we don't recognize any\n"
@@ -3386,12 +3386,12 @@ msgid ""
"\n"
msgstr ""
-#: rescue/virt-rescue.c:472
+#: rescue/virt-rescue.c:469
#, c-format
msgid "# %s has type '%s'\n"
msgstr ""
-#: rescue/virt-rescue.c:596
+#: rescue/virt-rescue.c:593
#, c-format
msgid "%s: unknown child exit status (%d)\n"
msgstr ""
@@ -3491,7 +3491,7 @@ msgid "not a Windows guest, or CurrentControlSet could not be determined"
msgstr ""
"не є гостьовою системою Windows або не вдалося визначити CurrentControlSet"
-#: src/inspect.c:544 src/inspect_apps.c:614
+#: src/inspect.c:544 src/inspect_apps.c:611
msgid ""
"inspection API not available since this version of libguestfs was compiled "
"without the hivex library"
@@ -3534,11 +3534,6 @@ msgstr ""
msgid "could not parse /etc/fstab or empty file"
msgstr "не вдалося обробити /etc/fstab або порожній файл"
-#: src/inspect_fs_windows.c:167
-#, c-format
-msgid "cannot resolve Windows %%SYSTEMROOT%%"
-msgstr "не вдалося визначити %%SYSTEMROOT%% Windows"
-
#: src/inspect_icon.c:507
#, c-format
msgid "read: %s: unexpected end of file"
@@ -3579,12 +3574,6 @@ msgstr "елемент керування libguestfs вже запущено"
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr "вам слід викликати guestfs_add_drive перед викликом guestfs_launch"
-#: src/launch.c:992 src/launch.c:997
-msgid "guestfs_launch failed, see earlier error messages"
-msgstr ""
-"спроба виклику guestfs_launch була невдалою, ознайомтеся з попередніми "
-"повідомленнями"
-
#: src/launch.c:1010
msgid "qemu launched and contacted daemon, but state != READY"
msgstr ""
@@ -3599,12 +3588,25 @@ msgstr "помилка guestfs_launch, мало бути початкове по
msgid "contacted guestfsd, but state != READY"
msgstr "встановлено зв’язок з guestfs, але стан процесу не дорівнює READY"
-#: src/launch.c:1200
+#: src/launch.c:1160
+msgid "guestfs_launch failed, see earlier error messages"
+msgstr ""
+"спроба виклику guestfs_launch була невдалою, ознайомтеся з попередніми "
+"повідомленнями"
+
+#: src/launch.c:1162
+msgid ""
+"guestfs_launch failed.\n"
+"See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+"and/or run 'libguestfs-test-tool'."
+msgstr ""
+
+#: src/launch.c:1216
#, c-format
msgid "%s: cannot create temporary directory"
msgstr "%s: не вдалося створити тимчасовий каталог"
-#: src/launch.c:1327
+#: src/launch.c:1343
#, fuzzy, c-format
msgid ""
"command failed: %s\n"
@@ -3619,7 +3621,7 @@ msgstr ""
"встановити відповідне значення змінної середовища LIBGUESTFS_QEMU.\n"
"Крім того, вище можна знайти повідомлення про помилки."
-#: src/launch.c:1465
+#: src/launch.c:1481
msgid "qemu has not been launched yet"
msgstr "qemu ще не запущено"
@@ -3829,68 +3831,68 @@ msgid ""
" -V Display libguestfs version and exit\n"
msgstr ""
-#: test-tool/test-tool.c:123
+#: test-tool/test-tool.c:134
#, c-format
msgid "libguestfs-test-tool: failed to create libguestfs handle\n"
msgstr ""
"libguestfs-test-tool: не вдалося створити елемент керування libguestfs\n"
-#: test-tool/test-tool.c:129
+#: test-tool/test-tool.c:140
#, c-format
msgid "libguestfs-test-tool: guestfs_version failed\n"
msgstr "libguestfs-test-tool: помилка guestfs_version\n"
-#: test-tool/test-tool.c:145
+#: test-tool/test-tool.c:156
#, c-format
msgid "libguestfs-test-tool: unknown long option: %s (%d)\n"
msgstr "libguestfs-test-tool: невідомий довгий запис параметра: %s (%d)\n"
-#: test-tool/test-tool.c:154
+#: test-tool/test-tool.c:165
#, c-format
msgid "libguestfs-test-tool: invalid timeout: %s\n"
msgstr "libguestfs-test-tool: некоректне значення часу очікування: %s\n"
-#: test-tool/test-tool.c:173
+#: test-tool/test-tool.c:184
#, c-format
msgid "libguestfs-test-tool: unexpected command line option 0x%x\n"
msgstr "libguestfs-test-tool: неочікуваний параметр командного рядка 0x%x\n"
-#: test-tool/test-tool.c:208
+#: test-tool/test-tool.c:219
#, c-format
msgid "libguestfs-test-tool: failed to add drive '%s'\n"
msgstr "libguestfs-test-tool: не вдалося додати пристрій «%s»\n"
-#: test-tool/test-tool.c:245
+#: test-tool/test-tool.c:256
#, c-format
msgid "libguestfs-test-tool: failed to launch appliance\n"
msgstr "libguestfs-test-tool: не вдалося запустити пристрій\n"
-#: test-tool/test-tool.c:257
+#: test-tool/test-tool.c:268
#, c-format
msgid "libguestfs-test-tool: failed to run part-disk\n"
msgstr "libguestfs-test-tool: не вдалося запустити part-disk\n"
-#: test-tool/test-tool.c:263
+#: test-tool/test-tool.c:274
#, c-format
msgid "libguestfs-test-tool: failed to mkfs.ext2\n"
msgstr "libguestfs-test-tool: не вдалося виконати mkfs.ext2\n"
-#: test-tool/test-tool.c:269
+#: test-tool/test-tool.c:280
#, c-format
msgid "libguestfs-test-tool: failed to mount /dev/sda1 on /\n"
msgstr "libguestfs-test-tool: не вдалося змонтувати /dev/sda1 до /\n"
-#: test-tool/test-tool.c:276
+#: test-tool/test-tool.c:287
#, c-format
msgid "libguestfs-test-tool: failed to touch file\n"
msgstr "libguestfs-test-tool: не вдалося виконати touch для файла\n"
-#: test-tool/test-tool.c:282
+#: test-tool/test-tool.c:293
#, fuzzy, c-format
msgid "libguestfs-test-tool: shutdown failed\n"
msgstr "libguestfs-test-tool: помилка guestfs_version\n"
-#: test-tool/test-tool.c:315
+#: test-tool/test-tool.c:326
#, c-format
msgid ""
"LIBGUESTFS_QEMU environment variable is already set, so\n"
@@ -3899,12 +3901,12 @@ msgstr ""
"Значення змінної середовища LIBGUESTFS_QEMU вже встановлено, отже\n"
"не можна використовувати параметри --qemu/--qemudir.\n"
-#: test-tool/test-tool.c:323
+#: test-tool/test-tool.c:334
#, c-format
msgid "Binary '%s' does not exist or is not executable\n"
msgstr "Виконуваного файла «%s» не існує або вказаний файл не є виконуваним\n"
-#: test-tool/test-tool.c:337
+#: test-tool/test-tool.c:348
#, c-format
msgid "%s: does not look like a qemu source directory\n"
msgstr "%s: не є каталогом початкових кодів qemu\n"
@@ -4045,21 +4047,22 @@ msgstr "virt-win-reg: {p}: не вдалося знайти каталог ко
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr "virt-win-reg: {p}: непідтримуваний запис шляху у регістрі Windows\n"
-#: tools/virt-win-reg.pl:522 tools/virt-win-reg.pl:544
-#, perl-brace-format
-msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
-msgstr "virt-win-reg: {p}: файл не знайдено на гостьовій системі: {err}\n"
-
-#: tools/virt-win-reg.pl:529
+#: tools/virt-win-reg.pl:524
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr "virt-win-reg: {p}: не вдалося отримати файл регістра: {err}\n"
-#: tools/virt-win-reg.pl:551
+#: tools/virt-win-reg.pl:541
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr "virt-win-reg: {p}: не вдалося вивантажити файл регістра: {err}\n"
+#~ msgid "cannot resolve Windows %%SYSTEMROOT%%"
+#~ msgstr "не вдалося визначити %%SYSTEMROOT%% Windows"
+
+#~ msgid "virt-win-reg: {p}: file not found in guest: {err}\n"
+#~ msgstr "virt-win-reg: {p}: файл не знайдено на гостьовій системі: {err}\n"
+
#~ msgid "no subprocess to kill"
#~ msgstr "немає підпроцесів для завершення"