diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-11-17 20:02:25 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-11-17 20:03:57 +0000 |
commit | a9c4efdcfd213202c9c9b478e92fe908a700b957 (patch) | |
tree | 25d3bc3fa954a0139760a4be9dbdb091180dbd7e /po-docs | |
parent | ff8bfd3e92f21955d0a91b481583131f356b8fe4 (diff) | |
download | libguestfs-a9c4efdcfd213202c9c9b478e92fe908a700b957.tar.gz libguestfs-a9c4efdcfd213202c9c9b478e92fe908a700b957.tar.xz libguestfs-a9c4efdcfd213202c9c9b478e92fe908a700b957.zip |
Version 1.19.60.1.19.60
Diffstat (limited to 'po-docs')
-rw-r--r-- | po-docs/ja.po | 2487 | ||||
-rw-r--r-- | po-docs/libguestfs-docs.pot | 2230 | ||||
-rw-r--r-- | po-docs/uk.po | 2460 |
3 files changed, 4013 insertions, 3164 deletions
diff --git a/po-docs/ja.po b/po-docs/ja.po index 113926a1..708de987 100644 --- a/po-docs/ja.po +++ b/po-docs/ja.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: libguestfs\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2012-11-13 14:41+0000\n" +"POT-Creation-Date: 2012-11-17 19:54+0000\n" "PO-Revision-Date: 2012-10-14 12:25+0000\n" "Last-Translator: rjones <rjones@redhat.com>\n" "Language-Team: Japanese <trans-ja@lists.fedoraproject.org>\n" @@ -34,11 +34,12 @@ msgstr "" #: ../fish/virt-tar-out.pod:3 ../format/virt-format.pod:3 #: ../fuse/guestmount.pod:3 ../guestfs-release-notes.pod:3 #: ../inspector/virt-inspector.pod:3 ../java/examples/guestfs-java.pod:3 -#: ../ocaml/examples/guestfs-ocaml.pod:3 ../perl/examples/guestfs-perl.pod:3 -#: ../python/examples/guestfs-python.pod:3 ../rescue/virt-rescue.pod:3 -#: ../resize/virt-resize.pod:3 ../ruby/examples/guestfs-ruby.pod:3 -#: ../sparsify/virt-sparsify.pod:3 ../src/guestfs.pod:3 -#: ../sysprep/virt-sysprep.pod:3 ../test-tool/libguestfs-test-tool.pod:3 +#: ../lua/examples/guestfs-lua.pod:3 ../ocaml/examples/guestfs-ocaml.pod:3 +#: ../perl/examples/guestfs-perl.pod:3 ../python/examples/guestfs-python.pod:3 +#: ../rescue/virt-rescue.pod:3 ../resize/virt-resize.pod:3 +#: ../ruby/examples/guestfs-ruby.pod:3 ../sparsify/virt-sparsify.pod:3 +#: ../src/guestfs.pod:3 ../sysprep/virt-sysprep.pod:3 +#: ../test-tool/libguestfs-test-tool.pod:3 #: ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 #: ../tools/virt-make-fs.pl:36 ../tools/virt-tar.pl:31 #: ../tools/virt-win-reg.pl:35 @@ -60,12 +61,12 @@ msgstr "virt-alignment-scan - 仮想マシンのパーティション配置の #: ../fish/virt-copy-out.pod:7 ../fish/virt-tar-in.pod:7 #: ../fish/virt-tar-out.pod:7 ../format/virt-format.pod:7 #: ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pod:7 -#: ../java/examples/guestfs-java.pod:7 ../ocaml/examples/guestfs-ocaml.pod:7 -#: ../perl/examples/guestfs-perl.pod:7 ../python/examples/guestfs-python.pod:7 -#: ../rescue/virt-rescue.pod:7 ../resize/virt-resize.pod:7 -#: ../ruby/examples/guestfs-ruby.pod:7 ../sparsify/virt-sparsify.pod:7 -#: ../src/guestfs.pod:7 ../sysprep/virt-sysprep.pod:7 -#: ../test-tool/libguestfs-test-tool.pod:7 +#: ../java/examples/guestfs-java.pod:7 ../lua/examples/guestfs-lua.pod:7 +#: ../ocaml/examples/guestfs-ocaml.pod:7 ../perl/examples/guestfs-perl.pod:7 +#: ../python/examples/guestfs-python.pod:7 ../rescue/virt-rescue.pod:7 +#: ../resize/virt-resize.pod:7 ../ruby/examples/guestfs-ruby.pod:7 +#: ../sparsify/virt-sparsify.pod:7 ../src/guestfs.pod:7 +#: ../sysprep/virt-sysprep.pod:7 ../test-tool/libguestfs-test-tool.pod:7 #: ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 #: ../tools/virt-make-fs.pl:40 ../tools/virt-tar.pl:35 #: ../tools/virt-win-reg.pl:39 @@ -114,8 +115,8 @@ msgstr "" #: ../fish/virt-copy-out.pod:13 ../fish/virt-tar-in.pod:21 #: ../fish/virt-tar-out.pod:15 ../format/virt-format.pod:11 #: ../fuse/guestmount.pod:20 ../inspector/virt-inspector.pod:19 -#: ../java/examples/guestfs-java.pod:15 ../ocaml/examples/guestfs-ocaml.pod:25 -#: ../perl/examples/guestfs-perl.pod:19 +#: ../java/examples/guestfs-java.pod:15 ../lua/examples/guestfs-lua.pod:16 +#: ../ocaml/examples/guestfs-ocaml.pod:25 ../perl/examples/guestfs-perl.pod:19 #: ../python/examples/guestfs-python.pod:14 ../rescue/virt-rescue.pod:31 #: ../resize/virt-resize.pod:13 ../ruby/examples/guestfs-ruby.pod:15 #: ../sparsify/virt-sparsify.pod:11 ../src/guestfs.pod:24 @@ -534,7 +535,7 @@ msgstr "" #: ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 #: ../fish/guestfish.pod:689 ../format/virt-format.pod:96 #: ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 -#: ../src/guestfs.pod:3581 ../sysprep/virt-sysprep.pod:112 +#: ../src/guestfs.pod:3585 ../sysprep/virt-sysprep.pod:112 msgid "For example:" msgstr "例:" @@ -1136,12 +1137,12 @@ msgstr "このプログラムは以下を返します:" #: ../examples/guestfs-performance.pod:118 #: ../examples/guestfs-performance.pod:253 #: ../examples/guestfs-performance.pod:258 -#: ../examples/guestfs-performance.pod:263 ../examples/guestfs-recipes.pod:128 -#: ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:136 -#: ../examples/guestfs-recipes.pod:162 ../examples/guestfs-recipes.pod:167 -#: ../examples/guestfs-recipes.pod:257 ../examples/guestfs-recipes.pod:261 -#: ../examples/guestfs-recipes.pod:265 ../examples/guestfs-recipes.pod:269 -#: ../examples/guestfs-recipes.pod:273 ../examples/guestfs-testing.pod:124 +#: ../examples/guestfs-performance.pod:263 ../examples/guestfs-recipes.pod:138 +#: ../examples/guestfs-recipes.pod:142 ../examples/guestfs-recipes.pod:146 +#: ../examples/guestfs-recipes.pod:172 ../examples/guestfs-recipes.pod:177 +#: ../examples/guestfs-recipes.pod:267 ../examples/guestfs-recipes.pod:271 +#: ../examples/guestfs-recipes.pod:275 ../examples/guestfs-recipes.pod:279 +#: ../examples/guestfs-recipes.pod:283 ../examples/guestfs-testing.pod:124 #: ../examples/guestfs-testing.pod:128 ../examples/guestfs-testing.pod:132 #: ../fish/guestfish-actions.pod:432 ../fish/guestfish-actions.pod:440 #: ../fish/guestfish-actions.pod:447 ../fish/guestfish-actions.pod:454 @@ -1189,20 +1190,20 @@ msgstr "このプログラムは以下を返します:" #: ../src/guestfs-actions.pod:4490 ../src/guestfs-actions.pod:4497 #: ../src/guestfs.pod:397 ../src/guestfs.pod:402 ../src/guestfs.pod:407 #: ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:420 -#: ../src/guestfs.pod:425 ../src/guestfs.pod:430 ../src/guestfs.pod:1264 -#: ../src/guestfs.pod:1268 ../src/guestfs.pod:1272 ../src/guestfs.pod:1277 -#: ../src/guestfs.pod:1285 ../src/guestfs.pod:1304 ../src/guestfs.pod:1312 -#: ../src/guestfs.pod:1329 ../src/guestfs.pod:1334 ../src/guestfs.pod:1338 -#: ../src/guestfs.pod:1480 ../src/guestfs.pod:1484 ../src/guestfs.pod:1488 -#: ../src/guestfs.pod:1492 ../src/guestfs.pod:1496 ../src/guestfs.pod:1500 -#: ../src/guestfs.pod:2134 ../src/guestfs.pod:2139 ../src/guestfs.pod:2143 -#: ../src/guestfs.pod:2247 ../src/guestfs.pod:2252 ../src/guestfs.pod:2256 -#: ../src/guestfs.pod:2266 ../src/guestfs.pod:2693 ../src/guestfs.pod:2698 -#: ../src/guestfs.pod:2704 ../src/guestfs.pod:2712 ../src/guestfs.pod:3229 -#: ../src/guestfs.pod:3235 ../src/guestfs.pod:3240 ../src/guestfs.pod:3246 -#: ../src/guestfs.pod:3776 ../src/guestfs.pod:3781 ../src/guestfs.pod:3785 -#: ../src/guestfs.pod:3789 ../src/guestfs.pod:3793 ../src/guestfs.pod:3807 -#: ../src/guestfs.pod:3812 ../sysprep/virt-sysprep.pod:231 +#: ../src/guestfs.pod:425 ../src/guestfs.pod:430 ../src/guestfs.pod:1268 +#: ../src/guestfs.pod:1272 ../src/guestfs.pod:1276 ../src/guestfs.pod:1281 +#: ../src/guestfs.pod:1289 ../src/guestfs.pod:1308 ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1333 ../src/guestfs.pod:1338 ../src/guestfs.pod:1342 +#: ../src/guestfs.pod:1484 ../src/guestfs.pod:1488 ../src/guestfs.pod:1492 +#: ../src/guestfs.pod:1496 ../src/guestfs.pod:1500 ../src/guestfs.pod:1504 +#: ../src/guestfs.pod:2138 ../src/guestfs.pod:2143 ../src/guestfs.pod:2147 +#: ../src/guestfs.pod:2251 ../src/guestfs.pod:2256 ../src/guestfs.pod:2260 +#: ../src/guestfs.pod:2270 ../src/guestfs.pod:2697 ../src/guestfs.pod:2702 +#: ../src/guestfs.pod:2708 ../src/guestfs.pod:2716 ../src/guestfs.pod:3233 +#: ../src/guestfs.pod:3239 ../src/guestfs.pod:3244 ../src/guestfs.pod:3250 +#: ../src/guestfs.pod:3782 ../src/guestfs.pod:3787 ../src/guestfs.pod:3791 +#: ../src/guestfs.pod:3795 ../src/guestfs.pod:3799 ../src/guestfs.pod:3813 +#: ../src/guestfs.pod:3818 ../sysprep/virt-sysprep.pod:231 #: ../sysprep/virt-sysprep.pod:235 ../sysprep/virt-sysprep.pod:239 #: ../sysprep/virt-sysprep.pod:243 ../sysprep/virt-sysprep.pod:258 #: ../sysprep/virt-sysprep.pod:262 ../sysprep/virt-sysprep.pod:266 @@ -1230,7 +1231,7 @@ msgstr "" "置されています" #. type: =item -#: ../align/virt-alignment-scan.pod:355 ../src/guestfs.pod:1737 +#: ../align/virt-alignment-scan.pod:355 ../src/guestfs.pod:1741 msgid "1" msgstr "1" @@ -1240,7 +1241,7 @@ msgid "an error scanning the disk image or guest" msgstr "ディスクイメージまたは仮想マシンのスキャン中にエラーが発生しました" #. type: =item -#: ../align/virt-alignment-scan.pod:361 ../src/guestfs.pod:1741 +#: ../align/virt-alignment-scan.pod:361 ../src/guestfs.pod:1745 msgid "2" msgstr "2" @@ -1254,7 +1255,7 @@ msgstr "" "てパフォーマンスの悪い E<lt> 64K のアライメントを持ちます" #. type: =item -#: ../align/virt-alignment-scan.pod:368 ../src/guestfs.pod:1745 +#: ../align/virt-alignment-scan.pod:368 ../src/guestfs.pod:1749 msgid "3" msgstr "3" @@ -1274,17 +1275,17 @@ msgstr "" #: ../cat/virt-ls.pod:495 ../daemon/guestfsd.pod:92 ../df/virt-df.pod:253 #: ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97 #: ../examples/guestfs-examples.pod:33 ../examples/guestfs-faq.pod:796 -#: ../examples/guestfs-performance.pod:429 ../examples/guestfs-recipes.pod:473 +#: ../examples/guestfs-performance.pod:429 ../examples/guestfs-recipes.pod:496 #: ../examples/guestfs-testing.pod:305 ../fish/guestfish.pod:1374 #: ../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:398 #: ../guestfs-release-notes.pod:1853 ../inspector/virt-inspector.pod:501 -#: ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 -#: ../perl/examples/guestfs-perl.pod:40 +#: ../java/examples/guestfs-java.pod:45 ../lua/examples/guestfs-lua.pod:78 +#: ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:40 #: ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:340 #: ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 -#: ../sparsify/virt-sparsify.pod:299 ../src/guestfs.pod:4025 +#: ../sparsify/virt-sparsify.pod:299 ../src/guestfs.pod:4031 #: ../sysprep/virt-sysprep.pod:480 ../test-tool/libguestfs-test-tool.pod:106 #: ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 #: ../tools/virt-make-fs.pl:627 ../tools/virt-tar.pl:294 @@ -1332,18 +1333,18 @@ msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>" #: ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:404 #: ../cat/virt-ls.pod:511 ../daemon/guestfsd.pod:101 ../df/virt-df.pod:265 #: ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114 -#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-faq.pod:806 -#: ../examples/guestfs-performance.pod:446 ../examples/guestfs-recipes.pod:490 +#: ../examples/guestfs-examples.pod:50 ../examples/guestfs-faq.pod:806 +#: ../examples/guestfs-performance.pod:446 ../examples/guestfs-recipes.pod:514 #: ../examples/guestfs-testing.pod:316 ../fish/guestfish.pod:1406 #: ../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:413 #: ../guestfs-release-notes.pod:1868 ../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:353 -#: ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52 -#: ../sparsify/virt-sparsify.pod:316 ../src/guestfs.pod:4081 +#: ../java/examples/guestfs-java.pod:63 ../lua/examples/guestfs-lua.pod:95 +#: ../ocaml/examples/guestfs-ocaml.pod:96 ../perl/examples/guestfs-perl.pod:58 +#: ../python/examples/guestfs-python.pod:59 ../rescue/virt-rescue.pod:353 +#: ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:53 +#: ../sparsify/virt-sparsify.pod:316 ../src/guestfs.pod:4088 #: ../sysprep/virt-sysprep.pod:501 ../test-tool/libguestfs-test-tool.pod:116 #: ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 #: ../tools/virt-make-fs.pl:646 ../tools/virt-tar.pl:313 @@ -1631,7 +1632,7 @@ msgstr "" #: ../appliance/libguestfs-make-fixed-appliance.pod:139 #: ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1202 #: ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:272 -#: ../src/guestfs.pod:3945 ../test-tool/libguestfs-test-tool.pod:101 +#: ../src/guestfs.pod:3951 ../test-tool/libguestfs-test-tool.pod:101 msgid "ENVIRONMENT VARIABLES" msgstr "環境変数" @@ -1655,16 +1656,16 @@ msgstr "" #. type: =head1 #: ../appliance/libguestfs-make-fixed-appliance.pod:153 #: ../erlang/examples/guestfs-erlang.pod:110 -#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-faq.pod:802 -#: ../examples/guestfs-performance.pod:442 ../examples/guestfs-recipes.pod:486 +#: ../examples/guestfs-examples.pod:46 ../examples/guestfs-faq.pod:802 +#: ../examples/guestfs-performance.pod:442 ../examples/guestfs-recipes.pod:510 #: ../examples/guestfs-testing.pod:312 ../fish/guestfish.pod:1402 #: ../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:409 ../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:4077 +#: ../java/examples/guestfs-java.pod:59 ../lua/examples/guestfs-lua.pod:91 +#: ../ocaml/examples/guestfs-ocaml.pod:92 ../perl/examples/guestfs-perl.pod:54 +#: ../python/examples/guestfs-python.pod:55 +#: ../ruby/examples/guestfs-ruby.pod:49 ../src/guestfs.pod:4084 #: ../sysprep/virt-sysprep.pod:495 ../test-tool/libguestfs-test-tool.pod:112 msgid "AUTHORS" msgstr "著者" @@ -1672,15 +1673,16 @@ msgstr "著者" #. type: textblock #: ../appliance/libguestfs-make-fixed-appliance.pod:155 #: ../erlang/examples/guestfs-erlang.pod:112 -#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-faq.pod:804 -#: ../examples/guestfs-performance.pod:444 ../examples/guestfs-recipes.pod:488 +#: ../examples/guestfs-examples.pod:48 ../examples/guestfs-faq.pod:804 +#: ../examples/guestfs-performance.pod:444 ../examples/guestfs-recipes.pod:512 #: ../examples/guestfs-testing.pod:314 ../fish/guestfish.pod:1404 #: ../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:411 ../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:4079 +#: ../fuse/guestmount.pod:411 ../java/examples/guestfs-java.pod:61 +#: ../lua/examples/guestfs-lua.pod:93 ../ocaml/examples/guestfs-ocaml.pod:94 +#: ../perl/examples/guestfs-perl.pod:56 +#: ../python/examples/guestfs-python.pod:57 +#: ../ruby/examples/guestfs-ruby.pod:51 ../src/guestfs.pod:4086 #: ../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>)" @@ -1688,9 +1690,9 @@ msgstr "Richard W.M. Jones (C<rjones at redhat dot com>)" #. type: textblock #: ../appliance/libguestfs-make-fixed-appliance.pod:159 ../cat/virt-ls.pod:513 #: ../daemon/guestfsd.pod:103 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388 -#: ../examples/guestfs-recipes.pod:492 ../fish/guestfish.pod:1408 +#: ../examples/guestfs-recipes.pod:516 ../fish/guestfish.pod:1408 #: ../fuse/guestmount.pod:415 ../guestfs-release-notes.pod:1870 -#: ../rescue/virt-rescue.pod:355 ../src/guestfs.pod:4083 +#: ../rescue/virt-rescue.pod:355 ../src/guestfs.pod:4090 #: ../test-tool/libguestfs-test-tool.pod:118 #: ../tools/virt-list-partitions.pl:285 msgid "Copyright (C) 2009-2012 Red Hat Inc." @@ -2139,10 +2141,10 @@ msgstr "" #. type: textblock #: ../cat/virt-cat.pod:258 ../cat/virt-filesystems.pod:406 -#: ../examples/guestfs-examples.pod:51 ../inspector/virt-inspector.pod:526 -#: ../ocaml/examples/guestfs-ocaml.pod:97 -#: ../python/examples/guestfs-python.pod:60 ../resize/virt-resize.pod:731 -#: ../ruby/examples/guestfs-ruby.pod:54 ../tools/virt-make-fs.pl:648 +#: ../examples/guestfs-examples.pod:52 ../inspector/virt-inspector.pod:526 +#: ../ocaml/examples/guestfs-ocaml.pod:98 +#: ../python/examples/guestfs-python.pod:61 ../resize/virt-resize.pod:731 +#: ../ruby/examples/guestfs-ruby.pod:55 ../tools/virt-make-fs.pl:648 msgid "Copyright (C) 2010-2012 Red Hat Inc." msgstr "Copyright (C) 2010-2012 Red Hat Inc." @@ -4852,7 +4854,7 @@ msgid "" msgstr "" #. type: =head2 -#: ../erlang/examples/guestfs-erlang.pod:23 +#: ../erlang/examples/guestfs-erlang.pod:23 ../lua/examples/guestfs-lua.pod:23 msgid "OPENING AND CLOSING THE HANDLE" msgstr "" @@ -4905,7 +4907,7 @@ msgstr "" "\n" #. type: =head2 -#: ../erlang/examples/guestfs-erlang.pod:40 +#: ../erlang/examples/guestfs-erlang.pod:40 ../lua/examples/guestfs-lua.pod:48 msgid "FUNCTIONS WITH OPTIONAL ARGUMENTS" msgstr "" @@ -5025,7 +5027,8 @@ msgstr "" #. type: =head1 #: ../erlang/examples/guestfs-erlang.pod:89 #: ../examples/guestfs-examples.pod:25 ../java/examples/guestfs-java.pod:37 -#: ../ocaml/examples/guestfs-ocaml.pod:70 ../perl/examples/guestfs-perl.pod:32 +#: ../lua/examples/guestfs-lua.pod:70 ../ocaml/examples/guestfs-ocaml.pod:70 +#: ../perl/examples/guestfs-perl.pod:32 #: ../python/examples/guestfs-python.pod:34 #: ../ruby/examples/guestfs-ruby.pod:28 msgid "EXAMPLE 1: CREATE A DISK IMAGE" @@ -5034,7 +5037,8 @@ msgstr "例 1: ディスクイメージの作成" #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:91 #: ../examples/guestfs-examples.pod:27 ../java/examples/guestfs-java.pod:39 -#: ../ocaml/examples/guestfs-ocaml.pod:72 ../perl/examples/guestfs-perl.pod:34 +#: ../lua/examples/guestfs-lua.pod:72 ../ocaml/examples/guestfs-ocaml.pod:72 +#: ../perl/examples/guestfs-perl.pod:34 #: ../python/examples/guestfs-python.pod:36 #: ../ruby/examples/guestfs-ruby.pod:30 msgid "@EXAMPLE1@" @@ -5043,7 +5047,8 @@ msgstr "@EXAMPLE1@" #. type: =head1 #: ../erlang/examples/guestfs-erlang.pod:93 #: ../examples/guestfs-examples.pod:29 ../java/examples/guestfs-java.pod:41 -#: ../ocaml/examples/guestfs-ocaml.pod:74 ../perl/examples/guestfs-perl.pod:36 +#: ../lua/examples/guestfs-lua.pod:74 ../ocaml/examples/guestfs-ocaml.pod:74 +#: ../perl/examples/guestfs-perl.pod:36 #: ../python/examples/guestfs-python.pod:38 #: ../ruby/examples/guestfs-ruby.pod:32 msgid "EXAMPLE 2: INSPECT A VIRTUAL MACHINE DISK IMAGE" @@ -5052,14 +5057,15 @@ msgstr "例 2: 仮想マシンのディスクイメージの検査" #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:95 #: ../examples/guestfs-examples.pod:31 ../java/examples/guestfs-java.pod:43 -#: ../ocaml/examples/guestfs-ocaml.pod:76 ../perl/examples/guestfs-perl.pod:38 +#: ../lua/examples/guestfs-lua.pod:76 ../ocaml/examples/guestfs-ocaml.pod:76 +#: ../perl/examples/guestfs-perl.pod:38 #: ../python/examples/guestfs-python.pod:40 #: ../ruby/examples/guestfs-ruby.pod:34 msgid "@EXAMPLE2@" msgstr "@EXAMPLE2@" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:99 +#: ../erlang/examples/guestfs-erlang.pod:99 ../lua/examples/guestfs-lua.pod:80 msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)" ">, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " @@ -5073,8 +5079,8 @@ msgstr "" #: ../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:318 +#: ../fish/virt-tar-out.pod:57 ../java/examples/guestfs-java.pod:65 +#: ../perl/examples/guestfs-perl.pod:60 ../sparsify/virt-sparsify.pod:318 #: ../sysprep/virt-sysprep.pod:503 msgid "Copyright (C) 2011-2012 Red Hat Inc." msgstr "Copyright (C) 2011-2012 Red Hat Inc." @@ -5133,10 +5139,15 @@ msgstr "" #. type: textblock #: ../examples/guestfs-examples.pod:35 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml" +#| "(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " +#| "L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgid "" -"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)" -">, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " -"L<guestfs-ruby(3)>, L<http://libguestfs.org/>." +"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, " +"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-" +"recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgstr "" "L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)" ">, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " @@ -5599,7 +5610,7 @@ msgstr "" #: ../examples/guestfs-faq.pod:504 ../examples/guestfs-faq.pod:509 #: ../examples/guestfs-faq.pod:630 ../examples/guestfs-faq.pod:635 #: ../guestfs-release-notes.pod:14 ../guestfs-release-notes.pod:21 -#: ../src/guestfs.pod:2839 ../src/guestfs.pod:2844 +#: ../src/guestfs.pod:2843 ../src/guestfs.pod:2848 msgid "html" msgstr "HTML" @@ -6809,7 +6820,7 @@ msgstr "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>." #. type: textblock #: ../examples/guestfs-faq.pod:808 ../examples/guestfs-performance.pod:448 -#: ../format/virt-format.pod:193 +#: ../format/virt-format.pod:193 ../lua/examples/guestfs-lua.pod:97 msgid "Copyright (C) 2012 Red Hat Inc." msgstr "Copyright (C) 2012 Red Hat Inc." @@ -7116,11 +7127,11 @@ msgstr "" #. type: =item #: ../examples/guestfs-performance.pod:162 -#: ../examples/guestfs-performance.pod:211 ../examples/guestfs-recipes.pod:288 +#: ../examples/guestfs-performance.pod:211 ../examples/guestfs-recipes.pod:298 #: ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 #: ../sparsify/virt-sparsify.pod:243 ../src/guestfs.pod:478 -#: ../src/guestfs.pod:1349 ../src/guestfs.pod:1603 ../src/guestfs.pod:1850 -#: ../src/guestfs.pod:3340 +#: ../src/guestfs.pod:1353 ../src/guestfs.pod:1607 ../src/guestfs.pod:1854 +#: ../src/guestfs.pod:3344 msgid "1." msgstr "1." @@ -7133,11 +7144,11 @@ msgstr "" #. type: =item #: ../examples/guestfs-performance.pod:168 -#: ../examples/guestfs-performance.pod:218 ../examples/guestfs-recipes.pod:294 +#: ../examples/guestfs-performance.pod:218 ../examples/guestfs-recipes.pod:304 #: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 #: ../sparsify/virt-sparsify.pod:250 ../src/guestfs.pod:484 -#: ../src/guestfs.pod:1353 ../src/guestfs.pod:1607 ../src/guestfs.pod:1854 -#: ../src/guestfs.pod:3365 +#: ../src/guestfs.pod:1357 ../src/guestfs.pod:1611 ../src/guestfs.pod:1858 +#: ../src/guestfs.pod:3369 msgid "2." msgstr "2." @@ -7153,10 +7164,10 @@ msgstr "" #. type: =item #: ../examples/guestfs-performance.pod:176 -#: ../examples/guestfs-performance.pod:224 ../examples/guestfs-recipes.pod:300 +#: ../examples/guestfs-performance.pod:224 ../examples/guestfs-recipes.pod:310 #: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 #: ../sparsify/virt-sparsify.pod:256 ../src/guestfs.pod:495 -#: ../src/guestfs.pod:1357 ../src/guestfs.pod:1860 +#: ../src/guestfs.pod:1361 ../src/guestfs.pod:1864 msgid "3." msgstr "3." @@ -7422,7 +7433,7 @@ msgid "Save the following script as C<time.stap>:" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2787 +#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2791 #, no-wrap msgid "" " global last;\n" @@ -7432,7 +7443,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-performance.pod:324 ../src/guestfs.pod:2789 +#: ../examples/guestfs-performance.pod:324 ../src/guestfs.pod:2793 #, no-wrap msgid "" " function display_time () {\n" @@ -7452,7 +7463,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-performance.pod:331 ../src/guestfs.pod:2796 +#: ../examples/guestfs-performance.pod:331 ../src/guestfs.pod:2800 #, no-wrap msgid "" " printf (\"%d (+%d):\", now, delta);\n" @@ -7464,7 +7475,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-performance.pod:334 ../src/guestfs.pod:2799 +#: ../examples/guestfs-performance.pod:334 ../src/guestfs.pod:2803 #, no-wrap msgid "" " probe begin {\n" @@ -7480,7 +7491,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-performance.pod:339 ../src/guestfs.pod:2804 +#: ../examples/guestfs-performance.pod:339 ../src/guestfs.pod:2808 #, no-wrap msgid "" " /* Display all calls to static markers. */\n" @@ -7609,7 +7620,7 @@ msgstr "" #. type: verbatim #: ../examples/guestfs-performance.pod:394 ../fish/guestfish.pod:998 -#: ../src/guestfs.pod:1113 +#: ../src/guestfs.pod:1117 #, no-wrap msgid "" " #!/bin/bash -\n" @@ -7954,13 +7965,34 @@ msgstr "" #. type: =head1 #: ../examples/guestfs-recipes.pod:104 +msgid "Diff two guests; compare a snapshot to the current version" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:106 +msgid "" +"L<virt-ls(1)> provides a simple way to find the differences between two " +"guests (for example if they were originally cloned from the same source), or " +"between two snapshots from the same guest. See L<virt-ls(1)/DIFFERENCES IN " +"SNAPSHOTS AND BACKING FILES>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:111 +msgid "" +"There are also experimental patches on the mailing list for a \"virt-diff\" " +"tool." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-recipes.pod:114 msgid "Dump raw filesystem content from inside a disk image or VM" msgstr "" "ディスクイメージまたは仮想マシンの中にあるファイルシステムの内容をそのままダ" "ンプします" #. type: textblock -#: ../examples/guestfs-recipes.pod:106 +#: ../examples/guestfs-recipes.pod:116 msgid "" "You can use the L<guestfish(1)> C<download> command to extract the raw " "filesystem content from any filesystem in a disk image or a VM (even one " @@ -7968,7 +8000,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:110 +#: ../examples/guestfs-recipes.pod:120 #, no-wrap msgid "" " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" @@ -7978,7 +8010,7 @@ msgstr "" "\n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:112 +#: ../examples/guestfs-recipes.pod:122 #, no-wrap msgid "" " guestfish --ro -d Guest run : download /dev/vg_guest/lv_root lv.img\n" @@ -7988,62 +8020,67 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:114 +#: ../examples/guestfs-recipes.pod:124 msgid "To download to stdout, replace the filename with a C<-> character:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:116 -#, no-wrap +#: ../examples/guestfs-recipes.pod:126 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +#| "\n" msgid "" -" guestfish --ro -a disk.img run : download /dev/sda1 - | hexdump -C\n" +" guestfish --ro -a disk.img run : download /dev/sda1 - | gzip > sda1.gz\n" "\n" msgstr "" +" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +"\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:118 +#: ../examples/guestfs-recipes.pod:128 msgid "To list the filesystems in a disk image, use L<virt-filesystems(1)>." msgstr "" "ディスクイメージにあるファイルシステムを一覧表示するには L<virt-filesystems" "(1)> を使用します。" #. type: textblock -#: ../examples/guestfs-recipes.pod:120 +#: ../examples/guestfs-recipes.pod:130 msgid "See also L</Uploading raw filesystem content>." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:122 +#: ../examples/guestfs-recipes.pod:132 msgid "Edit grub configuration in a VM" msgstr "仮想マシンの GRUB 設定を編集します" #. type: textblock -#: ../examples/guestfs-recipes.pod:124 +#: ../examples/guestfs-recipes.pod:134 msgid "You can use this to:" msgstr "次の目的のために実行できます:" #. type: textblock -#: ../examples/guestfs-recipes.pod:130 +#: ../examples/guestfs-recipes.pod:140 msgid "Fix a virtual machine that does not boot." msgstr "起動しない仮想マシンを修正します。" #. type: textblock -#: ../examples/guestfs-recipes.pod:134 +#: ../examples/guestfs-recipes.pod:144 msgid "Change which kernel is used to boot the VM." msgstr "仮想マシンの起動時に使用するカーネルを変更します。" #. type: textblock -#: ../examples/guestfs-recipes.pod:138 +#: ../examples/guestfs-recipes.pod:148 msgid "Change kernel command line options." msgstr "カーネルのコマンドラインオプションを変更します。" #. type: textblock -#: ../examples/guestfs-recipes.pod:142 +#: ../examples/guestfs-recipes.pod:152 msgid "Use L<virt-edit(1)> to edit the grub configuration:" msgstr "GRUB 設定を編集するには L<virt-edit(1)> を使用します:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:144 +#: ../examples/guestfs-recipes.pod:154 #, no-wrap msgid "" " virt-edit -d BrokenGuest /boot/grub2/grub.cfg\n" @@ -8051,7 +8088,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:146 +#: ../examples/guestfs-recipes.pod:156 msgid "" "or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like " "this:" @@ -8060,7 +8097,7 @@ msgstr "" "L<virt-rescue(1)> を使用します:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:149 +#: ../examples/guestfs-recipes.pod:159 #, no-wrap msgid "" " virt-rescue -d BrokenGuest\n" @@ -8070,12 +8107,12 @@ msgstr "" "\n" #. type: =head1 -#: ../examples/guestfs-recipes.pod:151 +#: ../examples/guestfs-recipes.pod:161 msgid "Export any directory from a VM" msgstr "仮想マシンから任意のディレクトリをエクスポートします" #. type: textblock -#: ../examples/guestfs-recipes.pod:153 +#: ../examples/guestfs-recipes.pod:163 msgid "" "To export C</home> from a VM into a local directory use L<virt-copy-out(1)>:" msgstr "" @@ -8083,7 +8120,7 @@ msgstr "" "copy-out(1)> を使用します:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:156 ../examples/guestfs-testing.pod:107 +#: ../examples/guestfs-recipes.pod:166 ../examples/guestfs-testing.pod:107 #, no-wrap msgid "" " virt-copy-out -d Guest /home .\n" @@ -8093,16 +8130,16 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:158 ../fish/guestfish-actions.pod:1699 +#: ../examples/guestfs-recipes.pod:168 ../fish/guestfish-actions.pod:1699 #: ../fish/guestfish-actions.pod:2209 ../fish/guestfish-actions.pod:2801 #: ../src/guestfs-actions.pod:2781 ../src/guestfs-actions.pod:3584 -#: ../src/guestfs-actions.pod:4465 ../src/guestfs.pod:2130 +#: ../src/guestfs-actions.pod:4465 ../src/guestfs.pod:2134 #: ../tools/virt-win-reg.pl:707 msgid "Notes:" msgstr "注:" #. type: textblock -#: ../examples/guestfs-recipes.pod:164 +#: ../examples/guestfs-recipes.pod:174 msgid "" "The final dot of the command is not a printing error. It means we want to " "copy out to the current directory." @@ -8111,13 +8148,13 @@ msgstr "" "ピーしたいことを意味します。" #. type: textblock -#: ../examples/guestfs-recipes.pod:169 +#: ../examples/guestfs-recipes.pod:179 msgid "This creates a directory called C<home> under the current directory." msgstr "" "これは現在のディレクトリーに C<home> というディレクトリーを作成します。" #. type: textblock -#: ../examples/guestfs-recipes.pod:173 +#: ../examples/guestfs-recipes.pod:183 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 " @@ -8128,7 +8165,7 @@ msgstr "" "くる必要があります。このようにします:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:177 +#: ../examples/guestfs-recipes.pod:187 #, no-wrap msgid "" " virt-copy-out -d WinGuest 'win:c:\\windows\\system32\\config' .\n" @@ -8138,12 +8175,12 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:179 +#: ../examples/guestfs-recipes.pod:189 msgid "To get the output as a compressed tarball, do:" msgstr "圧縮された tar ファイルとして出力を取得するには:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:181 +#: ../examples/guestfs-recipes.pod:191 #, no-wrap msgid "" " virt-tar-out -d Guest /home - | gzip --best > home.tar.gz\n" @@ -8153,7 +8190,7 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:183 +#: ../examples/guestfs-recipes.pod:193 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." @@ -8161,12 +8198,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:187 +#: ../examples/guestfs-recipes.pod:197 msgid "Find out which user is using the most space" msgstr "もっとも領域を使用しているユーザーを検索します" #. type: textblock -#: ../examples/guestfs-recipes.pod:189 +#: ../examples/guestfs-recipes.pod:199 msgid "" "This simple script examines a Linux guest to find out which user is using " "the most space in their home directory:" @@ -8175,7 +8212,7 @@ msgstr "" "るユーザーを検索するために、Linux 仮想マシンを検査します。" #. type: verbatim -#: ../examples/guestfs-recipes.pod:192 +#: ../examples/guestfs-recipes.pod:202 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -8185,7 +8222,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:194 ../fish/guestfish.pod:1000 +#: ../examples/guestfs-recipes.pod:204 ../fish/guestfish.pod:1000 #, no-wrap msgid "" " set -e\n" @@ -8195,7 +8232,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:196 +#: ../examples/guestfs-recipes.pod:206 #, no-wrap msgid "" " vm=\"$1\"\n" @@ -8207,7 +8244,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:199 +#: ../examples/guestfs-recipes.pod:209 #, no-wrap msgid "" " eval $(guestfish --ro -d \"$vm\" -i --listen)\n" @@ -8217,7 +8254,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:201 +#: ../examples/guestfs-recipes.pod:211 #, no-wrap msgid "" " for d in $(guestfish --remote ls \"$dir\"); do\n" @@ -8235,7 +8272,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:207 ../fish/guestfish.pod:957 +#: ../examples/guestfs-recipes.pod:217 ../fish/guestfish.pod:957 #, no-wrap msgid "" " guestfish --remote exit\n" @@ -8245,12 +8282,12 @@ msgstr "" "\n" #. type: =head1 -#: ../examples/guestfs-recipes.pod:209 +#: ../examples/guestfs-recipes.pod:219 msgid "Get DHCP address from a VM" msgstr "仮想マシンから DHCP アドレスを取得します" #. type: textblock -#: ../examples/guestfs-recipes.pod:211 +#: ../examples/guestfs-recipes.pod:221 msgid "" "The link below explains the many different possible techniques for getting " "the last assigned DHCP address of a virtual machine." @@ -8259,14 +8296,14 @@ msgstr "" "るために、多くの異なる利用可能なテクニックを説明しています。" #. type: textblock -#: ../examples/guestfs-recipes.pod:214 +#: ../examples/guestfs-recipes.pod:224 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:216 +#: ../examples/guestfs-recipes.pod:226 msgid "" "In the libguestfs source examples directory you will find the latest version " "of the C<virt-dhcp-address.c> program." @@ -8275,17 +8312,17 @@ msgstr "" "ラムの最新バージョンがあります。" #. type: =head1 -#: ../examples/guestfs-recipes.pod:219 +#: ../examples/guestfs-recipes.pod:229 msgid "Get the operating system product name string" msgstr "オペレーティングシステムの製品名を取得します" #. type: textblock -#: ../examples/guestfs-recipes.pod:221 +#: ../examples/guestfs-recipes.pod:231 msgid "Save the following script into a file called C<product-name.sh>:" msgstr "以下のスクリプトを C<product-name.sh> というファイルの中に保存します:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:223 +#: ../examples/guestfs-recipes.pod:233 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -8305,12 +8342,12 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:230 +#: ../examples/guestfs-recipes.pod:240 msgid "Make the script executable and run it on a named guest:" msgstr "スクリプトを実行可能にして、名前付き仮想マシンにおいて実行します:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:232 +#: ../examples/guestfs-recipes.pod:242 #, no-wrap msgid "" " # product-name.sh RHEL60x64\n" @@ -8322,7 +8359,7 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:235 +#: ../examples/guestfs-recipes.pod:245 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:" @@ -8332,7 +8369,7 @@ msgstr "" "す:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:239 +#: ../examples/guestfs-recipes.pod:249 #, no-wrap msgid "" " # virt-inspector RHEL60x64 > xml\n" @@ -8350,12 +8387,12 @@ msgstr "" "\n" #. type: =head1 -#: ../examples/guestfs-recipes.pod:245 +#: ../examples/guestfs-recipes.pod:255 msgid "Get the default boot kernel for a Linux VM" msgstr "Linux 仮想マシンのデフォルトの起動カーネルを取得します" #. type: textblock -#: ../examples/guestfs-recipes.pod:247 +#: ../examples/guestfs-recipes.pod:257 msgid "" "The link below contains a program to print the default boot kernel for a " "Linux VM." @@ -8364,14 +8401,14 @@ msgstr "" "グラムがあります。" #. type: textblock -#: ../examples/guestfs-recipes.pod:250 +#: ../examples/guestfs-recipes.pod:260 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:252 +#: ../examples/guestfs-recipes.pod:262 msgid "" "It uses Augeas, and the technique is generally applicable for many different " "tasks, such as:" @@ -8380,54 +8417,54 @@ msgstr "" "な一般的なテクニックがあります:" #. type: textblock -#: ../examples/guestfs-recipes.pod:259 +#: ../examples/guestfs-recipes.pod:269 msgid "listing the user accounts in the guest" msgstr "仮想マシンのユーザーアカウントの一覧" #. type: textblock -#: ../examples/guestfs-recipes.pod:263 +#: ../examples/guestfs-recipes.pod:273 msgid "what repositories is it configured to use" msgstr "使用するよう設定されたリポジトリー" #. type: textblock -#: ../examples/guestfs-recipes.pod:267 +#: ../examples/guestfs-recipes.pod:277 msgid "what NTP servers does it connect to" msgstr "接続する NTP サーバー" #. type: textblock -#: ../examples/guestfs-recipes.pod:271 +#: ../examples/guestfs-recipes.pod:281 msgid "what were the boot messages last time it booted" msgstr "前回起動時の起動メッセージ" #. type: textblock -#: ../examples/guestfs-recipes.pod:275 +#: ../examples/guestfs-recipes.pod:285 msgid "listing who was logged in recently" msgstr "最近ログインしたユーザーの一覧" #. type: textblock -#: ../examples/guestfs-recipes.pod:279 +#: ../examples/guestfs-recipes.pod:289 msgid "L<http://augeas.net/>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:281 +#: ../examples/guestfs-recipes.pod:291 msgid "Hanging guests" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:283 +#: ../examples/guestfs-recipes.pod:293 msgid "" "There are various ways to use libguestfs to find out why a guest is hanging " "or unresponsive:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:290 +#: ../examples/guestfs-recipes.pod:300 msgid "Read the log files using virt-cat:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:292 +#: ../examples/guestfs-recipes.pod:302 #, no-wrap msgid "" " virt-cat Guest /var/log/messages | less\n" @@ -8435,41 +8472,92 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:296 +#: ../examples/guestfs-recipes.pod:306 msgid "Read the Windows Event Log (Windows Vista or later only):" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:298 ../examples/guestfs-recipes.pod:400 +#: ../examples/guestfs-recipes.pod:308 ../examples/guestfs-recipes.pod:423 msgid "" "L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-" "guestfish/#content>" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:302 +#: ../examples/guestfs-recipes.pod:312 msgid "Find out which files were last updated in a guest:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:304 +#: ../examples/guestfs-recipes.pod:314 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:306 +#: ../examples/guestfs-recipes.pod:316 msgid "This might give you a clue as to what program is running." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:310 +#: ../examples/guestfs-recipes.pod:320 +#, fuzzy +#| msgid "Remove many log files from the guest." +msgid "Hex-dumping sectors from the guest" +msgstr "仮想マシンから多くのログファイルを削除します。" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:322 +msgid "Hex-dump the boot partition:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-recipes.pod:324 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +#| "\n" +msgid "" +" guestfish --ro -a disk.img run : pread-device /dev/sda 0x200 0 |\n" +" hexdump -C\n" +"\n" +msgstr "" +" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +"\n" + +#. type: =head1 +#: ../examples/guestfs-recipes.pod:327 +#, fuzzy +#| msgid "listing the user accounts in the guest" +msgid "Hex-editing sectors in the guest" +msgstr "仮想マシンのユーザーアカウントの一覧" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:329 +msgid "Hex-edit the first sector (boot partition):" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-recipes.pod:331 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +#| "\n" +msgid "" +" guestfish --rw -a disk.img run : hexedit /dev/sda 0x200\n" +"\n" +msgstr "" +" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +"\n" + +#. type: =head1 +#: ../examples/guestfs-recipes.pod:333 msgid "Install RPMs in a guest" msgstr "仮想マシンに RPM をインストールします" #. type: textblock -#: ../examples/guestfs-recipes.pod:312 +#: ../examples/guestfs-recipes.pod:335 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 " @@ -8482,30 +8570,30 @@ msgstr "" "セキュリティ更新をインストールするためにこのテクニックを使用できます。" #. type: textblock -#: ../examples/guestfs-recipes.pod:318 +#: ../examples/guestfs-recipes.pod:341 msgid "" "L<https://rwmj.wordpress.com/2010/12/01/tip-install-rpms-in-a-guest/#content>" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:320 +#: ../examples/guestfs-recipes.pod:343 msgid "" "Since libguestfs 1.20, L<virt-sysprep(1)> has an option for installing " "firstboot scripts in Linux guests." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:323 +#: ../examples/guestfs-recipes.pod:346 msgid "List applications installed in a VM" msgstr "仮想マシンにインストールされているアプリケーションを一覧表示します" #. type: textblock -#: ../examples/guestfs-recipes.pod:325 +#: ../examples/guestfs-recipes.pod:348 msgid "Save the following to a file C<list-apps.sh>:" msgstr "以下をファイル C<list-apps.sh> に保存します:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:327 +#: ../examples/guestfs-recipes.pod:350 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -8525,7 +8613,7 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:334 +#: ../examples/guestfs-recipes.pod:357 msgid "" "Make the file executable and then you can run it on any named virtual " "machine:" @@ -8533,7 +8621,7 @@ msgstr "" "ファイルを実行可能にして、あらゆる名前付き仮想マシンにおいて実行できます:" #. type: verbatim -#: ../examples/guestfs-recipes.pod:337 +#: ../examples/guestfs-recipes.pod:360 #, no-wrap msgid "" " # list-apps.sh WinGuest\n" @@ -8599,7 +8687,7 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:367 +#: ../examples/guestfs-recipes.pod:390 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)" @@ -8610,22 +8698,22 @@ msgstr "" "照。" #. type: =head1 -#: ../examples/guestfs-recipes.pod:371 +#: ../examples/guestfs-recipes.pod:394 msgid "List files and directories in a VM" msgstr "仮想マシンのファイルおよびディレクトリを一覧表示します" #. type: textblock -#: ../examples/guestfs-recipes.pod:373 +#: ../examples/guestfs-recipes.pod:396 msgid "Use L<virt-ls(1)>." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:375 +#: ../examples/guestfs-recipes.pod:398 msgid "List services in a Windows VM" msgstr "Windows 仮想マシンのサービスを一覧表示します" #. type: textblock -#: ../examples/guestfs-recipes.pod:377 +#: ../examples/guestfs-recipes.pod:400 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 " @@ -8636,29 +8724,29 @@ msgstr "" "リプトがあります。" #. type: textblock -#: ../examples/guestfs-recipes.pod:381 +#: ../examples/guestfs-recipes.pod:404 msgid "" "L<https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/" "#content>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:383 +#: ../examples/guestfs-recipes.pod:406 msgid "Make a disk image sparse" msgstr "ディスクイメージをスパースにします" #. type: textblock -#: ../examples/guestfs-recipes.pod:385 +#: ../examples/guestfs-recipes.pod:408 msgid "Use L<virt-sparsify(1)>." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:387 +#: ../examples/guestfs-recipes.pod:410 msgid "Monitor disk usage over time" msgstr "ディスク使用量を時系列に監視します" #. type: textblock -#: ../examples/guestfs-recipes.pod:389 +#: ../examples/guestfs-recipes.pod:412 msgid "" "You can use L<virt-df(1)> to monitor disk usage of your guests over time. " "The link below contains a guide." @@ -8667,18 +8755,18 @@ msgstr "" "す。以下のリンクは仮想マシンを含みます。" #. type: textblock -#: ../examples/guestfs-recipes.pod:392 +#: ../examples/guestfs-recipes.pod:415 msgid "L<http://virt-tools.org/learning/advanced-virt-df/>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:394 +#: ../examples/guestfs-recipes.pod:417 msgid "Reading the Windows Event Log from Windows Vista (or later)" msgstr "" "Windows Vista (またそれ以降)から Windows のイベントログを読み出します" #. type: textblock -#: ../examples/guestfs-recipes.pod:396 +#: ../examples/guestfs-recipes.pod:419 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 " @@ -8689,12 +8777,12 @@ msgstr "" "めに使用できます。" #. type: =head1 -#: ../examples/guestfs-recipes.pod:402 +#: ../examples/guestfs-recipes.pod:425 msgid "Remove root password (Linux)" msgstr "root のパスワードを削除します (Linux)" #. type: textblock -#: ../examples/guestfs-recipes.pod:404 +#: ../examples/guestfs-recipes.pod:427 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:" @@ -8704,7 +8792,7 @@ msgstr "" "ることです。" #. type: verbatim -#: ../examples/guestfs-recipes.pod:407 +#: ../examples/guestfs-recipes.pod:430 #, no-wrap msgid "" " virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n" @@ -8714,12 +8802,12 @@ msgstr "" "\n" #. type: =head1 -#: ../examples/guestfs-recipes.pod:409 +#: ../examples/guestfs-recipes.pod:432 msgid "Remove Administrator password (Windows)" msgstr "Administrator のパスワードを削除します (Windows)" #. type: textblock -#: ../examples/guestfs-recipes.pod:411 +#: ../examples/guestfs-recipes.pod:434 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 " @@ -8730,19 +8818,19 @@ msgstr "" "使用でき、次回ログイン時にコマンドプロンプトを出します:" #. type: textblock -#: ../examples/guestfs-recipes.pod:416 +#: ../examples/guestfs-recipes.pod:439 msgid "" "L<https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-" "administrator-password-with-guestfish/>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:418 +#: ../examples/guestfs-recipes.pod:441 msgid "Sysprepping a virtual machine (Windows)" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:420 +#: ../examples/guestfs-recipes.pod:443 msgid "" "It is possible to do a \"sysprep\" using libguestfs alone, although not " "straightforward. Currently there is code in the Aeolus Oz project which " @@ -8751,19 +8839,19 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:425 +#: ../examples/guestfs-recipes.pod:448 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:428 +#: ../examples/guestfs-recipes.pod:451 msgid "Unpack a live CD" msgstr "Live CD を展開します" #. type: textblock -#: ../examples/guestfs-recipes.pod:430 +#: ../examples/guestfs-recipes.pod:453 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 " @@ -8774,19 +8862,19 @@ msgstr "" "L<guestfish(1)> を使用できます。" #. type: textblock -#: ../examples/guestfs-recipes.pod:434 +#: ../examples/guestfs-recipes.pod:457 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:436 +#: ../examples/guestfs-recipes.pod:459 msgid "Uploading and downloading files" msgstr "ファイルのアップロード方法およびダウンロード方法" #. type: textblock -#: ../examples/guestfs-recipes.pod:438 +#: ../examples/guestfs-recipes.pod:461 msgid "" "The link below contains general tips on uploading (copying in) and " "downloading (copying out) files from VMs." @@ -8795,26 +8883,26 @@ msgstr "" "イルをダウンロードすることに関する、一般的なヒントがあります。" #. type: textblock -#: ../examples/guestfs-recipes.pod:441 +#: ../examples/guestfs-recipes.pod:464 msgid "" "L<https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/" "#content>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:443 +#: ../examples/guestfs-recipes.pod:466 msgid "Uploading raw filesystem content" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:445 +#: ../examples/guestfs-recipes.pod:468 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:449 +#: ../examples/guestfs-recipes.pod:472 #, no-wrap msgid "" " guestfish --rw -a disk.img run : upload sda1.img /dev/sda1\n" @@ -8822,7 +8910,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:451 +#: ../examples/guestfs-recipes.pod:474 #, no-wrap msgid "" " guestfish --rw -d Guest run : upload lv.img /dev/vg_guest/lv_root\n" @@ -8830,7 +8918,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:453 +#: ../examples/guestfs-recipes.pod:476 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 - " @@ -8840,7 +8928,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:459 +#: ../examples/guestfs-recipes.pod:482 #, no-wrap msgid "" " guestfish --rw -d Guest run : \\\n" @@ -8850,17 +8938,17 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:463 +#: ../examples/guestfs-recipes.pod:486 msgid "(or use C<ntfsresize> if the filesystem is NTFS)." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:465 +#: ../examples/guestfs-recipes.pod:488 msgid "Use libguestfs tools on VMware ESX guests" msgstr "VMware ESX 仮想マシンにおいて libguestfs ツールを使用します" #. type: textblock -#: ../examples/guestfs-recipes.pod:467 +#: ../examples/guestfs-recipes.pod:490 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." @@ -8870,18 +8958,23 @@ msgstr "" "を使用する方法を説明しています。" #. type: textblock -#: ../examples/guestfs-recipes.pod:471 +#: ../examples/guestfs-recipes.pod:494 msgid "" "L<https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-" "guests/#content>" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:475 +#: ../examples/guestfs-recipes.pod:498 +#, fuzzy +#| 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-python(3)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." 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-" -"python(3)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." +">, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl" +"(3)>, L<guestfs-python(3)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgstr "" "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-" @@ -8944,7 +9037,7 @@ msgstr "" #. type: textblock #: ../examples/guestfs-testing.pod:32 ../examples/guestfs-testing.pod:145 -#: ../src/guestfs.pod:3797 +#: ../src/guestfs.pod:3803 msgid "Run:" msgstr "次を実行します:" @@ -9027,7 +9120,7 @@ msgstr "" #. type: textblock #: ../examples/guestfs-testing.pod:68 ../examples/guestfs-testing.pod:175 #: ../examples/guestfs-testing.pod:188 ../examples/guestfs-testing.pod:248 -#: ../src/guestfs.pod:3442 +#: ../lua/examples/guestfs-lua.pod:56 ../src/guestfs.pod:3446 msgid "or:" msgstr "または:" @@ -10056,7 +10149,7 @@ msgstr "" #. type: =item #: ../fish/guestfish-actions.pod:152 ../src/guestfs-actions.pod:218 -#: ../src/guestfs.pod:3660 +#: ../src/guestfs.pod:3664 msgid "C<format>" msgstr "C<format>" @@ -13319,7 +13412,7 @@ msgstr "このコマンドを使用する前に L</launch> を呼び出す必要 #. type: textblock #: ../fish/guestfish-actions.pod:1572 ../src/guestfs-actions.pod:2587 -#: ../src/guestfs.pod:1977 +#: ../src/guestfs.pod:1981 msgid "" "This is mainly useful as a negative test. If this returns true, it doesn't " "mean that a particular filesystem can be mounted, since filesystems can fail " @@ -22633,7 +22726,7 @@ msgstr "" #. type: =item #: ../fish/guestfish-actions.pod:5647 ../src/guestfs-actions.pod:9096 -#: ../src/guestfs.pod:3620 +#: ../src/guestfs.pod:3624 msgid "C<appliance>" msgstr "C<appliance>" @@ -27474,7 +27567,7 @@ msgstr "" "ディスクを作成するもう一つの方法です:" #. type: verbatim -#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2828 +#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2832 #, no-wrap msgid "" " guestfish -N fs\n" @@ -29958,7 +30051,7 @@ msgid "COMMANDS" msgstr "コマンド" #. type: textblock -#: ../fish/guestfish.pod:1195 ../src/guestfs.pod:1955 +#: ../fish/guestfish.pod:1195 ../src/guestfs.pod:1959 msgid "__ACTIONS__" msgstr "" @@ -29986,17 +30079,17 @@ msgstr "" "と、C<vi> を使用します。" #. type: =item -#: ../fish/guestfish.pod:1211 ../src/guestfs.pod:3949 +#: ../fish/guestfish.pod:1211 ../src/guestfs.pod:3955 msgid "FEBOOTSTRAP_KERNEL" msgstr "FEBOOTSTRAP_KERNEL" #. type: =item -#: ../fish/guestfish.pod:1213 ../src/guestfs.pod:3951 +#: ../fish/guestfish.pod:1213 ../src/guestfs.pod:3957 msgid "FEBOOTSTRAP_MODULES" msgstr "FEBOOTSTRAP_MODULES" #. type: textblock -#: ../fish/guestfish.pod:1215 ../src/guestfs.pod:3953 +#: ../fish/guestfish.pod:1215 ../src/guestfs.pod:3959 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 " @@ -30068,17 +30161,17 @@ msgstr "" "さまざまなファイルを使用できます。 L</ファイル> 参照。" #. type: =item -#: ../fish/guestfish.pod:1247 ../src/guestfs.pod:3959 +#: ../fish/guestfish.pod:1247 ../src/guestfs.pod:3965 msgid "LIBGUESTFS_APPEND" msgstr "LIBGUESTFS_APPEND" #. type: textblock -#: ../fish/guestfish.pod:1249 ../src/guestfs.pod:3961 +#: ../fish/guestfish.pod:1249 ../src/guestfs.pod:3967 msgid "Pass additional options to the guest kernel." msgstr "仮想マシンのカーネルに追加のオプションを渡します。" #. type: =item -#: ../fish/guestfish.pod:1251 ../src/guestfs.pod:3963 +#: ../fish/guestfish.pod:1251 ../src/guestfs.pod:3969 msgid "LIBGUESTFS_ATTACH_METHOD" msgstr "" @@ -30090,14 +30183,14 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1256 ../src/guestfs.pod:3968 +#: ../fish/guestfish.pod:1256 ../src/guestfs.pod:3974 #, fuzzy #| msgid "LIBGUESTFS_TRACE" msgid "LIBGUESTFS_CACHEDIR" msgstr "LIBGUESTFS_TRACE" #. type: textblock -#: ../fish/guestfish.pod:1258 ../src/guestfs.pod:3970 +#: ../fish/guestfish.pod:1258 ../src/guestfs.pod:3976 msgid "" "The location where libguestfs will cache its appliance, when using a " "supermin appliance. The appliance is cached and shared between all handles " @@ -30105,7 +30198,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1262 ../src/guestfs.pod:3974 +#: ../fish/guestfish.pod:1262 ../src/guestfs.pod:3980 msgid "" "If C<LIBGUESTFS_CACHEDIR> is not set, then C<TMPDIR> is used. If C<TMPDIR> " "is not set, then C</var/tmp> is used." @@ -30117,7 +30210,7 @@ msgid "See also L</LIBGUESTFS_TMPDIR>, L</set-cachedir>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1267 ../src/guestfs.pod:3979 +#: ../fish/guestfish.pod:1267 ../src/guestfs.pod:3985 msgid "LIBGUESTFS_DEBUG" msgstr "LIBGUESTFS_DEBUG" @@ -30129,18 +30222,18 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1272 ../src/guestfs.pod:3984 +#: ../fish/guestfish.pod:1272 ../src/guestfs.pod:3990 msgid "LIBGUESTFS_MEMSIZE" msgstr "LIBGUESTFS_MEMSIZE" #. type: textblock -#: ../fish/guestfish.pod:1274 ../src/guestfs.pod:3986 +#: ../fish/guestfish.pod:1274 ../src/guestfs.pod:3992 msgid "" "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1277 ../src/guestfs.pod:3989 +#: ../fish/guestfish.pod:1277 ../src/guestfs.pod:3995 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -30150,7 +30243,7 @@ msgstr "" "\n" #. type: =item -#: ../fish/guestfish.pod:1279 ../src/guestfs.pod:3991 +#: ../fish/guestfish.pod:1279 ../src/guestfs.pod:3997 msgid "LIBGUESTFS_PATH" msgstr "LIBGUESTFS_PATH" @@ -30162,32 +30255,32 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1284 ../src/guestfs.pod:3996 +#: ../fish/guestfish.pod:1284 ../src/guestfs.pod:4002 msgid "LIBGUESTFS_QEMU" msgstr "LIBGUESTFS_QEMU" #. type: textblock -#: ../fish/guestfish.pod:1286 ../src/guestfs.pod:3998 +#: ../fish/guestfish.pod:1286 ../src/guestfs.pod:4004 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:1290 ../src/guestfs.pod:4004 +#: ../fish/guestfish.pod:1290 ../src/guestfs.pod:4010 #, fuzzy #| msgid "LIBGUESTFS_TRACE" msgid "LIBGUESTFS_TMPDIR" msgstr "LIBGUESTFS_TRACE" #. type: textblock -#: ../fish/guestfish.pod:1292 ../src/guestfs.pod:4006 +#: ../fish/guestfish.pod:1292 ../src/guestfs.pod:4012 msgid "" "The location where libguestfs will store temporary files used by each handle." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1295 ../src/guestfs.pod:4009 +#: ../fish/guestfish.pod:1295 ../src/guestfs.pod:4015 msgid "" "If C<LIBGUESTFS_TMPDIR> is not set, then C<TMPDIR> is used. If C<TMPDIR> is " "not set, then C</tmp> is used." @@ -30199,7 +30292,7 @@ msgid "See also L</LIBGUESTFS_CACHEDIR>, L</set-tmpdir>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1300 ../src/guestfs.pod:4014 +#: ../fish/guestfish.pod:1300 ../src/guestfs.pod:4020 msgid "LIBGUESTFS_TRACE" msgstr "LIBGUESTFS_TRACE" @@ -30223,12 +30316,12 @@ msgstr "" #. type: =item #: ../fish/guestfish.pod:1309 ../sparsify/virt-sparsify.pod:276 -#: ../src/guestfs.pod:4019 +#: ../src/guestfs.pod:4025 msgid "TMPDIR" msgstr "TMPDIR" #. type: textblock -#: ../fish/guestfish.pod:1311 ../src/guestfs.pod:4021 +#: ../fish/guestfish.pod:1311 ../src/guestfs.pod:4027 msgid "See L</LIBGUESTFS_CACHEDIR>, L</LIBGUESTFS_TMPDIR>." msgstr "" @@ -32317,7 +32410,7 @@ msgid "Code for temporarily ignoring/disabling errors now looks like this:" msgstr "" #. type: verbatim -#: ../guestfs-release-notes.pod:370 ../src/guestfs.pod:1920 +#: ../guestfs-release-notes.pod:370 ../src/guestfs.pod:1924 #, no-wrap msgid "" " guestfs_push_error_handler (g, NULL, NULL);\n" @@ -37022,16 +37115,205 @@ msgstr "" #. type: textblock #: ../java/examples/guestfs-java.pod:47 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-" +#| "ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)" +#| ">, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml.inria.fr/" +#| ">." msgid "" -"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-ocaml" -"(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " -"L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml.inria.fr/>." +"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-lua(3)" +">, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-" +"recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml." +"inria.fr/>." msgstr "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-ocaml" "(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " "L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml.inria.fr/>。" #. type: textblock +#: ../lua/examples/guestfs-lua.pod:5 +#, fuzzy +#| msgid "guestfs-java - How to use libguestfs from Java" +msgid "guestfs-lua - How to use libguestfs from Lua" +msgstr "guestfs-java - Java から libguestfs を使用する方法" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:9 +#, fuzzy, no-wrap +#| msgid "" +#| " import guestfs\n" +#| " g = guestfs.GuestFS ()\n" +#| " g.add_drive_opts (\"disk.img\", format=\"raw\", readonly=1)\n" +#| " g.launch ()\n" +#| "\n" +msgid "" +" require \"guestfs\"\n" +" g = Guestfs.create ()\n" +" g:add_drive (\"test.img\", { format = \"raw\", readonly = \"true\" })\n" +" g:launch ()\n" +" devices = g:list_devices ()\n" +" g:close ()\n" +"\n" +msgstr "" +" import guestfs\n" +" g = guestfs.GuestFS ()\n" +" g.add_drive_opts (\"disk.img\", format=\"raw\", readonly=1)\n" +" g.launch ()\n" +"\n" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:18 +#, fuzzy +#| msgid "" +#| "This manual page contains examples of calling libguestfs from the C " +#| "programming language. If you are not familiar with using libguestfs, you " +#| "also need to read L<guestfs(3)>." +msgid "" +"This manual page documents how to call libguestfs from the Lua programming " +"language. This page just documents the differences from the C API and gives " +"some examples. If you are not familiar with using libguestfs, you also need " +"to read L<guestfs(3)>." +msgstr "" +"このマニュアルページは C プログラミング言語から libguestfs を呼び出す例があり" +"ます。 libguestfs を使用することに慣れていなければ、L<guestfs(3)> を読む必要" +"もあります。" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:25 +#, fuzzy +#| msgid "To close the handle:" +msgid "To create a new handle, call:" +msgstr "ハンドルを閉じるには:" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:27 +#, fuzzy, no-wrap +#| msgid "" +#| " {ok, G} = guestfs:create().\n" +#| "\n" +msgid "" +" g = Guestfs.create ()\n" +"\n" +msgstr "" +" {ok, G} = guestfs:create().\n" +"\n" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:29 +#, fuzzy +#| msgid "With a single optional argument:" +msgid "You can also use the optional arguments:" +msgstr "単一の引数の場合:" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:31 +#, no-wrap +msgid "" +" g = Guestfs.create { environment = 0, close_on_exit = 0 }\n" +"\n" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:33 +msgid "" +"to set the flags C<GUESTFS_CREATE_NO_ENVIRONMENT> and/or " +"C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>." +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:36 +msgid "" +"The handle will be closed by the garbage collector, but you can also close " +"it explicitly by doing:" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:39 +#, fuzzy, no-wrap +#| msgid "" +#| " aug-close\n" +#| "\n" +msgid "" +" g:close ()\n" +"\n" +msgstr "" +" aug-close\n" +"\n" + +#. type: =head2 +#: ../lua/examples/guestfs-lua.pod:41 +msgid "CALLING METHODS" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:43 +msgid "" +"Use the ordinary Lua convention for calling methods on the handle. For " +"example:" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:46 +#, fuzzy, no-wrap +#| msgid "" +#| " set-verbose true|false\n" +#| "\n" +msgid "" +" g:set_verbose (true)\n" +"\n" +msgstr "" +" set-verbose true|false\n" +"\n" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:50 +msgid "" +"For functions that take optional arguments, the first arguments are the non-" +"optional ones. The optional final argument is a table supplying the " +"optional arguments." +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:54 +#, no-wrap +msgid "" +" g:add_drive (\"test.img\")\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:58 +#, no-wrap +msgid "" +" g:add_drive (\"test.img\", { format = \"raw\", readonly = \"true\" })\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../lua/examples/guestfs-lua.pod:60 +msgid "64 BIT VALUES" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:62 +msgid "" +"Currently 64 bit values must be passed as strings, and are returned as " +"strings. This is because 32 bit Lua cannot handle 64 bit integers " +"properly. We hope to come up with a better solution later." +msgstr "" + +#. type: =head2 +#: ../lua/examples/guestfs-lua.pod:66 ../perl/examples/guestfs-perl.pod:27 +msgid "ERRORS" +msgstr "エラー" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:68 +msgid "Errors are converted into exceptions. Use C<pcall> to catch these." +msgstr "" + +#. type: textblock #: ../ocaml/examples/guestfs-ocaml.pod:5 msgid "guestfs-ocaml - How to use libguestfs from OCaml" msgstr "guestfs-ocaml - OCaml から libguestfs を使用する方法" @@ -37186,10 +37468,17 @@ msgstr "" #. type: textblock #: ../ocaml/examples/guestfs-ocaml.pod:80 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-" +#| "java(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)" +#| ">, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml.inria.fr/" +#| ">." msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java" -"(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " -"L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml.inria.fr/>." +"(3)>, L<guestfs-lua(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-" +"recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml." +"inria.fr/>." msgstr "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java" "(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " @@ -37233,11 +37522,6 @@ msgid "" "to read L<guestfs(3)>. To read the full Perl API, see L<Sys::Guestfs(3)>." msgstr "" -#. type: =head2 -#: ../perl/examples/guestfs-perl.pod:27 -msgid "ERRORS" -msgstr "エラー" - #. type: textblock #: ../perl/examples/guestfs-perl.pod:29 msgid "" @@ -37247,10 +37531,16 @@ msgstr "" #. type: textblock #: ../perl/examples/guestfs-perl.pod:42 +#, fuzzy +#| msgid "" +#| "L<Sys::Guestfs(3)>, L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-" +#| "erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, L<guestfs-python(3)" +#| ">, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgid "" "L<Sys::Guestfs(3)>, L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang" -"(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, L<guestfs-python(3)>, " -"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." +"(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-" +"python(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs." +"org/>." msgstr "" "L<Sys::Guestfs(3)>, L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang" "(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, L<guestfs-python(3)>, " @@ -37319,10 +37609,15 @@ msgstr "" #. type: textblock #: ../python/examples/guestfs-python.pod:44 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-" +#| "java(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-recipes(1)>, " +#| "L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java" -"(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-recipes(1)>, " -"L<guestfs-ruby(3)>, L<http://libguestfs.org/>." +"(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-" +"recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgstr "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java" "(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-recipes(1)>, " @@ -39387,10 +39682,15 @@ msgstr "" #. type: textblock #: ../ruby/examples/guestfs-ruby.pod:38 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." msgid "" "L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." +"(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-" +"python(3)>, L<guestfs-recipes(1)>, L<http://libguestfs.org/>." msgstr "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java" "(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, " @@ -58513,83 +58813,95 @@ msgstr "" #. type: =item #: ../src/guestfs.pod:883 +msgid "B<Lua>" +msgstr "" + +#. type: textblock +#: ../src/guestfs.pod:885 +#, fuzzy +#| msgid "See L<guestfs-erlang(3)>." +msgid "See L<guestfs-lua(3)>." +msgstr "L<guestfs-erlang(3)> 参照。" + +#. type: =item +#: ../src/guestfs.pod:887 msgid "B<OCaml>" msgstr "B<OCaml>" #. type: textblock -#: ../src/guestfs.pod:885 +#: ../src/guestfs.pod:889 msgid "See L<guestfs-ocaml(3)>." msgstr "L<guestfs-ocaml(3)> 参照。" #. type: =item -#: ../src/guestfs.pod:887 +#: ../src/guestfs.pod:891 msgid "B<Perl>" msgstr "B<Perl>" #. type: textblock -#: ../src/guestfs.pod:889 +#: ../src/guestfs.pod:893 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:891 +#: ../src/guestfs.pod:895 msgid "B<PHP>" msgstr "B<PHP>" #. type: textblock -#: ../src/guestfs.pod:893 +#: ../src/guestfs.pod:897 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:896 +#: ../src/guestfs.pod:900 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "PHP バインドは 64 ビットマシンにおいてのみ正しく動作します。" #. type: =item -#: ../src/guestfs.pod:898 +#: ../src/guestfs.pod:902 msgid "B<Python>" msgstr "B<Python>" #. type: textblock -#: ../src/guestfs.pod:900 +#: ../src/guestfs.pod:904 msgid "See L<guestfs-python(3)>." msgstr "L<guestfs-python(3)> 参照。" #. type: =item -#: ../src/guestfs.pod:902 +#: ../src/guestfs.pod:906 msgid "B<Ruby>" msgstr "B<Ruby>" #. type: textblock -#: ../src/guestfs.pod:904 +#: ../src/guestfs.pod:908 msgid "See L<guestfs-ruby(3)>." msgstr "L<guestfs-ruby(3)> 参照。" #. type: textblock -#: ../src/guestfs.pod:906 +#: ../src/guestfs.pod:910 msgid "For JRuby, use the Java bindings." msgstr "JRuby に対しては Java バインドを使用します。" #. type: =item -#: ../src/guestfs.pod:908 +#: ../src/guestfs.pod:912 msgid "B<shell scripts>" msgstr "B<シェルスクリプト>" #. type: textblock -#: ../src/guestfs.pod:910 +#: ../src/guestfs.pod:914 msgid "See L<guestfish(1)>." msgstr "L<guestfish(1)> 参照。" #. type: =head2 -#: ../src/guestfs.pod:914 +#: ../src/guestfs.pod:918 msgid "LIBGUESTFS GOTCHAS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:920 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 " @@ -58597,7 +58909,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:920 +#: ../src/guestfs.pod:924 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -58606,19 +58918,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:928 +#: ../src/guestfs.pod:932 msgid "Autosync / forgetting to sync." msgstr "" #. type: textblock -#: ../src/guestfs.pod:930 +#: ../src/guestfs.pod:934 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:933 +#: ../src/guestfs.pod:937 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 " @@ -58626,7 +58938,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:937 +#: ../src/guestfs.pod:941 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -58636,14 +58948,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:939 +#: ../src/guestfs.pod:943 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:943 +#: ../src/guestfs.pod:947 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 " @@ -58651,7 +58963,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:947 +#: ../src/guestfs.pod:951 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 " @@ -58659,19 +58971,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:951 +#: ../src/guestfs.pod:955 msgid "Mount option C<-o sync> should not be the default." msgstr "マウントオプション C<-o sync> をデフォルトにすべきではありません。" #. type: textblock -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:957 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:956 +#: ../src/guestfs.pod:960 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 " @@ -58679,19 +58991,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:960 +#: ../src/guestfs.pod:964 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:963 +#: ../src/guestfs.pod:967 msgid "Read-only should be the default." msgstr "初期値は読み込み専用です。" #. type: textblock -#: ../src/guestfs.pod:965 +#: ../src/guestfs.pod:969 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." @@ -58700,12 +59012,12 @@ msgstr "" "rw> を指定する必要があります。" #. type: textblock -#: ../src/guestfs.pod:968 +#: ../src/guestfs.pod:972 msgid "This would reduce the potential to corrupt live VM images." msgstr "これにより、動作中の仮想マシンのイメージを破壊する可能性を減らします。" #. type: textblock -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:974 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</" @@ -58713,12 +59025,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:974 +#: ../src/guestfs.pod:978 msgid "guestfish command line is hard to use." msgstr "guestfish コマンドラインは使うのが難しいです。" #. type: textblock -#: ../src/guestfs.pod:976 +#: ../src/guestfs.pod:980 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 " @@ -58728,12 +59040,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:983 +#: ../src/guestfs.pod:987 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" #. type: textblock -#: ../src/guestfs.pod:985 +#: ../src/guestfs.pod:989 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 " @@ -58743,12 +59055,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:992 +#: ../src/guestfs.pod:996 msgid "The most common is L</guestfs_lvcreate>. The guestfish command:" msgstr "最も一般的な L</guestfs_lvcreate> です。 guestfish コマンド:" #. type: verbatim -#: ../src/guestfs.pod:994 +#: ../src/guestfs.pod:998 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -58758,7 +59070,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:996 +#: ../src/guestfs.pod:1000 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 " @@ -58767,19 +59079,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1001 +#: ../src/guestfs.pod:1005 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:1004 +#: ../src/guestfs.pod:1008 msgid "Ambiguity between devices and paths" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1006 +#: ../src/guestfs.pod:1010 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 " @@ -58787,7 +59099,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1011 +#: ../src/guestfs.pod:1015 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>. " @@ -58796,7 +59108,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1017 +#: ../src/guestfs.pod:1021 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 " @@ -58806,7 +59118,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1023 +#: ../src/guestfs.pod:1027 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -58816,12 +59128,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1025 +#: ../src/guestfs.pod:1029 msgid "which would allow you to pass arguments like:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1027 +#: ../src/guestfs.pod:1031 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -58837,19 +59149,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1032 +#: ../src/guestfs.pod:1036 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:1037 +#: ../src/guestfs.pod:1041 msgid "KEYS AND PASSPHRASES" msgstr "キーとパスフレーズ" #. type: textblock -#: ../src/guestfs.pod:1039 +#: ../src/guestfs.pod:1043 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." @@ -58858,7 +59170,7 @@ msgstr "" "を含むパラメーターをとります。" #. type: textblock -#: ../src/guestfs.pod:1042 +#: ../src/guestfs.pod:1046 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 " @@ -58867,7 +59179,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1047 +#: ../src/guestfs.pod:1051 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, " @@ -58875,19 +59187,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1052 +#: ../src/guestfs.pod:1056 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1054 +#: ../src/guestfs.pod:1058 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:1057 +#: ../src/guestfs.pod:1061 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 " @@ -58895,26 +59207,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1061 +#: ../src/guestfs.pod:1065 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1064 +#: ../src/guestfs.pod:1068 msgid "PATH" msgstr "パス" #. type: textblock -#: ../src/guestfs.pod:1066 +#: ../src/guestfs.pod:1070 msgid "" "Libguestfs needs a supermin appliance, which it finds by looking along an " "internal path." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1069 +#: ../src/guestfs.pod:1073 msgid "" "By default it looks for these in the directory C<$libdir/guestfs> (eg. C</" "usr/local/lib/guestfs> or C</usr/lib64/guestfs>)." @@ -58923,7 +59235,7 @@ msgstr "" "(例: C</usr/local/lib/guestfs> または C</usr/lib64/guestfs>)。" #. type: textblock -#: ../src/guestfs.pod:1072 +#: ../src/guestfs.pod:1076 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 " @@ -58934,12 +59246,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1079 +#: ../src/guestfs.pod:1083 msgid "QEMU WRAPPERS" msgstr "QEMU ラッパー" #. type: textblock -#: ../src/guestfs.pod:1081 +#: ../src/guestfs.pod:1085 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 " @@ -58950,7 +59262,7 @@ msgstr "" "す。" #. type: textblock -#: ../src/guestfs.pod:1085 +#: ../src/guestfs.pod:1089 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 " @@ -58959,14 +59271,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1090 +#: ../src/guestfs.pod:1094 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:1093 +#: ../src/guestfs.pod:1097 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -58980,7 +59292,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1097 +#: ../src/guestfs.pod:1101 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 " @@ -58988,7 +59300,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1101 +#: ../src/guestfs.pod:1105 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -58998,14 +59310,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1103 +#: ../src/guestfs.pod:1107 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1106 +#: ../src/guestfs.pod:1110 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 " @@ -59015,7 +59327,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1115 +#: ../src/guestfs.pod:1119 #, no-wrap msgid "" " i=0\n" @@ -59045,7 +59357,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1127 +#: ../src/guestfs.pod:1131 #, no-wrap msgid "" " exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n" @@ -59055,19 +59367,19 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:1129 +#: ../src/guestfs.pod:1133 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1131 +#: ../src/guestfs.pod:1135 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:1134 +#: ../src/guestfs.pod:1138 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 " @@ -59075,12 +59387,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1138 +#: ../src/guestfs.pod:1142 msgid "Using guestfs_set_attach_method" msgstr "guestfs_set_attach_method の使用法" #. type: textblock -#: ../src/guestfs.pod:1140 +#: ../src/guestfs.pod:1144 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</" @@ -59088,7 +59400,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1144 +#: ../src/guestfs.pod:1148 msgid "" "The normal attach method is C<appliance>, where a small appliance is created " "containing the daemon, and then the library connects to this. C<libvirt> or " @@ -59096,7 +59408,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1149 +#: ../src/guestfs.pod:1153 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 " @@ -59104,7 +59416,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1153 +#: ../src/guestfs.pod:1157 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 " @@ -59112,12 +59424,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1157 +#: ../src/guestfs.pod:1161 msgid "Using guestfs_add_domain with live flag" msgstr "live フラグを用いた guestfs_add_domain の使用方法" #. type: textblock -#: ../src/guestfs.pod:1159 +#: ../src/guestfs.pod:1163 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 " @@ -59128,7 +59440,7 @@ msgstr "" "を使用してください。" #. type: verbatim -#: ../src/guestfs.pod:1165 +#: ../src/guestfs.pod:1169 #, no-wrap msgid "" " <domain>\n" @@ -59158,7 +59470,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1177 +#: ../src/guestfs.pod:1181 msgid "" "L</guestfs_add_domain> extracts C</path/to/socket> and sets the attach " "method to C<unix:/path/to/socket>." @@ -59167,7 +59479,7 @@ msgstr "" "path/to/socket> に設定します。" #. type: textblock -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1184 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 " @@ -59175,19 +59487,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1184 +#: ../src/guestfs.pod:1188 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:1188 +#: ../src/guestfs.pod:1192 msgid "ABI GUARANTEE" msgstr "ABI 保証" #. type: textblock -#: ../src/guestfs.pod:1190 +#: ../src/guestfs.pod:1194 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -59197,12 +59509,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1196 +#: ../src/guestfs.pod:1200 msgid "BLOCK DEVICE NAMING" msgstr "ブロックデバイスの命名法" #. type: textblock -#: ../src/guestfs.pod:1198 +#: ../src/guestfs.pod:1202 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 " @@ -59216,7 +59528,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1210 +#: ../src/guestfs.pod:1214 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 " @@ -59224,7 +59536,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1214 +#: ../src/guestfs.pod:1218 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 " @@ -59232,7 +59544,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1219 +#: ../src/guestfs.pod:1223 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 " @@ -59241,7 +59553,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1229 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 " @@ -59250,12 +59562,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1230 +#: ../src/guestfs.pod:1234 msgid "DISK LABELS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1232 +#: ../src/guestfs.pod:1236 msgid "" "In libguestfs E<ge> 1.20, you can give a label to a disk when you add it, " "using the optional C<label> parameter to L</guestfs_add_drive_opts>. (Note " @@ -59263,14 +59575,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1237 +#: ../src/guestfs.pod:1241 msgid "" "Not all versions of libguestfs support setting a disk label, and when it is " "supported, it is limited to 20 ASCII characters C<[a-zA-Z]>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1240 +#: ../src/guestfs.pod:1244 msgid "" "When you add a disk with a label, it can either be addressed using C</dev/" "sd*>, or using C</dev/disk/guestfs/I<label>>. Partitions on the disk can be " @@ -59278,7 +59590,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1245 +#: ../src/guestfs.pod:1249 msgid "" "Listing devices (L</guestfs_list_devices>) and partitions (L</" "guestfs_list_partitions>) returns the raw block device name. However you " @@ -59287,12 +59599,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1250 +#: ../src/guestfs.pod:1254 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1252 +#: ../src/guestfs.pod:1256 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 " @@ -59301,7 +59613,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1258 +#: ../src/guestfs.pod:1262 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</" @@ -59309,17 +59621,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1266 +#: ../src/guestfs.pod:1270 msgid "Is the string a parameter which is a device or partition name?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1270 +#: ../src/guestfs.pod:1274 msgid "Does the string begin with C</dev/sd>?" msgstr "文字列が C</dev/sd> で始まっていますか?" #. type: textblock -#: ../src/guestfs.pod:1274 +#: ../src/guestfs.pod:1278 msgid "" "Does the named device exist? If so, we use that device. However if I<not> " "then we continue with this algorithm." @@ -59328,38 +59640,38 @@ msgstr "" "し、そうで I<なければ> 、この手順を続けます。" #. type: textblock -#: ../src/guestfs.pod:1279 +#: ../src/guestfs.pod:1283 msgid "Replace initial C</dev/sd> string with C</dev/hd>." msgstr "最初の C</dev/sd> 文字列を C</dev/hd> で置き換えます。" #. type: textblock -#: ../src/guestfs.pod:1281 +#: ../src/guestfs.pod:1285 msgid "For example, change C</dev/sda2> to C</dev/hda2>." msgstr "たとえば、 C</dev/sda2> を C</dev/hda2> に変更します。" #. type: textblock -#: ../src/guestfs.pod:1283 +#: ../src/guestfs.pod:1287 msgid "If that named device exists, use it. If not, continue." msgstr "名前付きデバイスが存在すれば、それを使用します。なければ、続けます。" #. type: textblock -#: ../src/guestfs.pod:1287 +#: ../src/guestfs.pod:1291 msgid "Replace initial C</dev/sd> string with C</dev/vd>." msgstr "最初の C</dev/sd> 文字列を C</dev/vd> で置き換えます。" #. type: textblock -#: ../src/guestfs.pod:1289 +#: ../src/guestfs.pod:1293 msgid "If that named device exists, use it. If not, return an error." msgstr "" "名前付きデバイスが存在すれば、それを使用します。なければ、エラーを返します。" #. type: =head3 -#: ../src/guestfs.pod:1293 +#: ../src/guestfs.pod:1297 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1295 +#: ../src/guestfs.pod:1299 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 " @@ -59367,14 +59679,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1299 +#: ../src/guestfs.pod:1303 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1306 +#: ../src/guestfs.pod:1310 msgid "" "Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual " "device names, and then use those names directly." @@ -59383,14 +59695,14 @@ msgstr "" "guestfs_list_partitions> を使用します。そして、それらの名前を直接使用します。" #. type: textblock -#: ../src/guestfs.pod:1309 +#: ../src/guestfs.pod:1313 msgid "" "Since those device names exist by definition, they will never be translated." msgstr "" "それらのデバイス名が定義により存在しているので、それらは変換されません。" #. type: textblock -#: ../src/guestfs.pod:1314 +#: ../src/guestfs.pod:1318 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." @@ -59399,12 +59711,12 @@ msgstr "" "るための高レベルの方法を使用します。" #. type: =head2 -#: ../src/guestfs.pod:1319 +#: ../src/guestfs.pod:1323 msgid "NULL DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1321 +#: ../src/guestfs.pod:1325 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 " @@ -59412,46 +59724,46 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1325 +#: ../src/guestfs.pod:1329 msgid "A null disk has the following properties:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1331 +#: ../src/guestfs.pod:1335 msgid "" "A null disk will appear as a normal device, eg. in calls to L</" "guestfs_list_devices>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1336 +#: ../src/guestfs.pod:1340 msgid "You may add C<\"/dev/null\"> multiple times." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1340 +#: ../src/guestfs.pod:1344 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:1345 +#: ../src/guestfs.pod:1349 msgid "Null disks are used for three main purposes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1355 msgid "Performance testing of libguestfs (see L<guestfs-performance(1)>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1355 +#: ../src/guestfs.pod:1359 msgid "The internal test suite." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1363 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 " @@ -59459,12 +59771,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1363 +#: ../src/guestfs.pod:1367 msgid "For example, to test if a feature is available, use code like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1365 +#: ../src/guestfs.pod:1369 #, no-wrap msgid "" " guestfs_h *g;\n" @@ -59473,7 +59785,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1368 +#: ../src/guestfs.pod:1372 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -59489,19 +59801,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1380 +#: ../src/guestfs.pod:1384 msgid "DISK IMAGE FORMATS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1386 msgid "" "Virtual disks come in a variety of formats. Some common formats are listed " "below." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1385 +#: ../src/guestfs.pod:1389 msgid "" "Note that libguestfs itself is not responsible for handling the disk format: " "this is done using L<qemu(1)>. If support for a particular format is " @@ -59509,24 +59821,24 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1389 +#: ../src/guestfs.pod:1393 msgid "COMMON VIRTUAL DISK IMAGE FORMATS" msgstr "" #. type: =item -#: ../src/guestfs.pod:1393 +#: ../src/guestfs.pod:1397 msgid "I<raw>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1395 +#: ../src/guestfs.pod:1399 msgid "" "Raw format is simply a dump of the sequential bytes of the virtual hard " "disk. There is no header, container, compression or processing of any sort." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1399 +#: ../src/guestfs.pod:1403 msgid "" "Since raw format requires no translation to read or write, it is both fast " "and very well supported by qemu and all other hypervisors. You can consider " @@ -59534,7 +59846,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1404 +#: ../src/guestfs.pod:1408 msgid "" "Raw format files are not compressed and so take up the full space of the " "original disk image even when they are empty. A variation (on Linux/Unix at " @@ -59545,12 +59857,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1411 +#: ../src/guestfs.pod:1415 msgid "I<qcow2>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1413 +#: ../src/guestfs.pod:1417 msgid "" "Qcow2 is the native disk image format used by qemu. Internally it uses a " "two-level directory structure so that only blocks containing data are stored " @@ -59559,19 +59871,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1418 +#: ../src/guestfs.pod:1422 msgid "" "There are at least two distinct variants of this format, although qemu (and " "hence libguestfs) handles both transparently to the user." msgstr "" #. type: =item -#: ../src/guestfs.pod:1421 +#: ../src/guestfs.pod:1425 msgid "I<vmdk>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1423 +#: ../src/guestfs.pod:1427 msgid "" "VMDK is VMware's native disk image format. There are many variations. " "Modern qemu (hence libguestfs) supports most variations, but you should be " @@ -59580,7 +59892,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1428 +#: ../src/guestfs.pod:1432 msgid "" "Note that VMware ESX exposes files with the name C<guest-flat.vmdk>. These " "are not VMDK. They are raw format files which happen to have a C<.vmdk> " @@ -59588,53 +59900,53 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1432 +#: ../src/guestfs.pod:1436 msgid "I<vdi>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1434 +#: ../src/guestfs.pod:1438 msgid "" "VDI is VirtualBox's native disk image format. Qemu (hence libguestfs) has " "generally good support for this." msgstr "" #. type: =item -#: ../src/guestfs.pod:1437 +#: ../src/guestfs.pod:1441 msgid "I<vpc>" msgstr "" #. type: =item -#: ../src/guestfs.pod:1439 +#: ../src/guestfs.pod:1443 msgid "I<vhd>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1441 +#: ../src/guestfs.pod:1445 msgid "" "VPC (old) and VHD (modern) are the native disk image format of Microsoft " "(and previously, Connectix) Virtual PC and Hyper-V." msgstr "" #. type: =item -#: ../src/guestfs.pod:1444 +#: ../src/guestfs.pod:1448 msgid "Obsolete formats" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1446 +#: ../src/guestfs.pod:1450 msgid "" "The following formats are obsolete and should not be used: I<qcow> (aka " "I<qcow1>), I<cow>, I<bochs>." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1451 +#: ../src/guestfs.pod:1455 msgid "DETECTING THE FORMAT OF A DISK IMAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1453 +#: ../src/guestfs.pod:1457 msgid "" "Firstly note there is a security issue with auto-detecting the format of a " "disk image. It may or may not apply in your use case. Read L</" @@ -59642,14 +59954,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1457 +#: ../src/guestfs.pod:1461 msgid "" "Libguestfs offers an API to get the format of a disk image (L</" "guestfs_disk_format>, and it is safest to use this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1460 +#: ../src/guestfs.pod:1464 msgid "" "I<Don't> be tempted to try parsing the text / human-readable output of " "C<qemu-img> since it cannot be parsed reliably and securely. Also do not " @@ -59657,12 +59969,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1465 ../sysprep/virt-sysprep.pod:424 +#: ../src/guestfs.pod:1469 ../sysprep/virt-sysprep.pod:424 msgid "SECURITY" msgstr "セキュリティ" #. type: textblock -#: ../src/guestfs.pod:1467 +#: ../src/guestfs.pod:1471 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." @@ -59672,12 +59984,12 @@ msgstr "" "ます。" #. type: =head2 -#: ../src/guestfs.pod:1470 +#: ../src/guestfs.pod:1474 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "一般的なセキュリティ考慮事項" #. type: textblock -#: ../src/guestfs.pod:1472 +#: ../src/guestfs.pod:1476 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 " @@ -59687,42 +59999,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1482 +#: ../src/guestfs.pod:1486 msgid "the data (file etc) not being present" msgstr "データ(ファイルなど)が存在しない場合" #. type: textblock -#: ../src/guestfs.pod:1486 +#: ../src/guestfs.pod:1490 msgid "being present but empty" msgstr "存在するが空の場合" #. type: textblock -#: ../src/guestfs.pod:1490 +#: ../src/guestfs.pod:1494 msgid "being much larger than normal" msgstr "通常よりもかなり大きい場合" #. type: textblock -#: ../src/guestfs.pod:1494 +#: ../src/guestfs.pod:1498 msgid "containing arbitrary 8 bit data" msgstr "任意の 8 ビットのデータを含む場合" #. type: textblock -#: ../src/guestfs.pod:1498 +#: ../src/guestfs.pod:1502 msgid "being in an unexpected character encoding" msgstr "予期しない文字エンコードを使用している場合" #. type: textblock -#: ../src/guestfs.pod:1502 +#: ../src/guestfs.pod:1506 msgid "containing homoglyphs." msgstr "同型異義語を含む場合" #. type: =head2 -#: ../src/guestfs.pod:1506 +#: ../src/guestfs.pod:1510 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "ファイルシステムのマウントに関するセキュリティ" #. type: textblock -#: ../src/guestfs.pod:1508 +#: ../src/guestfs.pod:1512 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -59738,7 +60050,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1521 +#: ../src/guestfs.pod:1525 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 " @@ -59752,19 +60064,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1536 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:1535 +#: ../src/guestfs.pod:1539 msgid "PROTOCOL SECURITY" msgstr "プロトコルセキュリティ" #. type: textblock -#: ../src/guestfs.pod:1537 +#: ../src/guestfs.pod:1541 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 " @@ -59779,12 +60091,12 @@ msgstr "" "くのプロトコルセキュリティは結果からあなたを保護しません。" #. type: =head2 -#: ../src/guestfs.pod:1543 +#: ../src/guestfs.pod:1547 msgid "INSPECTION SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1545 +#: ../src/guestfs.pod:1549 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 " @@ -59793,7 +60105,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1551 +#: ../src/guestfs.pod:1555 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -59804,7 +60116,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1559 +#: ../src/guestfs.pod:1563 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -59814,12 +60126,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1565 +#: ../src/guestfs.pod:1569 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1567 +#: ../src/guestfs.pod:1571 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 " @@ -59829,17 +60141,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1573 +#: ../src/guestfs.pod:1577 msgid "CVE-2010-3851" msgstr "CVE-2010-3851" #. type: textblock -#: ../src/guestfs.pod:1575 +#: ../src/guestfs.pod:1579 msgid "L<https://bugzilla.redhat.com/642934>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1577 +#: ../src/guestfs.pod:1581 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." @@ -59848,7 +60160,7 @@ msgstr "" "フォーマット検出に関するものです。" #. type: textblock -#: ../src/guestfs.pod:1580 +#: ../src/guestfs.pod:1584 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 " @@ -59857,7 +60169,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1585 +#: ../src/guestfs.pod:1589 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 " @@ -59866,7 +60178,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1590 +#: ../src/guestfs.pod:1594 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 " @@ -59878,27 +60190,27 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1598 +#: ../src/guestfs.pod:1602 msgid "" "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1605 +#: ../src/guestfs.pod:1609 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" "ネットワークを有効化しているか、もしくは書き込みモードでディスクを開いていま" "す。" #. type: textblock -#: ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1613 msgid "" "You are also running untrusted code from the guest (see L</RUNNING " "COMMANDS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1614 +#: ../src/guestfs.pod:1618 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 " @@ -59907,31 +60219,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1620 +#: ../src/guestfs.pod:1624 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:1623 +#: ../src/guestfs.pod:1627 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1626 +#: ../src/guestfs.pod:1630 msgid "CONNECTION MANAGEMENT" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1628 +#: ../src/guestfs.pod:1632 msgid "guestfs_h *" msgstr "guestfs_h *" #. type: textblock -#: ../src/guestfs.pod:1630 +#: ../src/guestfs.pod:1634 msgid "" "C<guestfs_h> is the opaque type representing a connection handle. Create a " "handle by calling L</guestfs_create> or L</guestfs_create_flags>. Call L</" @@ -59939,19 +60251,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1635 +#: ../src/guestfs.pod:1639 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:1638 +#: ../src/guestfs.pod:1642 msgid "guestfs_create" msgstr "guestfs_create" #. type: verbatim -#: ../src/guestfs.pod:1640 +#: ../src/guestfs.pod:1644 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -59961,19 +60273,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1642 +#: ../src/guestfs.pod:1646 msgid "Create a connection handle." msgstr "接続ハンドルを作成します。" #. type: textblock -#: ../src/guestfs.pod:1644 ../src/guestfs.pod:1663 +#: ../src/guestfs.pod:1648 ../src/guestfs.pod:1667 msgid "" "On success this returns a non-NULL pointer to a handle. On error it returns " "NULL." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1647 +#: ../src/guestfs.pod:1651 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 " @@ -59981,26 +60293,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1651 +#: ../src/guestfs.pod:1655 msgid "After configuring the handle, you have to call L</guestfs_launch>." msgstr "ハンドルを設定後、 L</guestfs_launch> を呼び出す必要があります。" #. type: textblock -#: ../src/guestfs.pod:1653 +#: ../src/guestfs.pod:1657 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:1656 +#: ../src/guestfs.pod:1660 #, fuzzy #| msgid "guestfs_create" msgid "guestfs_create_flags" msgstr "guestfs_create" #. type: verbatim -#: ../src/guestfs.pod:1658 +#: ../src/guestfs.pod:1662 #, fuzzy, no-wrap #| msgid "" #| " guestfs_h *guestfs_create (void);\n" @@ -60013,37 +60325,37 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1660 +#: ../src/guestfs.pod:1664 msgid "" "Create a connection handle, supplying extra flags and extra arguments to " "control how the handle is created." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1666 +#: ../src/guestfs.pod:1670 msgid "L</guestfs_create> is equivalent to calling C<guestfs_create_flags(0)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1672 msgid "" "The following flags may be logically ORed together. (Currently no extra " "arguments are used)." msgstr "" #. type: =item -#: ../src/guestfs.pod:1673 +#: ../src/guestfs.pod:1677 msgid "C<GUESTFS_CREATE_NO_ENVIRONMENT>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1675 +#: ../src/guestfs.pod:1679 msgid "" "Don't parse any environment variables (such as C<LIBGUESTFS_DEBUG> etc)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1677 +#: ../src/guestfs.pod:1681 msgid "" "You can call L</guestfs_parse_environment> or L</" "guestfs_parse_environment_list> afterwards to parse environment variables. " @@ -60052,44 +60364,44 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1682 +#: ../src/guestfs.pod:1686 msgid "" "The default (if this flag is not given) is to implicitly call L</" "guestfs_parse_environment>." msgstr "" #. type: =item -#: ../src/guestfs.pod:1685 +#: ../src/guestfs.pod:1689 msgid "C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1687 +#: ../src/guestfs.pod:1691 msgid "" "Don't try to close the handle in an L<atexit(3)> handler if the program " "exits without explicitly closing the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1690 +#: ../src/guestfs.pod:1694 msgid "" "The default (if this flag is not given) is to install such an atexit handler." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1695 +#: ../src/guestfs.pod:1699 msgid "USING C<GUESTFS_CREATE_NO_ENVIRONMENT>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1697 +#: ../src/guestfs.pod:1701 msgid "" "You might use C<GUESTFS_CREATE_NO_ENVIRONMENT> and an explicit call to L</" "guestfs_parse_environment> like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1700 +#: ../src/guestfs.pod:1704 #, fuzzy, no-wrap #| msgid "" #| " guestfs_h *g = guestfs_create ();\n" @@ -60103,7 +60415,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1703 +#: ../src/guestfs.pod:1707 #, no-wrap msgid "" " g = guestfs_create_flags (GUESTFS_CREATE_NO_ENVIRONMENT);\n" @@ -60118,14 +60430,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1712 +#: ../src/guestfs.pod:1716 msgid "" "Or to create a handle which is unaffected by environment variables, omit the " "call to C<guestfs_parse_environment> from the above code." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1715 +#: ../src/guestfs.pod:1719 msgid "" "The above code has another advantage which is that any errors from parsing " "the environment are passed through the error handler, whereas " @@ -60133,12 +60445,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1719 +#: ../src/guestfs.pod:1723 msgid "guestfs_close" msgstr "guestfs_close" #. type: verbatim -#: ../src/guestfs.pod:1721 +#: ../src/guestfs.pod:1725 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -60148,19 +60460,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1723 +#: ../src/guestfs.pod:1727 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:1726 +#: ../src/guestfs.pod:1730 msgid "The correct way to close the handle is:" msgstr "ハンドルを閉じる正しい方法は次のとおりです:" #. type: verbatim -#: ../src/guestfs.pod:1728 +#: ../src/guestfs.pod:1732 #, no-wrap msgid "" " if (guestfs_shutdown (g) == -1) {\n" @@ -60176,45 +60488,45 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1733 +#: ../src/guestfs.pod:1737 msgid "" "L</guestfs_shutdown> is only needed if B<all> of the following are true:" msgstr "L</guestfs_shutdown> は以下の B<すべて> が成り立つ場合のみ必要です:" #. type: textblock -#: ../src/guestfs.pod:1739 +#: ../src/guestfs.pod:1743 msgid "one or more disks were added in read-write mode, I<and>" msgstr "一つ以上のディスクを読み書きモードで追加した、I<かつ>" #. type: textblock -#: ../src/guestfs.pod:1743 +#: ../src/guestfs.pod:1747 msgid "guestfs_launch was called, I<and>" msgstr "guestfs_launch が呼び出された、I<かつ>" #. type: textblock -#: ../src/guestfs.pod:1747 +#: ../src/guestfs.pod:1751 msgid "you made some changes, I<and>" msgstr "何か変更を実施した、I<かつ>" #. type: =item -#: ../src/guestfs.pod:1749 +#: ../src/guestfs.pod:1753 msgid "4" msgstr "4" #. type: textblock -#: ../src/guestfs.pod:1751 +#: ../src/guestfs.pod:1755 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:1756 +#: ../src/guestfs.pod:1760 msgid "ERROR HANDLING" msgstr "エラー処理" #. type: textblock -#: ../src/guestfs.pod:1758 +#: ../src/guestfs.pod:1762 msgid "" "API functions can return errors. For example, almost all functions that " "return C<int> will return C<-1> to indicate an error." @@ -60223,7 +60535,7 @@ msgstr "" "ラーを意味するために C<-1> を返します。" #. type: textblock -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1765 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 " @@ -60233,7 +60545,7 @@ msgstr "" "エラーメッセージ文字列およびオプションのエラー番号(errno)です。" #. type: textblock -#: ../src/guestfs.pod:1765 +#: ../src/guestfs.pod:1769 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 " @@ -60241,7 +60553,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1770 +#: ../src/guestfs.pod:1774 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 " @@ -60249,7 +60561,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1774 +#: ../src/guestfs.pod:1778 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -60261,14 +60573,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1777 +#: ../src/guestfs.pod:1781 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:1780 +#: ../src/guestfs.pod:1784 msgid "" "For other programs the caller will almost certainly want to install an " "alternate error handler or do error handling in-line as in the example " @@ -60277,7 +60589,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1789 #, fuzzy, no-wrap #| msgid "" #| " guestfs_h *g = guestfs_create ();\n" @@ -60291,7 +60603,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1788 +#: ../src/guestfs.pod:1792 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -60305,7 +60617,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1792 +#: ../src/guestfs.pod:1796 #, fuzzy, no-wrap #| msgid "" #| " if (guestfs_launch (g) == -1) {\n" @@ -60340,7 +60652,7 @@ msgstr "" "\n" #. type: verbatim -#: ../src/guestfs.pod:1798 +#: ../src/guestfs.pod:1802 #, no-wrap msgid "" " fprintf (stderr, \"%s\", msg);\n" @@ -60351,7 +60663,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1803 +#: ../src/guestfs.pod:1807 #, no-wrap msgid "" " /* ... */\n" @@ -60360,7 +60672,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1806 +#: ../src/guestfs.pod:1810 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 " @@ -60371,7 +60683,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1813 +#: ../src/guestfs.pod:1817 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</" @@ -60379,12 +60691,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1817 +#: ../src/guestfs.pod:1821 msgid "guestfs_last_error" msgstr "guestfs_last_error" #. type: verbatim -#: ../src/guestfs.pod:1819 +#: ../src/guestfs.pod:1823 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -60394,14 +60706,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1821 +#: ../src/guestfs.pod:1825 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:1825 +#: ../src/guestfs.pod:1829 msgid "" "Note the returned string does I<not> have a newline character at the end. " "Most error messages are single lines. Some are split over multiple lines " @@ -60409,7 +60721,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1830 +#: ../src/guestfs.pod:1834 #, fuzzy #| msgid "" #| "The lifetime of the returned string is until the next error occurs, or L</" @@ -60423,12 +60735,12 @@ msgstr "" "guestfs_close> が呼び出されるまでです。" #. type: =head2 -#: ../src/guestfs.pod:1834 +#: ../src/guestfs.pod:1838 msgid "guestfs_last_errno" msgstr "guestfs_last_errno" #. type: verbatim -#: ../src/guestfs.pod:1836 +#: ../src/guestfs.pod:1840 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -60438,24 +60750,24 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1838 +#: ../src/guestfs.pod:1842 msgid "This returns the last error number (errno) that happened on C<g>." msgstr "これは C<g> において発生した最後のエラー番号(errno)を返します。" #. type: textblock -#: ../src/guestfs.pod:1840 +#: ../src/guestfs.pod:1844 msgid "If successful, an errno integer not equal to zero is returned." msgstr "もし成功すると、0 以外のエラー番号の整数が返されます。" #. type: textblock -#: ../src/guestfs.pod:1842 +#: ../src/guestfs.pod:1846 msgid "" "In many cases the special errno C<ENOTSUP> is returned if you tried to call " "a function or use a feature which is not supported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1845 +#: ../src/guestfs.pod:1849 #, fuzzy #| msgid "" #| "If no error, this returns 0. This call can return 0 in three situations:" @@ -60467,12 +60779,12 @@ msgstr "" "0 を返す可能性があります:" #. type: textblock -#: ../src/guestfs.pod:1852 +#: ../src/guestfs.pod:1856 msgid "There has not been any error on the handle." msgstr "ハンドルにおいて何もエラーがありませんでした。" #. type: textblock -#: ../src/guestfs.pod:1856 +#: ../src/guestfs.pod:1860 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 " @@ -60482,7 +60794,7 @@ msgstr "" "コールの失敗により発生しましたが、何か他の理由による場合に対応します。" #. type: textblock -#: ../src/guestfs.pod:1862 +#: ../src/guestfs.pod:1866 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." @@ -60491,7 +60803,7 @@ msgstr "" "より捕捉されず返されました。これは通常 libguestfs のバグを意味します。" #. type: textblock -#: ../src/guestfs.pod:1868 +#: ../src/guestfs.pod:1872 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -60502,12 +60814,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1876 +#: ../src/guestfs.pod:1880 msgid "guestfs_set_error_handler" msgstr "guestfs_set_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1878 +#: ../src/guestfs.pod:1882 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -60527,7 +60839,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1885 +#: ../src/guestfs.pod:1889 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 " @@ -60535,14 +60847,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1889 +#: ../src/guestfs.pod:1893 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:1892 +#: ../src/guestfs.pod:1896 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 " @@ -60550,22 +60862,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1896 +#: ../src/guestfs.pod:1900 msgid "The default handler prints messages on C<stderr>." msgstr "標準のハンドラーは C<stderr> にメッセージを表示します。" #. type: textblock -#: ../src/guestfs.pod:1898 +#: ../src/guestfs.pod:1902 msgid "If you set C<cb> to C<NULL> then I<no> handler is called." msgstr "C<cb> を C<NULL> に設定すると、 I<no> ハンドラーが呼び出されます。" #. type: =head2 -#: ../src/guestfs.pod:1900 +#: ../src/guestfs.pod:1904 msgid "guestfs_get_error_handler" msgstr "guestfs_get_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1902 +#: ../src/guestfs.pod:1906 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -60577,19 +60889,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1905 +#: ../src/guestfs.pod:1909 msgid "Returns the current error handler callback." msgstr "現在のエラーハンドラのコールバックを返します。" #. type: =head2 -#: ../src/guestfs.pod:1907 +#: ../src/guestfs.pod:1911 #, fuzzy #| msgid "guestfs_set_error_handler" msgid "guestfs_push_error_handler" msgstr "guestfs_set_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1909 +#: ../src/guestfs.pod:1913 #, fuzzy, no-wrap #| msgid "" #| " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -60606,7 +60918,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1913 +#: ../src/guestfs.pod:1917 msgid "" "This is the same as L</guestfs_set_error_handler>, except that the old error " "handler is stashed away in a stack inside the handle. You can restore the " @@ -60614,19 +60926,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1918 +#: ../src/guestfs.pod:1922 msgid "Use the following code to temporarily disable errors around a function:" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1924 +#: ../src/guestfs.pod:1928 #, fuzzy #| msgid "guestfs_set_error_handler" msgid "guestfs_pop_error_handler" msgstr "guestfs_set_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:1930 #, fuzzy, no-wrap #| msgid "" #| " void guestfs_user_cancel (guestfs_h *g);\n" @@ -60639,25 +60951,25 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1928 +#: ../src/guestfs.pod:1932 msgid "" "Restore the previous error handler (see L</guestfs_push_error_handler>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1930 +#: ../src/guestfs.pod:1934 msgid "" "If you pop the stack too many times, then the default error handler is " "restored." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1933 +#: ../src/guestfs.pod:1937 msgid "guestfs_set_out_of_memory_handler" msgstr "guestfs_set_out_of_memory_handler" #. type: verbatim -#: ../src/guestfs.pod:1935 +#: ../src/guestfs.pod:1939 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -60671,7 +60983,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1939 +#: ../src/guestfs.pod:1943 msgid "" "The callback C<cb> will be called if there is an out of memory situation. " "I<Note this callback must not return>." @@ -60680,24 +60992,24 @@ msgstr "" "クは戻ってこない可能性があることに注意してください>。" #. type: textblock -#: ../src/guestfs.pod:1942 +#: ../src/guestfs.pod:1946 msgid "The default is to call L<abort(3)>." msgstr "デフォルトでは L<abort(3)> を呼び出します。" #. type: textblock -#: ../src/guestfs.pod:1944 +#: ../src/guestfs.pod:1948 msgid "" "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations." msgstr "" "C<cb> を C<NULL> に設定できません。メモリー不足の状況を無視できません。" #. type: =head2 -#: ../src/guestfs.pod:1947 +#: ../src/guestfs.pod:1951 msgid "guestfs_get_out_of_memory_handler" msgstr "guestfs_get_out_of_memory_handler" #. type: verbatim -#: ../src/guestfs.pod:1949 +#: ../src/guestfs.pod:1953 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -60707,37 +61019,37 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1951 +#: ../src/guestfs.pod:1955 msgid "This returns the current out of memory handler." msgstr "アウトオブメモリーハンドラーを返します。" #. type: =head1 -#: ../src/guestfs.pod:1953 +#: ../src/guestfs.pod:1957 msgid "API CALLS" msgstr "API 呼び出し" #. type: =head1 -#: ../src/guestfs.pod:1957 +#: ../src/guestfs.pod:1961 msgid "STRUCTURES" msgstr "構造" #. type: textblock -#: ../src/guestfs.pod:1959 +#: ../src/guestfs.pod:1963 msgid "__STRUCTS__" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1961 +#: ../src/guestfs.pod:1965 msgid "AVAILABILITY" msgstr "可用性" #. type: =head2 -#: ../src/guestfs.pod:1963 +#: ../src/guestfs.pod:1967 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "アプライアンスの機能のグループ" #. type: textblock -#: ../src/guestfs.pod:1965 +#: ../src/guestfs.pod:1969 msgid "" "Using L</guestfs_available> you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -60747,29 +61059,29 @@ msgstr "" "してください。" #. type: textblock -#: ../src/guestfs.pod:1970 +#: ../src/guestfs.pod:1974 msgid "__AVAILABILITY__" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1972 +#: ../src/guestfs.pod:1976 msgid "FILESYSTEM AVAILABLE" msgstr "利用可能なファイルシステム" #. type: textblock -#: ../src/guestfs.pod:1974 +#: ../src/guestfs.pod:1978 msgid "" "The L</guestfs_filesystem_available> call tests whether a filesystem type is " "supported by the appliance kernel." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1982 +#: ../src/guestfs.pod:1986 msgid "GUESTFISH supported COMMAND" msgstr "guestfish がサポートするコマンド" #. type: textblock -#: ../src/guestfs.pod:1984 +#: ../src/guestfs.pod:1988 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 " @@ -60777,12 +61089,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1989 +#: ../src/guestfs.pod:1993 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1991 +#: ../src/guestfs.pod:1995 msgid "" "Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API " "function, such as:" @@ -60791,7 +61103,7 @@ msgstr "" "数があります。次のようなものがあります:" #. type: verbatim -#: ../src/guestfs.pod:1994 +#: ../src/guestfs.pod:1998 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -60801,12 +61113,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1996 +#: ../src/guestfs.pod:2000 msgid "if L</guestfs_dd> is available." msgstr "L</guestfs_dd> が利用可能な場合。" #. type: textblock -#: ../src/guestfs.pod:1998 +#: ../src/guestfs.pod:2002 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 " @@ -60814,7 +61126,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2003 +#: ../src/guestfs.pod:2007 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -60826,19 +61138,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2006 +#: ../src/guestfs.pod:2010 msgid "" "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined " "in your program." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2009 +#: ../src/guestfs.pod:2013 msgid "SINGLE CALLS AT RUN TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2011 +#: ../src/guestfs.pod:2015 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 " @@ -60850,7 +61162,7 @@ msgstr "" "してください。" #. type: textblock -#: ../src/guestfs.pod:2018 +#: ../src/guestfs.pod:2022 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 " @@ -60860,7 +61172,7 @@ msgstr "" "ください。" #. type: verbatim -#: ../src/guestfs.pod:2022 +#: ../src/guestfs.pod:2026 #, no-wrap msgid "" " #include <stdio.h>\n" @@ -60878,7 +61190,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:2028 +#: ../src/guestfs.pod:2032 #, no-wrap msgid "" " main ()\n" @@ -60896,7 +61208,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:2034 +#: ../src/guestfs.pod:2038 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -60920,7 +61232,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:2043 +#: ../src/guestfs.pod:2047 #, no-wrap msgid "" " if (!has_function)\n" @@ -60952,7 +61264,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2056 +#: ../src/guestfs.pod:2060 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 " @@ -60960,7 +61272,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2061 +#: ../src/guestfs.pod:2065 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -60970,12 +61282,12 @@ msgstr "" "\n" #. type: =head1 -#: ../src/guestfs.pod:2063 +#: ../src/guestfs.pod:2067 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2065 +#: ../src/guestfs.pod:2069 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 " @@ -60983,7 +61295,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2070 +#: ../src/guestfs.pod:2074 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -60993,14 +61305,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2072 +#: ../src/guestfs.pod:2076 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:2075 +#: ../src/guestfs.pod:2079 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -61010,12 +61322,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2077 +#: ../src/guestfs.pod:2081 msgid "With a single optional argument:" msgstr "単一の引数の場合:" #. type: verbatim -#: ../src/guestfs.pod:2079 +#: ../src/guestfs.pod:2083 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -61029,12 +61341,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2083 +#: ../src/guestfs.pod:2087 msgid "With two:" msgstr "2つの引数の場合:" #. type: verbatim -#: ../src/guestfs.pod:2085 +#: ../src/guestfs.pod:2089 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -61050,19 +61362,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2090 +#: ../src/guestfs.pod:2094 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2093 +#: ../src/guestfs.pod:2097 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2095 +#: ../src/guestfs.pod:2099 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 " @@ -61072,7 +61384,7 @@ msgstr "" "guestfs_add_drive_opts> を使用してください。" #. type: verbatim -#: ../src/guestfs.pod:2099 +#: ../src/guestfs.pod:2103 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -61084,12 +61396,12 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:2102 +#: ../src/guestfs.pod:2106 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "オプション引数の構築" #. type: textblock -#: ../src/guestfs.pod:2104 +#: ../src/guestfs.pod:2108 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 " @@ -61099,7 +61411,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2110 +#: ../src/guestfs.pod:2114 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -61123,12 +61435,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2119 +#: ../src/guestfs.pod:2123 msgid "You could call it like this:" msgstr "次のように呼び出すことができます。" #. type: verbatim -#: ../src/guestfs.pod:2121 +#: ../src/guestfs.pod:2125 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -61148,7 +61460,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:2128 +#: ../src/guestfs.pod:2132 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -61158,29 +61470,29 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2136 +#: ../src/guestfs.pod:2140 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2141 +#: ../src/guestfs.pod:2145 msgid "You do not need to fill in all fields of the structure." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2145 +#: ../src/guestfs.pod:2149 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:2150 +#: ../src/guestfs.pod:2154 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2152 +#: ../src/guestfs.pod:2156 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -61188,22 +61500,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2156 +#: ../src/guestfs.pod:2160 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>." msgstr "guestfish は L<guestfish(1)/OPTIONAL ARGUMENTS> を参照してください。" #. type: =head1 -#: ../src/guestfs.pod:2158 +#: ../src/guestfs.pod:2162 msgid "EVENTS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2160 +#: ../src/guestfs.pod:2164 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2162 +#: ../src/guestfs.pod:2166 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 " @@ -61215,7 +61527,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2171 +#: ../src/guestfs.pod:2175 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -61227,7 +61539,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2179 +#: ../src/guestfs.pod:2183 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 " @@ -61236,31 +61548,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2184 +#: ../src/guestfs.pod:2188 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: =head2 -#: ../src/guestfs.pod:2188 +#: ../src/guestfs.pod:2192 msgid "CLASSES OF EVENTS" msgstr "イベントのクラス" #. type: =item -#: ../src/guestfs.pod:2192 +#: ../src/guestfs.pod:2196 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "GUESTFS_EVENT_CLOSE (ペイロード形式: void)" #. type: textblock -#: ../src/guestfs.pod:2195 +#: ../src/guestfs.pod:2199 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L</guestfs_close>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2198 +#: ../src/guestfs.pod:2202 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 " @@ -61273,19 +61585,19 @@ msgstr "" "guestfs_fallocate64> を使用してください。" #. type: textblock -#: ../src/guestfs.pod:2205 +#: ../src/guestfs.pod:2209 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:2208 +#: ../src/guestfs.pod:2212 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "GUESTFS_EVENT_SUBPROCESS_QUIT (ペイロード形式: void)" #. type: textblock -#: ../src/guestfs.pod:2211 +#: ../src/guestfs.pod:2215 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L</guestfs_kill_subprocess>. (This " @@ -61293,17 +61605,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2215 ../src/guestfs.pod:2224 ../src/guestfs.pod:2341 +#: ../src/guestfs.pod:2219 ../src/guestfs.pod:2228 ../src/guestfs.pod:2345 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:2217 +#: ../src/guestfs.pod:2221 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "GUESTFS_EVENT_LAUNCH_DONE (ペイロード形式: void)" #. type: textblock -#: ../src/guestfs.pod:2220 +#: ../src/guestfs.pod:2224 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 " @@ -61311,12 +61623,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2226 +#: ../src/guestfs.pod:2230 msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)" msgstr "GUESTFS_EVENT_PROGRESS (ペイロード形式: 4 x uint64_t の配列)" #. type: textblock -#: ../src/guestfs.pod:2229 +#: ../src/guestfs.pod:2233 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -61326,14 +61638,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2235 +#: ../src/guestfs.pod:2239 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:2238 +#: ../src/guestfs.pod:2242 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 " @@ -61341,24 +61653,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2247 msgid "The only defined and stable parts of the API are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2249 +#: ../src/guestfs.pod:2253 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:2254 +#: ../src/guestfs.pod:2258 msgid "0 E<lt>= C<position> E<lt>= C<total>" msgstr "0 E<lt>= C<position> E<lt>= C<total>" #. type: textblock -#: ../src/guestfs.pod:2258 +#: ../src/guestfs.pod:2262 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 " @@ -61366,7 +61678,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2262 +#: ../src/guestfs.pod:2266 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 " @@ -61374,7 +61686,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2268 +#: ../src/guestfs.pod:2272 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 " @@ -61383,7 +61695,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2273 +#: ../src/guestfs.pod:2277 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 " @@ -61391,14 +61703,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2277 +#: ../src/guestfs.pod:2281 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:2282 +#: ../src/guestfs.pod:2286 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 " @@ -61407,31 +61719,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2288 +#: ../src/guestfs.pod:2292 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:2290 +#: ../src/guestfs.pod:2294 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "GUESTFS_EVENT_APPLIANCE (ペイロード形式: メッセージバッファー)" #. type: textblock -#: ../src/guestfs.pod:2293 +#: ../src/guestfs.pod:2297 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:2296 +#: ../src/guestfs.pod:2300 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:2299 ../src/guestfs.pod:2313 +#: ../src/guestfs.pod:2303 ../src/guestfs.pod:2317 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 " @@ -61439,63 +61751,63 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2304 +#: ../src/guestfs.pod:2308 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2307 +#: ../src/guestfs.pod:2311 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2310 +#: ../src/guestfs.pod:2314 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:2318 +#: ../src/guestfs.pod:2322 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "GUESTFS_EVENT_TRACE (ペイロード形式: メッセージバッファー)" #. type: textblock -#: ../src/guestfs.pod:2321 +#: ../src/guestfs.pod:2325 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:2324 +#: ../src/guestfs.pod:2328 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:2328 +#: ../src/guestfs.pod:2332 msgid "GUESTFS_EVENT_ENTER (payload type: function name)" msgstr "GUESTFS_EVENT_ENTER (payload type: function name)" #. type: textblock -#: ../src/guestfs.pod:2331 +#: ../src/guestfs.pod:2335 msgid "" "The callback function is called whenever a libguestfs function is entered." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2334 +#: ../src/guestfs.pod:2338 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:2337 +#: ../src/guestfs.pod:2341 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 " @@ -61503,14 +61815,14 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2343 +#: ../src/guestfs.pod:2347 #, fuzzy #| msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgid "GUESTFS_EVENT_LIBVIRT_AUTH (payload type: libvirt URI)" msgstr "GUESTFS_EVENT_LAUNCH_DONE (ペイロード形式: void)" #. type: textblock -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2350 msgid "" "For any API function that opens a libvirt connection, this event may be " "generated to indicate that libvirt demands authentication information. See " @@ -61518,24 +61830,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2350 +#: ../src/guestfs.pod:2354 msgid "" "If no callback is registered: C<virConnectAuthPtrDefault> is used (suitable " "for command-line programs only)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2355 +#: ../src/guestfs.pod:2359 msgid "EVENT API" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2357 +#: ../src/guestfs.pod:2361 msgid "guestfs_set_event_callback" msgstr "guestfs_set_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2359 +#: ../src/guestfs.pod:2363 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -61553,14 +61865,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2365 +#: ../src/guestfs.pod:2369 msgid "" "This function registers a callback (C<cb>) for all event classes in the " "C<event_bitmask>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2368 +#: ../src/guestfs.pod:2372 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>. " @@ -61569,40 +61881,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2374 +#: ../src/guestfs.pod:2378 msgid "C<flags> should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2376 +#: ../src/guestfs.pod:2380 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:2379 +#: ../src/guestfs.pod:2383 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:2382 +#: ../src/guestfs.pod:2386 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:2385 +#: ../src/guestfs.pod:2389 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2388 +#: ../src/guestfs.pod:2392 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 " @@ -61610,12 +61922,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2392 +#: ../src/guestfs.pod:2396 msgid "guestfs_delete_event_callback" msgstr "guestfs_delete_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2394 +#: ../src/guestfs.pod:2398 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -61625,7 +61937,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2396 +#: ../src/guestfs.pod:2400 msgid "" "Delete a callback that was previously registered. C<event_handle> should be " "the integer that was returned by a previous call to " @@ -61633,12 +61945,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2400 +#: ../src/guestfs.pod:2404 msgid "guestfs_event_callback" msgstr "guestfs_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2402 +#: ../src/guestfs.pod:2406 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -61662,13 +61974,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2411 +#: ../src/guestfs.pod:2415 msgid "" "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2414 +#: ../src/guestfs.pod:2418 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 " @@ -61676,7 +61988,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2418 +#: ../src/guestfs.pod:2422 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 " @@ -61685,7 +61997,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2423 +#: ../src/guestfs.pod:2427 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 " @@ -61693,19 +62005,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2427 +#: ../src/guestfs.pod:2431 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: =head2 -#: ../src/guestfs.pod:2430 +#: ../src/guestfs.pod:2434 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2432 +#: ../src/guestfs.pod:2436 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 " @@ -61713,7 +62025,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2436 +#: ../src/guestfs.pod:2440 msgid "" "Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, " "C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error " @@ -61721,14 +62033,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2441 +#: ../src/guestfs.pod:2445 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2444 +#: ../src/guestfs.pod:2448 #, no-wrap msgid "" " int eh =\n" @@ -61754,14 +62066,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2454 +#: ../src/guestfs.pod:2458 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:2457 +#: ../src/guestfs.pod:2461 #, no-wrap msgid "" " static void\n" @@ -61797,12 +62109,12 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:2472 +#: ../src/guestfs.pod:2476 msgid "LIBVIRT AUTHENTICATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2474 +#: ../src/guestfs.pod:2478 msgid "" "Some libguestfs API calls can open libvirt connections. Currently the only " "ones are L</guestfs_add_domain>; and L</guestfs_launch> if the libvirt " @@ -61814,14 +62126,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2482 +#: ../src/guestfs.pod:2486 msgid "" "You may provide libvirt authentication data by registering a callback for " "events of type C<GUESTFS_EVENT_LIBVIRT_AUTH>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2485 +#: ../src/guestfs.pod:2489 msgid "" "If no such event is registered, then libguestfs uses a libvirt function that " "provides command-line prompts (C<virConnectAuthPtrDefault>). This is only " @@ -61829,7 +62141,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2490 +#: ../src/guestfs.pod:2494 msgid "" "To provide authentication, first call L</" "guestfs_set_libvirt_supported_credentials> with the list of credentials your " @@ -61839,7 +62151,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2497 +#: ../src/guestfs.pod:2501 msgid "" "In the event handler, call L</guestfs_get_libvirt_requested_credentials> to " "get a list of the credentials that libvirt is asking for. You then need to " @@ -61852,19 +62164,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2508 +#: ../src/guestfs.pod:2512 msgid "The example program below should make this clearer." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2510 +#: ../src/guestfs.pod:2514 msgid "" "There is also a more substantial working example program supplied with the " "libguestfs sources, called C<libvirt_auth.c>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2513 +#: ../src/guestfs.pod:2517 #, no-wrap msgid "" " main ()\n" @@ -61876,7 +62188,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2519 +#: ../src/guestfs.pod:2523 #, fuzzy, no-wrap #| msgid "" #| " if (guestfs_launch (g) == -1)\n" @@ -61892,7 +62204,7 @@ msgstr "" "\n" #. type: verbatim -#: ../src/guestfs.pod:2522 +#: ../src/guestfs.pod:2526 #, no-wrap msgid "" " /* Tell libvirt what credentials the program supports. */\n" @@ -61903,7 +62215,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2527 +#: ../src/guestfs.pod:2531 #, no-wrap msgid "" " /* Set up the event handler. */\n" @@ -61916,7 +62228,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2534 +#: ../src/guestfs.pod:2538 #, no-wrap msgid "" " /* An example of a call that may ask for credentials. */\n" @@ -61930,7 +62242,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2542 +#: ../src/guestfs.pod:2546 #, no-wrap msgid "" " exit (EXIT_SUCCESS);\n" @@ -61939,7 +62251,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2545 +#: ../src/guestfs.pod:2549 #, fuzzy, no-wrap #| msgid "" #| " static void\n" @@ -61992,7 +62304,7 @@ msgstr "" "\n" #. type: verbatim -#: ../src/guestfs.pod:2561 +#: ../src/guestfs.pod:2565 #, no-wrap msgid "" " // buf will be the libvirt URI. buf_len may be ignored.\n" @@ -62002,7 +62314,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2565 +#: ../src/guestfs.pod:2569 #, no-wrap msgid "" " // Ask libguestfs what credentials libvirt is demanding.\n" @@ -62013,7 +62325,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2570 +#: ../src/guestfs.pod:2574 #, no-wrap msgid "" " // Now ask the user for answers.\n" @@ -62031,7 +62343,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2582 +#: ../src/guestfs.pod:2586 #, no-wrap msgid "" " // Some code here to ask for the credential.\n" @@ -62041,7 +62353,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2586 +#: ../src/guestfs.pod:2590 #, no-wrap msgid "" " r = guestfs_set_libvirt_requested_credential (g, i,\n" @@ -62053,7 +62365,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2592 +#: ../src/guestfs.pod:2596 #, no-wrap msgid "" " free (creds[i]);\n" @@ -62062,7 +62374,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2595 +#: ../src/guestfs.pod:2599 #, no-wrap msgid "" " free (creds);\n" @@ -62071,12 +62383,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2598 +#: ../src/guestfs.pod:2602 msgid "CANCELLING LONG TRANSFERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2600 +#: ../src/guestfs.pod:2604 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 " @@ -62085,12 +62397,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2605 +#: ../src/guestfs.pod:2609 msgid "guestfs_user_cancel" msgstr "guestfs_user_cancel" #. type: verbatim -#: ../src/guestfs.pod:2607 +#: ../src/guestfs.pod:2611 #, no-wrap msgid "" " void guestfs_user_cancel (guestfs_h *g);\n" @@ -62100,13 +62412,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2609 +#: ../src/guestfs.pod:2613 msgid "" "C<guestfs_user_cancel> cancels the current upload or download operation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2612 +#: ../src/guestfs.pod:2616 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 " @@ -62114,7 +62426,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2616 +#: ../src/guestfs.pod:2620 msgid "" "The transfer that was in progress (if there is one) will stop shortly " "afterwards, and will return an error. The errno (see L</" @@ -62123,7 +62435,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2622 +#: ../src/guestfs.pod:2626 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 " @@ -62131,12 +62443,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2626 +#: ../src/guestfs.pod:2630 msgid "There are two common places that you might call C<guestfs_user_cancel>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2628 +#: ../src/guestfs.pod:2632 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 " @@ -62145,19 +62457,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2633 +#: ../src/guestfs.pod:2637 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:2637 +#: ../src/guestfs.pod:2641 msgid "PRIVATE DATA AREA" msgstr "プライベートデータ領域" #. type: textblock -#: ../src/guestfs.pod:2639 +#: ../src/guestfs.pod:2643 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 " @@ -62165,12 +62477,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2644 +#: ../src/guestfs.pod:2648 msgid "To attach a named piece of data, use the following call:" msgstr "データの名前付き部分を接続するには、以下の呼び出しを使用します:" #. type: verbatim -#: ../src/guestfs.pod:2646 +#: ../src/guestfs.pod:2650 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -62180,7 +62492,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2648 +#: ../src/guestfs.pod:2652 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 " @@ -62188,7 +62500,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2652 +#: ../src/guestfs.pod:2656 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 " @@ -62198,12 +62510,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2658 +#: ../src/guestfs.pod:2662 msgid "To retrieve the pointer, use:" msgstr "ポインターを取り出すには、次を使用します:" #. type: verbatim -#: ../src/guestfs.pod:2660 +#: ../src/guestfs.pod:2664 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -62213,7 +62525,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2662 +#: ../src/guestfs.pod:2666 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 " @@ -62223,7 +62535,7 @@ msgstr "" "guestfs_vfs_label> を使用してください。" #. type: textblock -#: ../src/guestfs.pod:2666 +#: ../src/guestfs.pod:2670 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 " @@ -62234,12 +62546,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2673 +#: ../src/guestfs.pod:2677 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2675 +#: ../src/guestfs.pod:2679 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -62249,7 +62561,7 @@ msgstr "" "\n" #. type: verbatim -#: ../src/guestfs.pod:2677 +#: ../src/guestfs.pod:2681 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -62259,7 +62571,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2679 +#: ../src/guestfs.pod:2683 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 " @@ -62269,7 +62581,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2689 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 " @@ -62277,18 +62589,18 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2689 +#: ../src/guestfs.pod:2693 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2695 +#: ../src/guestfs.pod:2699 msgid "" "You must not call C<guestfs_set_private> while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2700 +#: ../src/guestfs.pod:2704 msgid "" "The handle maintains an internal iterator which is reset when you call " "C<guestfs_first_private>. This internal iterator is invalidated when you " @@ -62296,12 +62608,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2706 +#: ../src/guestfs.pod:2710 msgid "If you have set the data pointer associated with a key to C<NULL>, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2708 +#: ../src/guestfs.pod:2712 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -62311,26 +62623,26 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2710 +#: ../src/guestfs.pod:2714 msgid "then that C<key> is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2714 +#: ../src/guestfs.pod:2718 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:2720 +#: ../src/guestfs.pod:2724 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:2723 +#: ../src/guestfs.pod:2727 #, no-wrap msgid "" " const char *key;\n" @@ -62352,14 +62664,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2731 +#: ../src/guestfs.pod:2735 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:2734 +#: ../src/guestfs.pod:2738 #, no-wrap msgid "" " const char *key;\n" @@ -62383,7 +62695,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2743 +#: ../src/guestfs.pod:2747 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 " @@ -62391,7 +62703,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2747 +#: ../src/guestfs.pod:2751 #, no-wrap msgid "" " const char *key;\n" @@ -62429,7 +62741,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2763 +#: ../src/guestfs.pod:2767 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 " @@ -62438,12 +62750,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2768 +#: ../src/guestfs.pod:2772 msgid "SYSTEMTAP" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2770 +#: ../src/guestfs.pod:2774 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 " @@ -62451,12 +62763,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2774 +#: ../src/guestfs.pod:2778 msgid "You can list all the static markers by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2776 +#: ../src/guestfs.pod:2780 #, no-wrap msgid "" " stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n" @@ -62468,26 +62780,26 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2779 +#: ../src/guestfs.pod:2783 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:2782 +#: ../src/guestfs.pod:2786 msgid "SYSTEMTAP SCRIPT EXAMPLE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2784 +#: ../src/guestfs.pod:2788 msgid "" "This script contains examples of displaying both the static markers and some " "ordinary C entry points:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2811 +#: ../src/guestfs.pod:2815 #, no-wrap msgid "" " /* Display all calls to guestfs_mkfs* functions. */\n" @@ -62507,7 +62819,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2818 +#: ../src/guestfs.pod:2822 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 " @@ -62516,7 +62828,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2823 +#: ../src/guestfs.pod:2827 #, no-wrap msgid "" " # stap /tmp/test.stap\n" @@ -62528,17 +62840,17 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2826 +#: ../src/guestfs.pod:2830 msgid "In another terminal, run a guestfish command such as this:" msgstr "他の端末において、このように guestfish コマンドを実行します:" #. type: textblock -#: ../src/guestfs.pod:2830 +#: ../src/guestfs.pod:2834 msgid "In the first terminal, stap trace output similar to this is shown:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2832 +#: ../src/guestfs.pod:2836 #, no-wrap msgid "" " 1318248056692655 (+0):\tlaunch_start\n" @@ -62558,7 +62870,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2841 +#: ../src/guestfs.pod:2845 msgid "" "<!-- old anchor for the next section --> <a name=" "\"state_machine_and_low_level_event_api\"/>" @@ -62567,12 +62879,12 @@ msgstr "" "\"state_machine_and_low_level_event_api\"/>" #. type: =head1 -#: ../src/guestfs.pod:2846 +#: ../src/guestfs.pod:2850 msgid "ARCHITECTURE" msgstr "アーキテクチャー" #. type: textblock -#: ../src/guestfs.pod:2848 +#: ../src/guestfs.pod:2852 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 " @@ -62583,7 +62895,7 @@ msgstr "" "ロセスとして実行します。" #. type: verbatim -#: ../src/guestfs.pod:2852 +#: ../src/guestfs.pod:2856 #, no-wrap msgid "" " ___________________\n" @@ -62629,14 +62941,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2872 +#: ../src/guestfs.pod:2876 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:2875 +#: ../src/guestfs.pod:2879 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 " @@ -62648,7 +62960,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2884 +#: ../src/guestfs.pod:2888 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 " @@ -62659,17 +62971,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2891 +#: ../src/guestfs.pod:2895 msgid "STATE MACHINE" msgstr "状態マシン" #. type: textblock -#: ../src/guestfs.pod:2893 +#: ../src/guestfs.pod:2897 msgid "libguestfs uses a state machine to model the child process:" msgstr "libguestfs は子プロセスをモデル化するために状態マシンを使用します:" #. type: verbatim -#: ../src/guestfs.pod:2895 +#: ../src/guestfs.pod:2899 #, fuzzy, no-wrap #| msgid "" #| " |\n" @@ -62742,7 +63054,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2917 +#: ../src/guestfs.pod:2921 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), " @@ -62751,7 +63063,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2922 +#: ../src/guestfs.pod:2926 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 " @@ -62762,14 +63074,14 @@ msgstr "" "ため)、状態を設定 (CONFIG) に切り戻します。" #. type: textblock -#: ../src/guestfs.pod:2926 +#: ../src/guestfs.pod:2930 msgid "" "Configuration commands for qemu such as L</guestfs_set_path> can only be " "issued when in the CONFIG state." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2929 +#: ../src/guestfs.pod:2933 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 " @@ -62778,7 +63090,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2935 +#: ../src/guestfs.pod:2939 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. " @@ -62787,7 +63099,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2940 +#: ../src/guestfs.pod:2944 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -62795,17 +63107,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2944 +#: ../src/guestfs.pod:2948 msgid "INTERNALS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2946 +#: ../src/guestfs.pod:2950 msgid "APPLIANCE BOOT PROCESS" msgstr "アプライアンスの起動プロセス" #. type: textblock -#: ../src/guestfs.pod:2948 +#: ../src/guestfs.pod:2952 msgid "" "This process has evolved and continues to evolve. The description here " "corresponds only to the current version of libguestfs and is provided for " @@ -62815,7 +63127,7 @@ msgstr "" "バージョンの libguestfs にのみ対応していて、参考情報としてのみ提供されます。" #. type: textblock -#: ../src/guestfs.pod:2952 +#: ../src/guestfs.pod:2956 msgid "" "In order to follow the stages involved below, enable libguestfs debugging " "(set the environment variable C<LIBGUESTFS_DEBUG=1>)." @@ -62824,12 +63136,12 @@ msgstr "" "C<LIBGUESTFS_DEBUG=1> を設定します)。" #. type: =item -#: ../src/guestfs.pod:2957 +#: ../src/guestfs.pod:2961 msgid "Create the appliance" msgstr "アプライアンスを作成します" #. type: textblock -#: ../src/guestfs.pod:2959 +#: ../src/guestfs.pod:2963 msgid "" "C<febootstrap-supermin-helper> is invoked to create the kernel, a small " "initrd and the appliance." @@ -62838,7 +63150,7 @@ msgstr "" "を作成するために呼び出されます。" #. type: textblock -#: ../src/guestfs.pod:2962 +#: ../src/guestfs.pod:2966 #, fuzzy #| msgid "" #| "The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in " @@ -62851,7 +63163,7 @@ msgstr "" "たは C<TMPDIR> を設定していると他の場所です)。" #. type: textblock -#: ../src/guestfs.pod:2965 +#: ../src/guestfs.pod:2969 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." @@ -62861,22 +63173,22 @@ msgstr "" "参照してください。" #. type: =item -#: ../src/guestfs.pod:2969 +#: ../src/guestfs.pod:2973 msgid "Start qemu and boot the kernel" msgstr "QEMU を開始してカーネルを起動します" #. type: textblock -#: ../src/guestfs.pod:2971 +#: ../src/guestfs.pod:2975 msgid "qemu is invoked to boot the kernel." msgstr "カーネルを起動するために QEMU が呼び出されます。" #. type: =item -#: ../src/guestfs.pod:2973 +#: ../src/guestfs.pod:2977 msgid "Run the initrd" msgstr "initrd を実行します" #. type: textblock -#: ../src/guestfs.pod:2975 +#: ../src/guestfs.pod:2979 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 " @@ -62887,7 +63199,7 @@ msgstr "" "始できるために、十分なカーネルモジュールを読み込むことです。" #. type: textblock -#: ../src/guestfs.pod:2979 +#: ../src/guestfs.pod:2983 msgid "" "The initrd is a cpio archive called C</var/tmp/.guestfs-E<lt>UIDE<gt>/" "initrd>." @@ -62896,7 +63208,7 @@ msgstr "" "す。" #. type: textblock -#: ../src/guestfs.pod:2982 +#: ../src/guestfs.pod:2986 msgid "" "When the initrd has started you will see messages showing that kernel " "modules are being loaded, similar to this:" @@ -62905,7 +63217,7 @@ msgstr "" "メッセージが表示されます:" #. type: verbatim -#: ../src/guestfs.pod:2985 +#: ../src/guestfs.pod:2989 #, no-wrap msgid "" " febootstrap: ext2 mini initrd starting up\n" @@ -62921,12 +63233,12 @@ msgstr "" "\n" #. type: =item -#: ../src/guestfs.pod:2990 +#: ../src/guestfs.pod:2994 msgid "Find and mount the appliance device" msgstr "アプライアンスデバイスを検索およびマウントします" #. type: textblock -#: ../src/guestfs.pod:2992 +#: ../src/guestfs.pod:2996 msgid "" "The appliance is a sparse file containing an ext2 filesystem which contains " "a familiar (although reduced in size) Linux operating system. It would " @@ -62934,33 +63246,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2996 +#: ../src/guestfs.pod:3000 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:2999 +#: ../src/guestfs.pod:3003 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:3002 +#: ../src/guestfs.pod:3006 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:3006 +#: ../src/guestfs.pod:3010 msgid "If this works successfully you will see messages such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3008 +#: ../src/guestfs.pod:3012 #, no-wrap msgid "" " febootstrap: picked /sys/block/vdb/dev as root device\n" @@ -62978,19 +63290,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3014 +#: ../src/guestfs.pod:3018 msgid "" "Note that C<Starting /init script ...> indicates that the appliance's init " "script is now running." msgstr "" #. type: =item -#: ../src/guestfs.pod:3017 +#: ../src/guestfs.pod:3021 msgid "Initialize the appliance" msgstr "アプライアンスを初期化します" #. type: textblock -#: ../src/guestfs.pod:3019 +#: ../src/guestfs.pod:3023 msgid "" "The appliance itself now initializes itself. This involves starting certain " "processes like C<udev>, possibly printing some debug information, and " @@ -62998,19 +63310,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3023 +#: ../src/guestfs.pod:3027 msgid "The daemon" msgstr "デーモン" #. type: textblock -#: ../src/guestfs.pod:3025 +#: ../src/guestfs.pod:3029 msgid "" "Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you " "should see:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3028 +#: ../src/guestfs.pod:3032 #, no-wrap msgid "" " verbose daemon enabled\n" @@ -63020,14 +63332,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3030 +#: ../src/guestfs.pod:3034 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:3033 +#: ../src/guestfs.pod:3037 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 " @@ -63035,19 +63347,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3039 +#: ../src/guestfs.pod:3043 msgid "COMMUNICATION PROTOCOL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3041 +#: ../src/guestfs.pod:3045 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:3044 +#: ../src/guestfs.pod:3048 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 " @@ -63055,14 +63367,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3048 +#: ../src/guestfs.pod:3052 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:3051 +#: ../src/guestfs.pod:3055 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 " @@ -63072,17 +63384,17 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3058 +#: ../src/guestfs.pod:3062 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3060 +#: ../src/guestfs.pod:3064 msgid "For ordinary functions, the request message is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3062 +#: ../src/guestfs.pod:3066 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -63093,7 +63405,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3067 +#: ../src/guestfs.pod:3071 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 " @@ -63102,21 +63414,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3073 +#: ../src/guestfs.pod:3077 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:3076 +#: ../src/guestfs.pod:3080 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:3080 +#: ../src/guestfs.pod:3084 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 " @@ -63128,12 +63440,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3088 +#: ../src/guestfs.pod:3092 msgid "The reply message for ordinary functions is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3090 +#: ../src/guestfs.pod:3094 #, no-wrap msgid "" " total length (header + ret,\n" @@ -63149,27 +63461,27 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3095 +#: ../src/guestfs.pod:3099 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:3098 +#: ../src/guestfs.pod:3102 msgid "" "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3101 +#: ../src/guestfs.pod:3105 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:3104 +#: ../src/guestfs.pod:3108 #, no-wrap msgid "" " total length (header + error,\n" @@ -63180,7 +63492,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3109 +#: ../src/guestfs.pod:3113 msgid "" "The C<guestfs_message_error> structure contains the error message as a " "string." @@ -63188,12 +63500,12 @@ msgstr "" "C<guestfs_message_error> の構造は、文字列としてエラーメッセージを含みます。" #. type: =head3 -#: ../src/guestfs.pod:3112 +#: ../src/guestfs.pod:3116 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3114 +#: ../src/guestfs.pod:3118 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 " @@ -63201,7 +63513,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3118 +#: ../src/guestfs.pod:3122 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -63223,12 +63535,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3126 +#: ../src/guestfs.pod:3130 msgid "The \"sequence of chunks\" is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3128 +#: ../src/guestfs.pod:3132 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -63250,7 +63562,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3136 +#: ../src/guestfs.pod:3140 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 " @@ -63258,7 +63570,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3140 +#: ../src/guestfs.pod:3144 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -63267,7 +63579,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3145 +#: ../src/guestfs.pod:3149 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 " @@ -63276,7 +63588,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3151 +#: ../src/guestfs.pod:3155 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 " @@ -63288,7 +63600,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3160 +#: ../src/guestfs.pod:3164 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 " @@ -63298,19 +63610,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3166 +#: ../src/guestfs.pod:3170 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3168 +#: ../src/guestfs.pod:3172 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:3171 +#: ../src/guestfs.pod:3175 #, no-wrap msgid "" " total length (header + ret,\n" @@ -63324,12 +63636,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3179 +#: ../src/guestfs.pod:3183 msgid "INITIAL MESSAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3181 +#: ../src/guestfs.pod:3185 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</" @@ -63337,12 +63649,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3185 +#: ../src/guestfs.pod:3189 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3187 +#: ../src/guestfs.pod:3191 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -63350,7 +63662,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3191 +#: ../src/guestfs.pod:3195 msgid "" "The library turns them into progress callbacks (see L</" "GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them " @@ -63358,7 +63670,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3195 +#: ../src/guestfs.pod:3199 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C<daemon/proto.c:notify_progress>). Not all calls generate progress " @@ -63366,12 +63678,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3199 +#: ../src/guestfs.pod:3203 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3201 +#: ../src/guestfs.pod:3205 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -63379,7 +63691,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3206 +#: ../src/guestfs.pod:3210 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -63407,13 +63719,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3217 +#: ../src/guestfs.pod:3221 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" "このように \"1.3.5\" は開発ブランチ \"1.3\" の 5 番目のアップデートです。" #. type: textblock -#: ../src/guestfs.pod:3219 +#: ../src/guestfs.pod:3223 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 " @@ -63423,12 +63735,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3225 +#: ../src/guestfs.pod:3229 msgid "Our criteria for backporting changes are:" msgstr "バックポートする変更に対する私たちの基準は次のとおりです:" #. type: textblock -#: ../src/guestfs.pod:3231 +#: ../src/guestfs.pod:3235 msgid "" "Documentation changes which don't affect any code are backported unless the " "documentation refers to a future feature which is not in stable." @@ -63437,7 +63749,7 @@ msgstr "" "機能を参照していなければ、バックポートされます。" #. type: textblock -#: ../src/guestfs.pod:3237 +#: ../src/guestfs.pod:3241 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." @@ -63446,7 +63758,7 @@ msgstr "" "ポートされます。" #. type: textblock -#: ../src/guestfs.pod:3242 +#: ../src/guestfs.pod:3246 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 " @@ -63454,7 +63766,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3248 +#: ../src/guestfs.pod:3252 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 " @@ -63462,7 +63774,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3254 +#: ../src/guestfs.pod:3258 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 " @@ -63473,29 +63785,29 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3262 +#: ../src/guestfs.pod:3266 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3264 +#: ../src/guestfs.pod:3268 msgid "This section is for hackers who want to extend libguestfs itself." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3266 +#: ../src/guestfs.pod:3270 msgid "OVERVIEW OF THE SOURCE CODE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3268 +#: ../src/guestfs.pod:3272 msgid "" "Libguestfs source is located in the github repository L<https://github.com/" "libguestfs/libguestfs>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3271 +#: ../src/guestfs.pod:3275 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated. This means that many source files will appear " @@ -63505,7 +63817,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3277 +#: ../src/guestfs.pod:3281 msgid "" "Libguestfs uses an autotools-based build system, with the main files being " "C<configure.ac> and C<Makefile.am>. The C<generator> subdirectory contains " @@ -63517,7 +63829,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3286 +#: ../src/guestfs.pod:3290 msgid "" "Apart from the fact that all API entry points go via some generated code, " "the library is straightforward. (In fact, even the generated code is " @@ -63528,17 +63840,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3294 +#: ../src/guestfs.pod:3298 msgid "To build from source, first read the C<README> file." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3296 +#: ../src/guestfs.pod:3300 msgid "C<local*> FILES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3298 +#: ../src/guestfs.pod:3302 msgid "" "Files in the top source directory that begin with the prefix C<local*> are " "ignored by git. These files can contain local configuration or scripts that " @@ -63546,7 +63858,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3302 +#: ../src/guestfs.pod:3306 msgid "" "By convention, I have a file called C<localconfigure> which is a simple " "wrapper around C<autogen.sh> containing local configure customizations that " @@ -63554,7 +63866,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3306 +#: ../src/guestfs.pod:3310 #, no-wrap msgid "" " . localenv\n" @@ -63568,14 +63880,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3314 +#: ../src/guestfs.pod:3318 #, fuzzy #| msgid "You can use this to:" msgid "So I can use this to build libguestfs:" msgstr "次の目的のために実行できます:" #. type: verbatim -#: ../src/guestfs.pod:3316 +#: ../src/guestfs.pod:3320 #, no-wrap msgid "" " ./localconfigure && make\n" @@ -63583,7 +63895,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3318 +#: ../src/guestfs.pod:3322 msgid "" "If there is a file in the top build directory called C<localenv>, then it " "will be sourced by C<make>. This file can contain any local environment " @@ -63591,7 +63903,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3322 +#: ../src/guestfs.pod:3326 #, no-wrap msgid "" " # Use an alternate python binary.\n" @@ -63602,7 +63914,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3327 +#: ../src/guestfs.pod:3331 msgid "" "Note that C<localenv> is included by the top Makefile (so it's a Makefile " "fragment). But if it is also sourced by your C<localconfigure> script then " @@ -63610,31 +63922,31 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3331 +#: ../src/guestfs.pod:3335 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3333 +#: ../src/guestfs.pod:3337 msgid "" "Because large amounts of boilerplate code in libguestfs are generated, this " "makes it easy to extend the libguestfs API." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3336 +#: ../src/guestfs.pod:3340 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3342 +#: ../src/guestfs.pod:3346 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C<generator/actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3345 +#: ../src/guestfs.pod:3349 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 " @@ -63645,7 +63957,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3353 +#: ../src/guestfs.pod:3357 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 " @@ -63655,7 +63967,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3359 +#: ../src/guestfs.pod:3363 msgid "" "For library-only actions of the second type, add to the " "C<non_daemon_functions> list. Since these functions are serviced by the " @@ -63665,36 +63977,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3367 +#: ../src/guestfs.pod:3371 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3369 +#: ../src/guestfs.pod:3373 msgid "" "For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the " "C<daemon/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3372 +#: ../src/guestfs.pod:3376 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:3375 +#: ../src/guestfs.pod:3379 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3379 +#: ../src/guestfs.pod:3383 msgid "After making these changes, use C<make> to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3381 +#: ../src/guestfs.pod:3385 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 " @@ -63702,12 +64014,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3385 +#: ../src/guestfs.pod:3389 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3387 +#: ../src/guestfs.pod:3391 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/actions." @@ -63717,34 +64029,34 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3393 +#: ../src/guestfs.pod:3397 msgid "" "The following describes the test environment used when you add an API test " "in C<actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3396 +#: ../src/guestfs.pod:3400 msgid "The test environment has 4 block devices:" msgstr "テスト環境は 4 個のブロックデバイスを持ちます:" #. type: =item -#: ../src/guestfs.pod:3400 +#: ../src/guestfs.pod:3404 msgid "C</dev/sda> 500MB" msgstr "C</dev/sda> 500MB" #. type: textblock -#: ../src/guestfs.pod:3402 +#: ../src/guestfs.pod:3406 msgid "General block device for testing." msgstr "テスト用の一般的なブロックデバイス。" #. type: =item -#: ../src/guestfs.pod:3404 +#: ../src/guestfs.pod:3408 msgid "C</dev/sdb> 50MB" msgstr "C</dev/sdb> 50MB" #. type: textblock -#: ../src/guestfs.pod:3406 +#: ../src/guestfs.pod:3410 msgid "" "C</dev/sdb1> is an ext2 filesystem used for testing filesystem write " "operations." @@ -63753,28 +64065,28 @@ msgstr "" "ext2 ファイルシステムです。" #. type: =item -#: ../src/guestfs.pod:3409 +#: ../src/guestfs.pod:3413 msgid "C</dev/sdc> 10MB" msgstr "C</dev/sdc> 10MB" #. type: textblock -#: ../src/guestfs.pod:3411 +#: ../src/guestfs.pod:3415 msgid "Used in a few tests where two block devices are needed." msgstr "" "2 つのブロックデバイスが必要となるいくつかのテストにおいて使用されます。" #. type: =item -#: ../src/guestfs.pod:3413 +#: ../src/guestfs.pod:3417 msgid "C</dev/sdd>" msgstr "C</dev/sdd>" #. type: textblock -#: ../src/guestfs.pod:3415 +#: ../src/guestfs.pod:3419 msgid "ISO with fixed content (see C<images/test.iso>)." msgstr "固定的な内容を持つ ISO (C<images/test.iso> 参照)。" #. type: textblock -#: ../src/guestfs.pod:3419 +#: ../src/guestfs.pod:3423 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 " @@ -63782,7 +64094,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3423 +#: ../src/guestfs.pod:3427 msgid "" "Each test starts with an initial scenario, selected using one of the " "C<Init*> expressions, described in C<generator/types.ml>. These initialize " @@ -63792,7 +64104,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3429 +#: ../src/guestfs.pod:3433 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 " @@ -63802,14 +64114,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3435 +#: ../src/guestfs.pod:3439 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C<make check>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3438 +#: ../src/guestfs.pod:3442 #, no-wrap msgid "" " SKIP_TEST_<CMD>_<NUM>=1\n" @@ -63819,14 +64131,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3440 +#: ../src/guestfs.pod:3444 msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>." msgstr "" "例: C<SKIP_TEST_COMMAND_3=1> は L</guestfs_command> のテスト #3 をスキップし" "ます。" #. type: verbatim -#: ../src/guestfs.pod:3444 +#: ../src/guestfs.pod:3448 #, no-wrap msgid "" " SKIP_TEST_<CMD>=1\n" @@ -63836,19 +64148,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3446 +#: ../src/guestfs.pod:3450 msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests." msgstr "" "例: C<SKIP_TEST_ZEROFREE=1> はすべての L</guestfs_zerofree> テストをスキップ" "します。" #. type: textblock -#: ../src/guestfs.pod:3448 +#: ../src/guestfs.pod:3452 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3450 +#: ../src/guestfs.pod:3454 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -63858,7 +64170,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3452 +#: ../src/guestfs.pod:3456 msgid "" "See C<tests/c-api/tests.c> for more details of how these environment " "variables work." @@ -63867,22 +64179,22 @@ msgstr "" "を参照してください。" #. type: =head2 -#: ../src/guestfs.pod:3455 +#: ../src/guestfs.pod:3459 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3457 +#: ../src/guestfs.pod:3461 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3459 +#: ../src/guestfs.pod:3463 msgid "You can use guestfish to try out new commands." msgstr "新しいコマンドを試すために guestfish を使うことができます。" #. type: textblock -#: ../src/guestfs.pod:3461 +#: ../src/guestfs.pod:3465 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 " @@ -63890,12 +64202,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3465 +#: ../src/guestfs.pod:3469 msgid "FORMATTING CODE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3467 +#: ../src/guestfs.pod:3471 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -63905,14 +64217,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3473 +#: ../src/guestfs.pod:3477 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:3476 +#: ../src/guestfs.pod:3480 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -63938,7 +64250,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:3486 +#: ../src/guestfs.pod:3490 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -63968,19 +64280,19 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:3498 +#: ../src/guestfs.pod:3502 msgid "TESTING YOUR CHANGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3500 +#: ../src/guestfs.pod:3504 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" "コンパイル時に警告を有効にします(そして、これは見つけた問題をすべて修正しま" "す):" #. type: verbatim -#: ../src/guestfs.pod:3503 +#: ../src/guestfs.pod:3507 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -63990,61 +64302,61 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3505 +#: ../src/guestfs.pod:3509 msgid "Useful targets are:" msgstr "有用なターゲットは次のとおりです:" #. type: =item -#: ../src/guestfs.pod:3509 +#: ../src/guestfs.pod:3513 msgid "C<make check>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3511 +#: ../src/guestfs.pod:3515 msgid "Runs the regular test suite." msgstr "" #. type: =item -#: ../src/guestfs.pod:3513 +#: ../src/guestfs.pod:3517 msgid "C<make syntax-check -j1 -k>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3515 +#: ../src/guestfs.pod:3519 msgid "Checks for various syntax and style problems in the code." msgstr "" #. type: =item -#: ../src/guestfs.pod:3517 +#: ../src/guestfs.pod:3521 msgid "C<make check-valgrind>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3519 +#: ../src/guestfs.pod:3523 msgid "Runs a subset of the test suite under valgrind." msgstr "" #. type: =item -#: ../src/guestfs.pod:3521 +#: ../src/guestfs.pod:3525 msgid "C<make check-valgrind-local-guests>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3523 +#: ../src/guestfs.pod:3527 msgid "" "Runs a subset of the test suite under valgrind using locally installed " "libvirt guests (read-only)." msgstr "" #. type: =item -#: ../src/guestfs.pod:3526 +#: ../src/guestfs.pod:3530 #, fuzzy #| msgid "Create the appliance" msgid "C<make check-with-appliance>" msgstr "アプライアンスを作成します" #. type: textblock -#: ../src/guestfs.pod:3528 +#: ../src/guestfs.pod:3532 msgid "" "Runs all tests using default appliance back-end. This only has any effect " "if a non-default attach-method was selected using C<./configure --with-" @@ -64052,12 +64364,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3532 +#: ../src/guestfs.pod:3536 msgid "C<make check-with-upstream-qemu>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3534 +#: ../src/guestfs.pod:3538 msgid "" "Runs all tests using a local qemu binary. It looks for the qemu binary in " "QEMUDIR (defaults to C<$HOME/d/qemu>), but you can set this to another " @@ -64065,7 +64377,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3538 +#: ../src/guestfs.pod:3542 #, no-wrap msgid "" " make check-with-upstream-qemu QEMUDIR=/usr/src/qemu\n" @@ -64073,12 +64385,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3540 +#: ../src/guestfs.pod:3544 msgid "C<make check-with-upstream-libvirt>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3542 +#: ../src/guestfs.pod:3546 msgid "" "Runs all tests using a local libvirt. This only has any effect if the " "libvirt attach-method was selected using C<./configure --with-default-attach-" @@ -64086,14 +64398,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3546 +#: ../src/guestfs.pod:3550 msgid "" "It looks for libvirt in LIBVIRTDIR (defaults to C<$HOME/d/libvirt>), but you " "can set this to another directory on the command line, eg:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3549 +#: ../src/guestfs.pod:3553 #, no-wrap msgid "" " make check-with-upstream-libvirt LIBVIRTDIR=/usr/src/libvirt\n" @@ -64101,47 +64413,47 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3551 +#: ../src/guestfs.pod:3555 msgid "C<make check-slow>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3553 +#: ../src/guestfs.pod:3557 msgid "Runs some slow/long-running tests which are not run by default." msgstr "" #. type: =item -#: ../src/guestfs.pod:3555 +#: ../src/guestfs.pod:3559 #, fuzzy #| msgid "B<--extra-stats>" msgid "C<make extra-tests>" msgstr "B<--extra-stats>" #. type: textblock -#: ../src/guestfs.pod:3557 +#: ../src/guestfs.pod:3561 msgid "" "Equivalent to running all C<make check-*> rules (but not C<make check>)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3562 +#: ../src/guestfs.pod:3566 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3564 +#: ../src/guestfs.pod:3568 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:3569 +#: ../src/guestfs.pod:3573 msgid "%Q" msgstr "%Q" #. type: textblock -#: ../src/guestfs.pod:3571 +#: ../src/guestfs.pod:3575 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." @@ -64150,19 +64462,19 @@ msgstr "" "ます。" #. type: =item -#: ../src/guestfs.pod:3574 +#: ../src/guestfs.pod:3578 msgid "%R" msgstr "%R" #. type: textblock -#: ../src/guestfs.pod:3576 +#: ../src/guestfs.pod:3580 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:3583 +#: ../src/guestfs.pod:3587 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -64172,12 +64484,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3585 +#: ../src/guestfs.pod:3589 msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>" msgstr "C<cat /sysroot/some\\ path\\ with\\ spaces> を生成します" #. type: textblock -#: ../src/guestfs.pod:3587 +#: ../src/guestfs.pod:3591 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 " @@ -64186,12 +64498,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3593 +#: ../src/guestfs.pod:3597 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "新しい API アクションの提出方法" #. type: textblock -#: ../src/guestfs.pod:3595 +#: ../src/guestfs.pod:3599 msgid "" "Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/" "libguestfs> and CC to L<rjones@redhat.com>." @@ -64200,17 +64512,17 @@ msgstr "" "listinfo/libguestfs> および L<rjones@redhat.com> (Cc)。" #. type: =head2 -#: ../src/guestfs.pod:3599 +#: ../src/guestfs.pod:3603 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "国際化 (i18n) サポート" #. type: textblock -#: ../src/guestfs.pod:3601 +#: ../src/guestfs.pod:3605 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3603 +#: ../src/guestfs.pod:3607 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 " @@ -64219,49 +64531,49 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3609 +#: ../src/guestfs.pod:3613 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3612 +#: ../src/guestfs.pod:3616 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "ソースコードのサブディレクトリー" #. type: =item -#: ../src/guestfs.pod:3616 +#: ../src/guestfs.pod:3620 msgid "C<align>" msgstr "C<align>" #. type: textblock -#: ../src/guestfs.pod:3618 +#: ../src/guestfs.pod:3622 msgid "L<virt-alignment-scan(1)> command and documentation." msgstr "L<virt-alignment-scan(1)> のコマンドおよびドキュメント。" #. type: textblock -#: ../src/guestfs.pod:3622 +#: ../src/guestfs.pod:3626 msgid "The libguestfs appliance, build scripts and so on." msgstr "libguestfs アプライアンス、スクリプトなどを構築します。" #. type: =item -#: ../src/guestfs.pod:3624 +#: ../src/guestfs.pod:3628 msgid "C<build-aux>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3626 +#: ../src/guestfs.pod:3630 msgid "Various build scripts used by autotools." msgstr "" #. type: =item -#: ../src/guestfs.pod:3628 +#: ../src/guestfs.pod:3632 msgid "C<cat>" msgstr "C<cat>" #. type: textblock -#: ../src/guestfs.pod:3630 +#: ../src/guestfs.pod:3634 msgid "" "The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and " "documentation." @@ -64270,64 +64582,64 @@ msgstr "" "ドキュメント。" #. type: =item -#: ../src/guestfs.pod:3633 +#: ../src/guestfs.pod:3637 msgid "C<contrib>" msgstr "C<contrib>" #. type: textblock -#: ../src/guestfs.pod:3635 +#: ../src/guestfs.pod:3639 msgid "Outside contributions, experimental parts." msgstr "外部の貢献、実験的な部分です。" #. type: =item -#: ../src/guestfs.pod:3637 +#: ../src/guestfs.pod:3641 msgid "C<daemon>" msgstr "C<daemon>" #. type: textblock -#: ../src/guestfs.pod:3639 +#: ../src/guestfs.pod:3643 msgid "" "The daemon that runs inside the libguestfs appliance and carries out actions." msgstr "" "libguestfs アプライアンスの中で実行され、アクションを実行しているデーモン。" #. type: =item -#: ../src/guestfs.pod:3642 +#: ../src/guestfs.pod:3646 msgid "C<df>" msgstr "C<df>" #. type: textblock -#: ../src/guestfs.pod:3644 +#: ../src/guestfs.pod:3648 msgid "L<virt-df(1)> command and documentation." msgstr "L<virt-df(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3646 +#: ../src/guestfs.pod:3650 msgid "C<edit>" msgstr "C<edit>" #. type: textblock -#: ../src/guestfs.pod:3648 +#: ../src/guestfs.pod:3652 msgid "L<virt-edit(1)> command and documentation." msgstr "L<virt-edit(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3650 +#: ../src/guestfs.pod:3654 msgid "C<examples>" msgstr "C<examples>" #. type: textblock -#: ../src/guestfs.pod:3652 +#: ../src/guestfs.pod:3656 msgid "C API example code." msgstr "C API のコード例。" #. type: =item -#: ../src/guestfs.pod:3654 +#: ../src/guestfs.pod:3658 msgid "C<fish>" msgstr "C<fish>" #. type: textblock -#: ../src/guestfs.pod:3656 +#: ../src/guestfs.pod:3660 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)>, " @@ -64338,17 +64650,17 @@ msgstr "" "プト。" #. type: textblock -#: ../src/guestfs.pod:3662 +#: ../src/guestfs.pod:3666 msgid "L<virt-format(1)> command and documentation." msgstr "L<virt-format(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3664 +#: ../src/guestfs.pod:3668 msgid "C<fuse>" msgstr "C<fuse>" #. type: textblock -#: ../src/guestfs.pod:3666 +#: ../src/guestfs.pod:3670 msgid "" "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" @@ -64356,86 +64668,86 @@ msgstr "" "システム)。" #. type: =item -#: ../src/guestfs.pod:3668 +#: ../src/guestfs.pod:3672 msgid "C<generator>" msgstr "C<generator>" #. type: textblock -#: ../src/guestfs.pod:3670 +#: ../src/guestfs.pod:3674 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:3673 +#: ../src/guestfs.pod:3677 msgid "C<gnulib>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3675 +#: ../src/guestfs.pod:3679 msgid "" "Gnulib is used as a portability library. A copy of gnulib is included under " "here." msgstr "" #. type: =item -#: ../src/guestfs.pod:3678 +#: ../src/guestfs.pod:3682 msgid "C<html>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3680 +#: ../src/guestfs.pod:3684 msgid "Generated HTML manual pages." msgstr "" #. type: =item -#: ../src/guestfs.pod:3682 +#: ../src/guestfs.pod:3686 msgid "C<inspector>" msgstr "C<inspector>" #. type: textblock -#: ../src/guestfs.pod:3684 +#: ../src/guestfs.pod:3688 msgid "L<virt-inspector(1)>, the virtual machine image inspector." msgstr "L<virt-inspector(1)>, 仮想マシンイメージ検査ツール。" #. type: =item -#: ../src/guestfs.pod:3686 +#: ../src/guestfs.pod:3690 msgid "C<logo>" msgstr "C<logo>" #. type: textblock -#: ../src/guestfs.pod:3688 +#: ../src/guestfs.pod:3692 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:3690 +#: ../src/guestfs.pod:3694 msgid "C<m4>" msgstr "C<m4>" #. type: textblock -#: ../src/guestfs.pod:3692 +#: ../src/guestfs.pod:3696 msgid "M4 macros used by autoconf." msgstr "autoconf により使用される M4 マクロ。" #. type: =item -#: ../src/guestfs.pod:3694 +#: ../src/guestfs.pod:3698 msgid "C<po>" msgstr "C<po>" #. type: textblock -#: ../src/guestfs.pod:3696 +#: ../src/guestfs.pod:3700 msgid "Translations of simple gettext strings." msgstr "" #. type: =item -#: ../src/guestfs.pod:3698 +#: ../src/guestfs.pod:3702 msgid "C<po-docs>" msgstr "C<po-docs>" #. type: textblock -#: ../src/guestfs.pod:3700 +#: ../src/guestfs.pod:3704 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 " @@ -64443,84 +64755,84 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3704 +#: ../src/guestfs.pod:3708 msgid "C<rescue>" msgstr "C<rescue>" #. type: textblock -#: ../src/guestfs.pod:3706 +#: ../src/guestfs.pod:3710 msgid "L<virt-rescue(1)> command and documentation." msgstr "L<virt-rescue(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3708 +#: ../src/guestfs.pod:3712 msgid "C<resize>" msgstr "C<resize>" #. type: textblock -#: ../src/guestfs.pod:3710 +#: ../src/guestfs.pod:3714 msgid "L<virt-resize(1)> command and documentation." msgstr "L<virt-resize(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3712 +#: ../src/guestfs.pod:3716 msgid "C<sparsify>" msgstr "C<sparsify>" #. type: textblock -#: ../src/guestfs.pod:3714 +#: ../src/guestfs.pod:3718 msgid "L<virt-sparsify(1)> command and documentation." msgstr "L<virt-sparsify(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3716 +#: ../src/guestfs.pod:3720 msgid "C<src>" msgstr "C<src>" #. type: textblock -#: ../src/guestfs.pod:3718 +#: ../src/guestfs.pod:3722 msgid "Source code to the C library." msgstr "C ライブラリーのソースコード。" #. type: =item -#: ../src/guestfs.pod:3720 +#: ../src/guestfs.pod:3724 msgid "C<sysprep>" msgstr "C<sysprep>" #. type: textblock -#: ../src/guestfs.pod:3722 +#: ../src/guestfs.pod:3726 msgid "L<virt-sysprep(1)> command and documentation." msgstr "L<virt-sysprep(1)> コマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3724 +#: ../src/guestfs.pod:3728 msgid "C<tests>" msgstr "C<tests>" #. type: textblock -#: ../src/guestfs.pod:3726 +#: ../src/guestfs.pod:3730 msgid "Tests." msgstr "テストします。" #. type: =item -#: ../src/guestfs.pod:3728 +#: ../src/guestfs.pod:3732 msgid "C<test-tool>" msgstr "C<test-tool>" #. type: textblock -#: ../src/guestfs.pod:3730 +#: ../src/guestfs.pod:3734 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3733 +#: ../src/guestfs.pod:3737 msgid "C<tmp>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3735 +#: ../src/guestfs.pod:3739 msgid "" "Used for temporary files when running the tests (instead of C</tmp> etc). " "The reason is so that you can run multiple parallel tests of libguestfs " @@ -64528,78 +64840,83 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3740 +#: ../src/guestfs.pod:3744 msgid "C<tools>" msgstr "C<tools>" #. type: textblock -#: ../src/guestfs.pod:3742 +#: ../src/guestfs.pod:3746 msgid "" "Command line tools written in Perl (L<virt-win-reg(1)> and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:3744 +#: ../src/guestfs.pod:3748 msgid "C<csharp>" msgstr "C<csharp>" #. type: =item -#: ../src/guestfs.pod:3746 +#: ../src/guestfs.pod:3750 msgid "C<erlang>" msgstr "C<erlang>" #. type: =item -#: ../src/guestfs.pod:3748 +#: ../src/guestfs.pod:3752 msgid "C<gobject>" msgstr "C<gobject>" #. type: =item -#: ../src/guestfs.pod:3750 +#: ../src/guestfs.pod:3754 msgid "C<haskell>" msgstr "C<haskell>" #. type: =item -#: ../src/guestfs.pod:3752 +#: ../src/guestfs.pod:3756 msgid "C<java>" msgstr "C<java>" #. type: =item -#: ../src/guestfs.pod:3754 +#: ../src/guestfs.pod:3758 +msgid "C<lua>" +msgstr "" + +#. type: =item +#: ../src/guestfs.pod:3760 msgid "C<ocaml>" msgstr "C<ocaml>" #. type: =item -#: ../src/guestfs.pod:3756 +#: ../src/guestfs.pod:3762 msgid "C<php>" msgstr "C<php>" #. type: =item -#: ../src/guestfs.pod:3758 +#: ../src/guestfs.pod:3764 msgid "C<perl>" msgstr "C<perl>" #. type: =item -#: ../src/guestfs.pod:3760 +#: ../src/guestfs.pod:3766 msgid "C<python>" msgstr "C<python>" #. type: =item -#: ../src/guestfs.pod:3762 +#: ../src/guestfs.pod:3768 msgid "C<ruby>" msgstr "C<ruby>" #. type: textblock -#: ../src/guestfs.pod:3764 +#: ../src/guestfs.pod:3770 msgid "Language bindings." msgstr "言語バインディング。" #. type: =head2 -#: ../src/guestfs.pod:3768 +#: ../src/guestfs.pod:3774 msgid "MAKING A STABLE RELEASE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3770 +#: ../src/guestfs.pod:3776 msgid "" "When we make a stable release, there are several steps documented here. See " "L</LIBGUESTFS VERSION NUMBERS> for general information about the stable " @@ -64607,33 +64924,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3778 +#: ../src/guestfs.pod:3784 msgid "" "Check C<make && make check> works on at least Fedora, Debian and Ubuntu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3783 +#: ../src/guestfs.pod:3789 msgid "Finalize C<guestfs-release-notes.pod>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3787 +#: ../src/guestfs.pod:3793 msgid "Update ROADMAP." msgstr "ロードマップを更新します。" #. type: textblock -#: ../src/guestfs.pod:3791 +#: ../src/guestfs.pod:3797 msgid "Run C<src/api-support/update-from-tarballs.sh>." msgstr "C<src/api-support/update-from-tarballs.sh> を実行します。" #. type: textblock -#: ../src/guestfs.pod:3795 +#: ../src/guestfs.pod:3801 msgid "Push and pull from Transifex." msgstr "Transifex からのプッシュおよびプル。" #. type: verbatim -#: ../src/guestfs.pod:3799 +#: ../src/guestfs.pod:3805 #, no-wrap msgid "" " tx push -s\n" @@ -64643,13 +64960,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3801 +#: ../src/guestfs.pod:3807 msgid "to push the latest POT files to Transifex. Then run:" msgstr "" "最新の POT ファイルを Transifex にプッシュします。そして、次を実行します:" #. type: verbatim -#: ../src/guestfs.pod:3803 +#: ../src/guestfs.pod:3809 #, no-wrap msgid "" " ./tx-pull.sh\n" @@ -64659,12 +64976,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3805 +#: ../src/guestfs.pod:3811 msgid "which is a wrapper to pull the latest translated C<*.po> files." msgstr "これは最新の翻訳された C<*.po> ファイルを取り出すためのラッパーです。" #. type: textblock -#: ../src/guestfs.pod:3809 +#: ../src/guestfs.pod:3815 msgid "" "Create new stable and development directories under L<http://libguestfs.org/" "download>." @@ -64673,12 +64990,12 @@ msgstr "" "リーを作成します。" #. type: textblock -#: ../src/guestfs.pod:3814 +#: ../src/guestfs.pod:3820 msgid "Create the branch in git:" msgstr "git に分岐を作成します:" #. type: verbatim -#: ../src/guestfs.pod:3816 +#: ../src/guestfs.pod:3822 #, no-wrap msgid "" " git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n" @@ -64694,17 +65011,17 @@ msgstr "" "\n" #. type: =head1 -#: ../src/guestfs.pod:3823 +#: ../src/guestfs.pod:3829 msgid "LIMITS" msgstr "制限" #. type: =head2 -#: ../src/guestfs.pod:3825 +#: ../src/guestfs.pod:3831 msgid "PROTOCOL LIMITS" msgstr "プロトコル制限" #. type: textblock -#: ../src/guestfs.pod:3827 +#: ../src/guestfs.pod:3833 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 " @@ -64715,7 +65032,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3835 +#: ../src/guestfs.pod:3841 msgid "" "In libguestfs E<lt> 1.19.32, several calls had to encode either their entire " "argument list or their entire return value (or sometimes both) in a single " @@ -64731,7 +65048,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3848 +#: ../src/guestfs.pod:3854 msgid "" "L</guestfs_cat>, L</guestfs_find>, L</guestfs_read_file>, L</" "guestfs_read_lines>, L</guestfs_write>, L</guestfs_write_append>, L</" @@ -64740,19 +65057,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3853 +#: ../src/guestfs.pod:3859 msgid "" "See also L</UPLOADING> and L</DOWNLOADING> for further information about " "copying large amounts of data into or out of a filesystem." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3856 +#: ../src/guestfs.pod:3862 msgid "MAXIMUM NUMBER OF DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3858 +#: ../src/guestfs.pod:3864 msgid "" "In libguestfs E<ge> 1.19.7, you can query the maximum number of disks that " "may be added by calling L</guestfs_max_disks>. In earlier versions of " @@ -64761,14 +65078,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3863 +#: ../src/guestfs.pod:3869 msgid "" "The rest of this section covers implementation details, which could change " "in future." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3866 +#: ../src/guestfs.pod:3872 msgid "" "When using virtio-scsi disks (the default if available in qemu) the current " "limit is B<255> disks. When using virtio-blk (the old default) the limit is " @@ -64781,7 +65098,7 @@ msgstr "" "ているかどうかにより、変化する可能性があります。" #. type: textblock -#: ../src/guestfs.pod:3871 +#: ../src/guestfs.pod:3877 msgid "" "Virtio-scsi as used by libguestfs is configured to use one target per disk, " "and 256 targets are available." @@ -64790,7 +65107,7 @@ msgstr "" "用するよう設定されます。256 個のターゲットが利用可能です。" #. type: textblock -#: ../src/guestfs.pod:3874 +#: ../src/guestfs.pod:3880 msgid "" "Virtio-blk consumes 1 virtual PCI slot per disk, and PCI is limited to 31 " "slots, but some of these are used for other purposes." @@ -64799,12 +65116,12 @@ msgstr "" "されます。これらのいくつかは他の目的のために使用されます。" #. type: textblock -#: ../src/guestfs.pod:3877 +#: ../src/guestfs.pod:3883 msgid "One virtual disk is used by libguestfs internally." msgstr "一つの仮想ディスクが libguestfs により内部的に使用されます。" #. type: textblock -#: ../src/guestfs.pod:3879 +#: ../src/guestfs.pod:3885 msgid "" "Before libguestfs 1.19.7, disk names had to be a single character (eg. C</" "dev/sda> through C</dev/sdz>), and since one disk is reserved, that meant " @@ -64815,24 +65132,24 @@ msgstr "" "は 25 でした。これはそれ以降のバージョンにおいて修正されました。" #. type: textblock -#: ../src/guestfs.pod:3884 +#: ../src/guestfs.pod:3890 msgid "" "In libguestfs E<ge> 1.20 it is possible to hot plug disks. See L</" "HOTPLUGGING>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3887 +#: ../src/guestfs.pod:3893 msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK" msgstr "ディスクあたりの最大パーティション数" #. type: textblock -#: ../src/guestfs.pod:3889 +#: ../src/guestfs.pod:3895 msgid "Virtio limits the maximum number of partitions per disk to B<15>." msgstr "virtio はディスクあたりの最大パーティション数を B<15> に制限します。" #. type: textblock -#: ../src/guestfs.pod:3891 +#: ../src/guestfs.pod:3897 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>)." @@ -64841,7 +65158,7 @@ msgstr "" "dev/vda>、および C</dev/vda1> から C</dev/vda15> まで)。" #. type: textblock -#: ../src/guestfs.pod:3894 +#: ../src/guestfs.pod:3900 msgid "" "If you attach a disk with more than 15 partitions, the extra partitions are " "ignored by libguestfs." @@ -64850,17 +65167,17 @@ msgstr "" "は libguestfs により無視されます。" #. type: =head2 -#: ../src/guestfs.pod:3897 +#: ../src/guestfs.pod:3903 msgid "MAXIMUM SIZE OF A DISK" msgstr "ディスクの最大容量" #. type: textblock -#: ../src/guestfs.pod:3899 +#: ../src/guestfs.pod:3905 msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes." msgstr "制限はおそらく 2**63-1 から 2**64-1 バイトの間です。" #. type: textblock -#: ../src/guestfs.pod:3901 +#: ../src/guestfs.pod:3907 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 " @@ -64868,7 +65185,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3905 +#: ../src/guestfs.pod:3911 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 " @@ -64878,19 +65195,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3911 +#: ../src/guestfs.pod:3917 msgid "" "For the hugest disk image files, we recommend using XFS on the host for " "storage." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3914 +#: ../src/guestfs.pod:3920 msgid "MAXIMUM SIZE OF A PARTITION" msgstr "パーティションの最大容量" #. type: textblock -#: ../src/guestfs.pod:3916 +#: ../src/guestfs.pod:3922 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 " @@ -64898,7 +65215,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3920 +#: ../src/guestfs.pod:3926 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 " @@ -64906,12 +65223,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3925 +#: ../src/guestfs.pod:3931 msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES" msgstr "ファイルシステム、ファイル、ディレクトリーの最大容量" #. type: textblock -#: ../src/guestfs.pod:3927 +#: ../src/guestfs.pod:3933 msgid "" "This depends on the filesystem type. libguestfs itself does not impose any " "known limit. Consult Wikipedia or the filesystem documentation to find out " @@ -64919,12 +65236,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3931 +#: ../src/guestfs.pod:3937 msgid "MAXIMUM UPLOAD AND DOWNLOAD" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3933 +#: ../src/guestfs.pod:3939 msgid "" "The API functions L</guestfs_upload>, L</guestfs_download>, L</" "guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized " @@ -64932,12 +65249,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3937 +#: ../src/guestfs.pod:3943 msgid "INSPECTION LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3939 +#: ../src/guestfs.pod:3945 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 " @@ -64947,45 +65264,45 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3965 +#: ../src/guestfs.pod:3971 msgid "" "Choose the default way to create the appliance. See L</" "guestfs_set_attach_method>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3977 +#: ../src/guestfs.pod:3983 msgid "See also L</LIBGUESTFS_TMPDIR>, L</guestfs_set_cachedir>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3981 +#: ../src/guestfs.pod:3987 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:3993 +#: ../src/guestfs.pod:3999 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:4002 +#: ../src/guestfs.pod:4008 msgid "See also L</QEMU WRAPPERS> above." msgstr "上の L</QEMU WRAPPERS> 参照。" #. type: textblock -#: ../src/guestfs.pod:4012 +#: ../src/guestfs.pod:4018 #, fuzzy #| msgid "See also C<guestfs_set_e2attrs>." msgid "See also L</LIBGUESTFS_CACHEDIR>, L</guestfs_set_tmpdir>." msgstr "C<guestfs_set_e2attrs> 参照。" #. type: textblock -#: ../src/guestfs.pod:4016 +#: ../src/guestfs.pod:4022 msgid "" "Set C<LIBGUESTFS_TRACE=1> to enable command traces. This has the same " "effect as calling C<guestfs_set_trace (g, 1)>." @@ -64994,24 +65311,42 @@ msgstr "" "C<guestfs_set_trace (g, 1)> の呼び出しと同じ効果があります。" #. type: textblock -#: ../src/guestfs.pod:4027 +#: ../src/guestfs.pod:4033 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, L<http://libguestfs.org/>, L<virt-alignment-scan(1)>, " +#| "L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-df(1)>, " +#| "L<virt-edit(1)>, L<virt-filesystems(1)>, L<virt-inspector(1)>, L<virt-" +#| "list-filesystems(1)>, L<virt-list-partitions(1)>, L<virt-ls(1)>, L<virt-" +#| "make-fs(1)>, L<virt-rescue(1)>, L<virt-resize(1)>, L<virt-sparsify(1)>, " +#| "L<virt-sysprep(1)>, L<virt-tar(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)" +#| ">, L<virt-win-reg(1)>, L<display(1)>, L<hexedit(1)>, L<febootstrap-" +#| "supermin-helper(8)>." 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)>, " -"L<guestfish(1)>, L<guestmount(1)>, L<virt-alignment-scan(1)>, L<virt-cat(1)" -">, L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit(1)>, " -"L<virt-filesystems(1)>, L<virt-format(1)>, L<virt-inspector(1)>, L<virt-list-" -"filesystems(1)>, L<virt-list-partitions(1)>, L<virt-ls(1)>, L<virt-make-fs(1)" -">, L<virt-rescue(1)>, L<virt-resize(1)>, L<virt-sparsify(1)>, L<virt-sysprep" -"(1)>, L<virt-tar(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<virt-win-reg" -"(1)>, L<guestfs-faq(1)>, L<guestfs-performance(1)>, L<guestfs-release-notes" -"(1)>, L<guestfs-testing(1)>, L<libguestfs-test-tool(1)>, L<libguestfs-make-" -"fixed-appliance(1)>, L<febootstrap(8)>, L<febootstrap-supermin-helper(8)>, " -"L<qemu(1)>, L<hivex(3)>, L<stap(1)>, L<http://libguestfs.org/>." +"lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, " +"L<guestfs-ruby(3)>, L<guestfish(1)>, L<guestmount(1)>, L<virt-alignment-scan" +"(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-df(1)" +">, L<virt-edit(1)>, L<virt-filesystems(1)>, L<virt-format(1)>, L<virt-" +"inspector(1)>, L<virt-list-filesystems(1)>, L<virt-list-partitions(1)>, " +"L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-rescue(1)>, L<virt-resize(1)>, " +"L<virt-sparsify(1)>, L<virt-sysprep(1)>, L<virt-tar(1)>, L<virt-tar-in(1)>, " +"L<virt-tar-out(1)>, L<virt-win-reg(1)>, L<guestfs-faq(1)>, L<guestfs-" +"performance(1)>, L<guestfs-release-notes(1)>, L<guestfs-testing(1)>, " +"L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-appliance(1)>, " +"L<febootstrap(8)>, L<febootstrap-supermin-helper(8)>, L<qemu(1)>, L<hivex(3)" +">, L<stap(1)>, L<http://libguestfs.org/>." msgstr "" +"L<guestfs(3)>, L<http://libguestfs.org/>, L<virt-alignment-scan(1)>, L<virt-" +"cat(1)>, L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit" +"(1)>, L<virt-filesystems(1)>, L<virt-inspector(1)>, L<virt-list-filesystems" +"(1)>, L<virt-list-partitions(1)>, L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-" +"rescue(1)>, L<virt-resize(1)>, L<virt-sparsify(1)>, L<virt-sysprep(1)>, " +"L<virt-tar(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<virt-win-reg(1)>, " +"L<display(1)>, L<hexedit(1)>, L<febootstrap-supermin-helper(8)>。" #. type: textblock -#: ../src/guestfs.pod:4070 +#: ../src/guestfs.pod:4077 msgid "" "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm" "(8)>, L<disktype(1)>." diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot index fa242446..eb69ce76 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.19.59\n" +"Project-Id-Version: libguestfs 1.19.60\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2012-11-13 14:41+0000\n" +"POT-Creation-Date: 2012-11-17 19:54+0000\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" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. type: =head1 -#: ../align/virt-alignment-scan.pod:3 ../appliance/libguestfs-make-fixed-appliance.pod:3 ../cat/virt-cat.pod:3 ../cat/virt-filesystems.pod:3 ../cat/virt-ls.pod:3 ../daemon/guestfsd.pod:3 ../df/virt-df.pod:3 ../edit/virt-edit.pod:3 ../erlang/examples/guestfs-erlang.pod:3 ../examples/guestfs-examples.pod:3 ../examples/guestfs-faq.pod:3 ../examples/guestfs-performance.pod:3 ../examples/guestfs-recipes.pod:10 ../examples/guestfs-testing.pod:3 ../fish/guestfish.pod:3 ../fish/virt-copy-in.pod:3 ../fish/virt-copy-out.pod:3 ../fish/virt-tar-in.pod:3 ../fish/virt-tar-out.pod:3 ../format/virt-format.pod:3 ../fuse/guestmount.pod:3 ../guestfs-release-notes.pod:3 ../inspector/virt-inspector.pod:3 ../java/examples/guestfs-java.pod:3 ../ocaml/examples/guestfs-ocaml.pod:3 ../perl/examples/guestfs-perl.pod:3 ../python/examples/guestfs-python.pod:3 ../rescue/virt-rescue.pod:3 ../resize/virt-resize.pod:3 ../ruby/examples/guestfs-ruby.pod:3 ../sparsify/virt-sparsify.pod:3 ../src/guestfs.pod:3 ../sysprep/virt-sysprep.pod:3 ../test-tool/libguestfs-test-tool.pod:3 ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 ../tools/virt-make-fs.pl:36 ../tools/virt-tar.pl:31 ../tools/virt-win-reg.pl:35 +#: ../align/virt-alignment-scan.pod:3 ../appliance/libguestfs-make-fixed-appliance.pod:3 ../cat/virt-cat.pod:3 ../cat/virt-filesystems.pod:3 ../cat/virt-ls.pod:3 ../daemon/guestfsd.pod:3 ../df/virt-df.pod:3 ../edit/virt-edit.pod:3 ../erlang/examples/guestfs-erlang.pod:3 ../examples/guestfs-examples.pod:3 ../examples/guestfs-faq.pod:3 ../examples/guestfs-performance.pod:3 ../examples/guestfs-recipes.pod:10 ../examples/guestfs-testing.pod:3 ../fish/guestfish.pod:3 ../fish/virt-copy-in.pod:3 ../fish/virt-copy-out.pod:3 ../fish/virt-tar-in.pod:3 ../fish/virt-tar-out.pod:3 ../format/virt-format.pod:3 ../fuse/guestmount.pod:3 ../guestfs-release-notes.pod:3 ../inspector/virt-inspector.pod:3 ../java/examples/guestfs-java.pod:3 ../lua/examples/guestfs-lua.pod:3 ../ocaml/examples/guestfs-ocaml.pod:3 ../perl/examples/guestfs-perl.pod:3 ../python/examples/guestfs-python.pod:3 ../rescue/virt-rescue.pod:3 ../resize/virt-resize.pod:3 ../ruby/examples/guestfs-ruby.pod:3 ../sparsify/virt-sparsify.pod:3 ../src/guestfs.pod:3 ../sysprep/virt-sysprep.pod:3 ../test-tool/libguestfs-test-tool.pod:3 ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 ../tools/virt-make-fs.pl:36 ../tools/virt-tar.pl:31 ../tools/virt-win-reg.pl:35 msgid "NAME" msgstr "" @@ -28,7 +28,7 @@ msgid "virt-alignment-scan - Check alignment of virtual machine partitions" msgstr "" #. type: =head1 -#: ../align/virt-alignment-scan.pod:7 ../appliance/libguestfs-make-fixed-appliance.pod:7 ../cat/virt-cat.pod:7 ../cat/virt-filesystems.pod:7 ../cat/virt-ls.pod:7 ../daemon/guestfsd.pod:7 ../df/virt-df.pod:7 ../edit/virt-edit.pod:7 ../erlang/examples/guestfs-erlang.pod:7 ../examples/guestfs-examples.pod:7 ../fish/guestfish.pod:7 ../fish/virt-copy-in.pod:7 ../fish/virt-copy-out.pod:7 ../fish/virt-tar-in.pod:7 ../fish/virt-tar-out.pod:7 ../format/virt-format.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pod:7 ../java/examples/guestfs-java.pod:7 ../ocaml/examples/guestfs-ocaml.pod:7 ../perl/examples/guestfs-perl.pod:7 ../python/examples/guestfs-python.pod:7 ../rescue/virt-rescue.pod:7 ../resize/virt-resize.pod:7 ../ruby/examples/guestfs-ruby.pod:7 ../sparsify/virt-sparsify.pod:7 ../src/guestfs.pod:7 ../sysprep/virt-sysprep.pod:7 ../test-tool/libguestfs-test-tool.pod:7 ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 ../tools/virt-make-fs.pl:40 ../tools/virt-tar.pl:35 ../tools/virt-win-reg.pl:39 +#: ../align/virt-alignment-scan.pod:7 ../appliance/libguestfs-make-fixed-appliance.pod:7 ../cat/virt-cat.pod:7 ../cat/virt-filesystems.pod:7 ../cat/virt-ls.pod:7 ../daemon/guestfsd.pod:7 ../df/virt-df.pod:7 ../edit/virt-edit.pod:7 ../erlang/examples/guestfs-erlang.pod:7 ../examples/guestfs-examples.pod:7 ../fish/guestfish.pod:7 ../fish/virt-copy-in.pod:7 ../fish/virt-copy-out.pod:7 ../fish/virt-tar-in.pod:7 ../fish/virt-tar-out.pod:7 ../format/virt-format.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pod:7 ../java/examples/guestfs-java.pod:7 ../lua/examples/guestfs-lua.pod:7 ../ocaml/examples/guestfs-ocaml.pod:7 ../perl/examples/guestfs-perl.pod:7 ../python/examples/guestfs-python.pod:7 ../rescue/virt-rescue.pod:7 ../resize/virt-resize.pod:7 ../ruby/examples/guestfs-ruby.pod:7 ../sparsify/virt-sparsify.pod:7 ../src/guestfs.pod:7 ../sysprep/virt-sysprep.pod:7 ../test-tool/libguestfs-test-tool.pod:7 ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 ../tools/virt-make-fs.pl:40 ../tools/virt-tar.pl:35 ../tools/virt-win-reg.pl:39 msgid "SYNOPSIS" msgstr "" @@ -57,7 +57,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../align/virt-alignment-scan.pod:15 ../appliance/libguestfs-make-fixed-appliance.pod:13 ../cat/virt-cat.pod:19 ../cat/virt-filesystems.pod:13 ../cat/virt-ls.pod:19 ../daemon/guestfsd.pod:11 ../df/virt-df.pod:21 ../edit/virt-edit.pod:27 ../erlang/examples/guestfs-erlang.pod:16 ../examples/guestfs-examples.pod:19 ../examples/guestfs-performance.pod:7 ../examples/guestfs-recipes.pod:14 ../examples/guestfs-testing.pod:7 ../fish/guestfish.pod:30 ../fish/virt-copy-in.pod:19 ../fish/virt-copy-out.pod:13 ../fish/virt-tar-in.pod:21 ../fish/virt-tar-out.pod:15 ../format/virt-format.pod:11 ../fuse/guestmount.pod:20 ../inspector/virt-inspector.pod:19 ../java/examples/guestfs-java.pod:15 ../ocaml/examples/guestfs-ocaml.pod:25 ../perl/examples/guestfs-perl.pod:19 ../python/examples/guestfs-python.pod:14 ../rescue/virt-rescue.pod:31 ../resize/virt-resize.pod:13 ../ruby/examples/guestfs-ruby.pod:15 ../sparsify/virt-sparsify.pod:11 ../src/guestfs.pod:24 ../sysprep/virt-sysprep.pod:13 ../test-tool/libguestfs-test-tool.pod:11 ../tools/virt-list-filesystems.pl:45 ../tools/virt-list-partitions.pl:45 ../tools/virt-make-fs.pl:48 ../tools/virt-tar.pl:77 ../tools/virt-win-reg.pl:63 +#: ../align/virt-alignment-scan.pod:15 ../appliance/libguestfs-make-fixed-appliance.pod:13 ../cat/virt-cat.pod:19 ../cat/virt-filesystems.pod:13 ../cat/virt-ls.pod:19 ../daemon/guestfsd.pod:11 ../df/virt-df.pod:21 ../edit/virt-edit.pod:27 ../erlang/examples/guestfs-erlang.pod:16 ../examples/guestfs-examples.pod:19 ../examples/guestfs-performance.pod:7 ../examples/guestfs-recipes.pod:14 ../examples/guestfs-testing.pod:7 ../fish/guestfish.pod:30 ../fish/virt-copy-in.pod:19 ../fish/virt-copy-out.pod:13 ../fish/virt-tar-in.pod:21 ../fish/virt-tar-out.pod:15 ../format/virt-format.pod:11 ../fuse/guestmount.pod:20 ../inspector/virt-inspector.pod:19 ../java/examples/guestfs-java.pod:15 ../lua/examples/guestfs-lua.pod:16 ../ocaml/examples/guestfs-ocaml.pod:25 ../perl/examples/guestfs-perl.pod:19 ../python/examples/guestfs-python.pod:14 ../rescue/virt-rescue.pod:31 ../resize/virt-resize.pod:13 ../ruby/examples/guestfs-ruby.pod:15 ../sparsify/virt-sparsify.pod:11 ../src/guestfs.pod:24 ../sysprep/virt-sysprep.pod:13 ../test-tool/libguestfs-test-tool.pod:11 ../tools/virt-list-filesystems.pl:45 ../tools/virt-list-partitions.pl:45 ../tools/virt-make-fs.pl:48 ../tools/virt-tar.pl:77 ../tools/virt-win-reg.pl:63 msgid "DESCRIPTION" msgstr "" @@ -343,7 +343,7 @@ msgid "" msgstr "" #. type: textblock -#: ../align/virt-alignment-scan.pod:146 ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:689 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 ../src/guestfs.pod:3581 ../sysprep/virt-sysprep.pod:112 +#: ../align/virt-alignment-scan.pod:146 ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:689 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 ../src/guestfs.pod:3585 ../sysprep/virt-sysprep.pod:112 msgid "For example:" msgstr "" @@ -751,7 +751,7 @@ msgid "This program returns:" msgstr "" #. type: =item -#: ../align/virt-alignment-scan.pod:347 ../align/virt-alignment-scan.pod:353 ../align/virt-alignment-scan.pod:359 ../align/virt-alignment-scan.pod:366 ../appliance/libguestfs-make-fixed-appliance.pod:32 ../appliance/libguestfs-make-fixed-appliance.pod:53 ../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 ../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-faq.pod:149 ../examples/guestfs-faq.pod:155 ../examples/guestfs-faq.pod:194 ../examples/guestfs-faq.pod:200 ../examples/guestfs-performance.pod:107 ../examples/guestfs-performance.pod:113 ../examples/guestfs-performance.pod:118 ../examples/guestfs-performance.pod:253 ../examples/guestfs-performance.pod:258 ../examples/guestfs-performance.pod:263 ../examples/guestfs-recipes.pod:128 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:136 ../examples/guestfs-recipes.pod:162 ../examples/guestfs-recipes.pod:167 ../examples/guestfs-recipes.pod:257 ../examples/guestfs-recipes.pod:261 ../examples/guestfs-recipes.pod:265 ../examples/guestfs-recipes.pod:269 ../examples/guestfs-recipes.pod:273 ../examples/guestfs-testing.pod:124 ../examples/guestfs-testing.pod:128 ../examples/guestfs-testing.pod:132 ../fish/guestfish-actions.pod:432 ../fish/guestfish-actions.pod:440 ../fish/guestfish-actions.pod:447 ../fish/guestfish-actions.pod:454 ../fish/guestfish-actions.pod:1495 ../fish/guestfish-actions.pod:1499 ../fish/guestfish-actions.pod:1503 ../fish/guestfish-actions.pod:1507 ../fish/guestfish-actions.pod:1515 ../fish/guestfish-actions.pod:1519 ../fish/guestfish-actions.pod:1523 ../fish/guestfish-actions.pod:1533 ../fish/guestfish-actions.pod:1537 ../fish/guestfish-actions.pod:1541 ../fish/guestfish-actions.pod:1652 ../fish/guestfish-actions.pod:1656 ../fish/guestfish-actions.pod:1661 ../fish/guestfish-actions.pod:1703 ../fish/guestfish-actions.pod:1707 ../fish/guestfish-actions.pod:1712 ../fish/guestfish-actions.pod:2213 ../fish/guestfish-actions.pod:2220 ../fish/guestfish-actions.pod:2227 ../fish/guestfish-actions.pod:2805 ../fish/guestfish-actions.pod:2811 ../fish/guestfish-actions.pod:2819 ../fish/guestfish-actions.pod:2826 ../fish/guestfish-actions.pod:2833 ../fish/guestfish.pod:461 ../fish/guestfish.pod:465 ../fish/guestfish.pod:469 ../fish/guestfish.pod:473 ../guestfs-release-notes.pod:92 ../guestfs-release-notes.pod:96 ../guestfs-release-notes.pod:100 ../guestfs-release-notes.pod:104 ../guestfs-release-notes.pod:108 ../guestfs-release-notes.pod:112 ../guestfs-release-notes.pod:117 ../guestfs-release-notes.pod:121 ../guestfs-release-notes.pod:125 ../guestfs-release-notes.pod:266 ../guestfs-release-notes.pod:270 ../guestfs-release-notes.pod:274 ../guestfs-release-notes.pod:278 ../guestfs-release-notes.pod:282 ../guestfs-release-notes.pod:286 ../guestfs-release-notes.pod:290 ../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:45 ../sparsify/virt-sparsify.pod:52 ../sparsify/virt-sparsify.pod:56 ../sparsify/virt-sparsify.pod:62 ../sparsify/virt-sparsify.pod:67 ../sparsify/virt-sparsify.pod:72 ../src/guestfs-actions.pod:638 ../src/guestfs-actions.pod:646 ../src/guestfs-actions.pod:653 ../src/guestfs-actions.pod:660 ../src/guestfs-actions.pod:2497 ../src/guestfs-actions.pod:2501 ../src/guestfs-actions.pod:2505 ../src/guestfs-actions.pod:2509 ../src/guestfs-actions.pod:2517 ../src/guestfs-actions.pod:2521 ../src/guestfs-actions.pod:2525 ../src/guestfs-actions.pod:2535 ../src/guestfs-actions.pod:2539 ../src/guestfs-actions.pod:2543 ../src/guestfs-actions.pod:2715 ../src/guestfs-actions.pod:2719 ../src/guestfs-actions.pod:2724 ../src/guestfs-actions.pod:2785 ../src/guestfs-actions.pod:2789 ../src/guestfs-actions.pod:2794 ../src/guestfs-actions.pod:3588 ../src/guestfs-actions.pod:3595 ../src/guestfs-actions.pod:3602 ../src/guestfs-actions.pod:4469 ../src/guestfs-actions.pod:4475 ../src/guestfs-actions.pod:4483 ../src/guestfs-actions.pod:4490 ../src/guestfs-actions.pod:4497 ../src/guestfs.pod:397 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:420 ../src/guestfs.pod:425 ../src/guestfs.pod:430 ../src/guestfs.pod:1264 ../src/guestfs.pod:1268 ../src/guestfs.pod:1272 ../src/guestfs.pod:1277 ../src/guestfs.pod:1285 ../src/guestfs.pod:1304 ../src/guestfs.pod:1312 ../src/guestfs.pod:1329 ../src/guestfs.pod:1334 ../src/guestfs.pod:1338 ../src/guestfs.pod:1480 ../src/guestfs.pod:1484 ../src/guestfs.pod:1488 ../src/guestfs.pod:1492 ../src/guestfs.pod:1496 ../src/guestfs.pod:1500 ../src/guestfs.pod:2134 ../src/guestfs.pod:2139 ../src/guestfs.pod:2143 ../src/guestfs.pod:2247 ../src/guestfs.pod:2252 ../src/guestfs.pod:2256 ../src/guestfs.pod:2266 ../src/guestfs.pod:2693 ../src/guestfs.pod:2698 ../src/guestfs.pod:2704 ../src/guestfs.pod:2712 ../src/guestfs.pod:3229 ../src/guestfs.pod:3235 ../src/guestfs.pod:3240 ../src/guestfs.pod:3246 ../src/guestfs.pod:3776 ../src/guestfs.pod:3781 ../src/guestfs.pod:3785 ../src/guestfs.pod:3789 ../src/guestfs.pod:3793 ../src/guestfs.pod:3807 ../src/guestfs.pod:3812 ../sysprep/virt-sysprep.pod:231 ../sysprep/virt-sysprep.pod:235 ../sysprep/virt-sysprep.pod:239 ../sysprep/virt-sysprep.pod:243 ../sysprep/virt-sysprep.pod:258 ../sysprep/virt-sysprep.pod:262 ../sysprep/virt-sysprep.pod:266 ../sysprep/virt-sysprep.pod:270 ../sysprep/virt-sysprep.pod:274 ../sysprep/virt-sysprep.pod:327 ../sysprep/virt-sysprep.pod:339 ../sysprep/virt-sysprep.pod:343 ../sysprep/virt-sysprep.pod:351 ../sysprep/virt-sysprep.pod:357 ../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 +#: ../align/virt-alignment-scan.pod:347 ../align/virt-alignment-scan.pod:353 ../align/virt-alignment-scan.pod:359 ../align/virt-alignment-scan.pod:366 ../appliance/libguestfs-make-fixed-appliance.pod:32 ../appliance/libguestfs-make-fixed-appliance.pod:53 ../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 ../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-faq.pod:149 ../examples/guestfs-faq.pod:155 ../examples/guestfs-faq.pod:194 ../examples/guestfs-faq.pod:200 ../examples/guestfs-performance.pod:107 ../examples/guestfs-performance.pod:113 ../examples/guestfs-performance.pod:118 ../examples/guestfs-performance.pod:253 ../examples/guestfs-performance.pod:258 ../examples/guestfs-performance.pod:263 ../examples/guestfs-recipes.pod:138 ../examples/guestfs-recipes.pod:142 ../examples/guestfs-recipes.pod:146 ../examples/guestfs-recipes.pod:172 ../examples/guestfs-recipes.pod:177 ../examples/guestfs-recipes.pod:267 ../examples/guestfs-recipes.pod:271 ../examples/guestfs-recipes.pod:275 ../examples/guestfs-recipes.pod:279 ../examples/guestfs-recipes.pod:283 ../examples/guestfs-testing.pod:124 ../examples/guestfs-testing.pod:128 ../examples/guestfs-testing.pod:132 ../fish/guestfish-actions.pod:432 ../fish/guestfish-actions.pod:440 ../fish/guestfish-actions.pod:447 ../fish/guestfish-actions.pod:454 ../fish/guestfish-actions.pod:1495 ../fish/guestfish-actions.pod:1499 ../fish/guestfish-actions.pod:1503 ../fish/guestfish-actions.pod:1507 ../fish/guestfish-actions.pod:1515 ../fish/guestfish-actions.pod:1519 ../fish/guestfish-actions.pod:1523 ../fish/guestfish-actions.pod:1533 ../fish/guestfish-actions.pod:1537 ../fish/guestfish-actions.pod:1541 ../fish/guestfish-actions.pod:1652 ../fish/guestfish-actions.pod:1656 ../fish/guestfish-actions.pod:1661 ../fish/guestfish-actions.pod:1703 ../fish/guestfish-actions.pod:1707 ../fish/guestfish-actions.pod:1712 ../fish/guestfish-actions.pod:2213 ../fish/guestfish-actions.pod:2220 ../fish/guestfish-actions.pod:2227 ../fish/guestfish-actions.pod:2805 ../fish/guestfish-actions.pod:2811 ../fish/guestfish-actions.pod:2819 ../fish/guestfish-actions.pod:2826 ../fish/guestfish-actions.pod:2833 ../fish/guestfish.pod:461 ../fish/guestfish.pod:465 ../fish/guestfish.pod:469 ../fish/guestfish.pod:473 ../guestfs-release-notes.pod:92 ../guestfs-release-notes.pod:96 ../guestfs-release-notes.pod:100 ../guestfs-release-notes.pod:104 ../guestfs-release-notes.pod:108 ../guestfs-release-notes.pod:112 ../guestfs-release-notes.pod:117 ../guestfs-release-notes.pod:121 ../guestfs-release-notes.pod:125 ../guestfs-release-notes.pod:266 ../guestfs-release-notes.pod:270 ../guestfs-release-notes.pod:274 ../guestfs-release-notes.pod:278 ../guestfs-release-notes.pod:282 ../guestfs-release-notes.pod:286 ../guestfs-release-notes.pod:290 ../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:45 ../sparsify/virt-sparsify.pod:52 ../sparsify/virt-sparsify.pod:56 ../sparsify/virt-sparsify.pod:62 ../sparsify/virt-sparsify.pod:67 ../sparsify/virt-sparsify.pod:72 ../src/guestfs-actions.pod:638 ../src/guestfs-actions.pod:646 ../src/guestfs-actions.pod:653 ../src/guestfs-actions.pod:660 ../src/guestfs-actions.pod:2497 ../src/guestfs-actions.pod:2501 ../src/guestfs-actions.pod:2505 ../src/guestfs-actions.pod:2509 ../src/guestfs-actions.pod:2517 ../src/guestfs-actions.pod:2521 ../src/guestfs-actions.pod:2525 ../src/guestfs-actions.pod:2535 ../src/guestfs-actions.pod:2539 ../src/guestfs-actions.pod:2543 ../src/guestfs-actions.pod:2715 ../src/guestfs-actions.pod:2719 ../src/guestfs-actions.pod:2724 ../src/guestfs-actions.pod:2785 ../src/guestfs-actions.pod:2789 ../src/guestfs-actions.pod:2794 ../src/guestfs-actions.pod:3588 ../src/guestfs-actions.pod:3595 ../src/guestfs-actions.pod:3602 ../src/guestfs-actions.pod:4469 ../src/guestfs-actions.pod:4475 ../src/guestfs-actions.pod:4483 ../src/guestfs-actions.pod:4490 ../src/guestfs-actions.pod:4497 ../src/guestfs.pod:397 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:420 ../src/guestfs.pod:425 ../src/guestfs.pod:430 ../src/guestfs.pod:1268 ../src/guestfs.pod:1272 ../src/guestfs.pod:1276 ../src/guestfs.pod:1281 ../src/guestfs.pod:1289 ../src/guestfs.pod:1308 ../src/guestfs.pod:1316 ../src/guestfs.pod:1333 ../src/guestfs.pod:1338 ../src/guestfs.pod:1342 ../src/guestfs.pod:1484 ../src/guestfs.pod:1488 ../src/guestfs.pod:1492 ../src/guestfs.pod:1496 ../src/guestfs.pod:1500 ../src/guestfs.pod:1504 ../src/guestfs.pod:2138 ../src/guestfs.pod:2143 ../src/guestfs.pod:2147 ../src/guestfs.pod:2251 ../src/guestfs.pod:2256 ../src/guestfs.pod:2260 ../src/guestfs.pod:2270 ../src/guestfs.pod:2697 ../src/guestfs.pod:2702 ../src/guestfs.pod:2708 ../src/guestfs.pod:2716 ../src/guestfs.pod:3233 ../src/guestfs.pod:3239 ../src/guestfs.pod:3244 ../src/guestfs.pod:3250 ../src/guestfs.pod:3782 ../src/guestfs.pod:3787 ../src/guestfs.pod:3791 ../src/guestfs.pod:3795 ../src/guestfs.pod:3799 ../src/guestfs.pod:3813 ../src/guestfs.pod:3818 ../sysprep/virt-sysprep.pod:231 ../sysprep/virt-sysprep.pod:235 ../sysprep/virt-sysprep.pod:239 ../sysprep/virt-sysprep.pod:243 ../sysprep/virt-sysprep.pod:258 ../sysprep/virt-sysprep.pod:262 ../sysprep/virt-sysprep.pod:266 ../sysprep/virt-sysprep.pod:270 ../sysprep/virt-sysprep.pod:274 ../sysprep/virt-sysprep.pod:327 ../sysprep/virt-sysprep.pod:339 ../sysprep/virt-sysprep.pod:343 ../sysprep/virt-sysprep.pod:351 ../sysprep/virt-sysprep.pod:357 ../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 "" @@ -766,7 +766,7 @@ msgid "successful exit, all partitions are aligned E<ge> 64K for best performanc msgstr "" #. type: =item -#: ../align/virt-alignment-scan.pod:355 ../src/guestfs.pod:1737 +#: ../align/virt-alignment-scan.pod:355 ../src/guestfs.pod:1741 msgid "1" msgstr "" @@ -776,7 +776,7 @@ msgid "an error scanning the disk image or guest" msgstr "" #. type: =item -#: ../align/virt-alignment-scan.pod:361 ../src/guestfs.pod:1741 +#: ../align/virt-alignment-scan.pod:361 ../src/guestfs.pod:1745 msgid "2" msgstr "" @@ -788,7 +788,7 @@ msgid "" msgstr "" #. type: =item -#: ../align/virt-alignment-scan.pod:368 ../src/guestfs.pod:1745 +#: ../align/virt-alignment-scan.pod:368 ../src/guestfs.pod:1749 msgid "3" msgstr "" @@ -800,7 +800,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../align/virt-alignment-scan.pod:375 ../appliance/libguestfs-make-fixed-appliance.pod:144 ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:389 ../cat/virt-ls.pod:495 ../daemon/guestfsd.pod:92 ../df/virt-df.pod:253 ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-faq.pod:796 ../examples/guestfs-performance.pod:429 ../examples/guestfs-recipes.pod:473 ../examples/guestfs-testing.pod:305 ../fish/guestfish.pod:1374 ../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:398 ../guestfs-release-notes.pod:1853 ../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:340 ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 ../sparsify/virt-sparsify.pod:299 ../src/guestfs.pod:4025 ../sysprep/virt-sysprep.pod:480 ../test-tool/libguestfs-test-tool.pod:106 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:627 ../tools/virt-tar.pl:294 ../tools/virt-win-reg.pl:747 +#: ../align/virt-alignment-scan.pod:375 ../appliance/libguestfs-make-fixed-appliance.pod:144 ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:389 ../cat/virt-ls.pod:495 ../daemon/guestfsd.pod:92 ../df/virt-df.pod:253 ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-faq.pod:796 ../examples/guestfs-performance.pod:429 ../examples/guestfs-recipes.pod:496 ../examples/guestfs-testing.pod:305 ../fish/guestfish.pod:1374 ../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:398 ../guestfs-release-notes.pod:1853 ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 ../lua/examples/guestfs-lua.pod:78 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:40 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:340 ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 ../sparsify/virt-sparsify.pod:299 ../src/guestfs.pod:4031 ../sysprep/virt-sysprep.pod:480 ../test-tool/libguestfs-test-tool.pod:106 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:627 ../tools/virt-tar.pl:294 ../tools/virt-win-reg.pl:747 msgid "SEE ALSO" msgstr "" @@ -822,7 +822,7 @@ msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>" msgstr "" #. type: =head1 -#: ../align/virt-alignment-scan.pod:388 ../appliance/libguestfs-make-fixed-appliance.pod:157 ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:404 ../cat/virt-ls.pod:511 ../daemon/guestfsd.pod:101 ../df/virt-df.pod:265 ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-faq.pod:806 ../examples/guestfs-performance.pod:446 ../examples/guestfs-recipes.pod:490 ../examples/guestfs-testing.pod:316 ../fish/guestfish.pod:1406 ../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:413 ../guestfs-release-notes.pod:1868 ../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:353 ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52 ../sparsify/virt-sparsify.pod:316 ../src/guestfs.pod:4081 ../sysprep/virt-sysprep.pod:501 ../test-tool/libguestfs-test-tool.pod:116 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:646 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:766 +#: ../align/virt-alignment-scan.pod:388 ../appliance/libguestfs-make-fixed-appliance.pod:157 ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:404 ../cat/virt-ls.pod:511 ../daemon/guestfsd.pod:101 ../df/virt-df.pod:265 ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:50 ../examples/guestfs-faq.pod:806 ../examples/guestfs-performance.pod:446 ../examples/guestfs-recipes.pod:514 ../examples/guestfs-testing.pod:316 ../fish/guestfish.pod:1406 ../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:413 ../guestfs-release-notes.pod:1868 ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:63 ../lua/examples/guestfs-lua.pod:95 ../ocaml/examples/guestfs-ocaml.pod:96 ../perl/examples/guestfs-perl.pod:58 ../python/examples/guestfs-python.pod:59 ../rescue/virt-rescue.pod:353 ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:53 ../sparsify/virt-sparsify.pod:316 ../src/guestfs.pod:4088 ../sysprep/virt-sysprep.pod:501 ../test-tool/libguestfs-test-tool.pod:116 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:646 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:766 msgid "COPYRIGHT" msgstr "" @@ -1078,7 +1078,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../appliance/libguestfs-make-fixed-appliance.pod:139 ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1202 ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:272 ../src/guestfs.pod:3945 ../test-tool/libguestfs-test-tool.pod:101 +#: ../appliance/libguestfs-make-fixed-appliance.pod:139 ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1202 ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:272 ../src/guestfs.pod:3951 ../test-tool/libguestfs-test-tool.pod:101 msgid "ENVIRONMENT VARIABLES" msgstr "" @@ -1097,17 +1097,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../appliance/libguestfs-make-fixed-appliance.pod:153 ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:45 ../examples/guestfs-faq.pod:802 ../examples/guestfs-performance.pod:442 ../examples/guestfs-recipes.pod:486 ../examples/guestfs-testing.pod:312 ../fish/guestfish.pod:1402 ../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:409 ../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:4077 ../sysprep/virt-sysprep.pod:495 ../test-tool/libguestfs-test-tool.pod:112 +#: ../appliance/libguestfs-make-fixed-appliance.pod:153 ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:46 ../examples/guestfs-faq.pod:802 ../examples/guestfs-performance.pod:442 ../examples/guestfs-recipes.pod:510 ../examples/guestfs-testing.pod:312 ../fish/guestfish.pod:1402 ../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:409 ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:59 ../lua/examples/guestfs-lua.pod:91 ../ocaml/examples/guestfs-ocaml.pod:92 ../perl/examples/guestfs-perl.pod:54 ../python/examples/guestfs-python.pod:55 ../ruby/examples/guestfs-ruby.pod:49 ../src/guestfs.pod:4084 ../sysprep/virt-sysprep.pod:495 ../test-tool/libguestfs-test-tool.pod:112 msgid "AUTHORS" msgstr "" #. type: textblock -#: ../appliance/libguestfs-make-fixed-appliance.pod:155 ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:47 ../examples/guestfs-faq.pod:804 ../examples/guestfs-performance.pod:444 ../examples/guestfs-recipes.pod:488 ../examples/guestfs-testing.pod:314 ../fish/guestfish.pod:1404 ../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:411 ../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:4079 ../test-tool/libguestfs-test-tool.pod:114 +#: ../appliance/libguestfs-make-fixed-appliance.pod:155 ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:48 ../examples/guestfs-faq.pod:804 ../examples/guestfs-performance.pod:444 ../examples/guestfs-recipes.pod:512 ../examples/guestfs-testing.pod:314 ../fish/guestfish.pod:1404 ../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:411 ../java/examples/guestfs-java.pod:61 ../lua/examples/guestfs-lua.pod:93 ../ocaml/examples/guestfs-ocaml.pod:94 ../perl/examples/guestfs-perl.pod:56 ../python/examples/guestfs-python.pod:57 ../ruby/examples/guestfs-ruby.pod:51 ../src/guestfs.pod:4086 ../test-tool/libguestfs-test-tool.pod:114 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)" msgstr "" #. type: textblock -#: ../appliance/libguestfs-make-fixed-appliance.pod:159 ../cat/virt-ls.pod:513 ../daemon/guestfsd.pod:103 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388 ../examples/guestfs-recipes.pod:492 ../fish/guestfish.pod:1408 ../fuse/guestmount.pod:415 ../guestfs-release-notes.pod:1870 ../rescue/virt-rescue.pod:355 ../src/guestfs.pod:4083 ../test-tool/libguestfs-test-tool.pod:118 ../tools/virt-list-partitions.pl:285 +#: ../appliance/libguestfs-make-fixed-appliance.pod:159 ../cat/virt-ls.pod:513 ../daemon/guestfsd.pod:103 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388 ../examples/guestfs-recipes.pod:516 ../fish/guestfish.pod:1408 ../fuse/guestmount.pod:415 ../guestfs-release-notes.pod:1870 ../rescue/virt-rescue.pod:355 ../src/guestfs.pod:4090 ../test-tool/libguestfs-test-tool.pod:118 ../tools/virt-list-partitions.pl:285 msgid "Copyright (C) 2009-2012 Red Hat Inc." msgstr "" @@ -1477,7 +1477,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:258 ../cat/virt-filesystems.pod:406 ../examples/guestfs-examples.pod:51 ../inspector/virt-inspector.pod:526 ../ocaml/examples/guestfs-ocaml.pod:97 ../python/examples/guestfs-python.pod:60 ../resize/virt-resize.pod:731 ../ruby/examples/guestfs-ruby.pod:54 ../tools/virt-make-fs.pl:648 +#: ../cat/virt-cat.pod:258 ../cat/virt-filesystems.pod:406 ../examples/guestfs-examples.pod:52 ../inspector/virt-inspector.pod:526 ../ocaml/examples/guestfs-ocaml.pod:98 ../python/examples/guestfs-python.pod:61 ../resize/virt-resize.pod:731 ../ruby/examples/guestfs-ruby.pod:55 ../tools/virt-make-fs.pl:648 msgid "Copyright (C) 2010-2012 Red Hat Inc." msgstr "" @@ -3860,7 +3860,7 @@ msgid "" msgstr "" #. type: =head2 -#: ../erlang/examples/guestfs-erlang.pod:23 +#: ../erlang/examples/guestfs-erlang.pod:23 ../lua/examples/guestfs-lua.pod:23 msgid "OPENING AND CLOSING THE HANDLE" msgstr "" @@ -3907,7 +3907,7 @@ msgid "" msgstr "" #. type: =head2 -#: ../erlang/examples/guestfs-erlang.pod:40 +#: ../erlang/examples/guestfs-erlang.pod:40 ../lua/examples/guestfs-lua.pod:48 msgid "FUNCTIONS WITH OPTIONAL ARGUMENTS" msgstr "" @@ -4017,27 +4017,27 @@ msgid "C<Arg> is the name of the unknown argument." msgstr "" #. type: =head1 -#: ../erlang/examples/guestfs-erlang.pod:89 ../examples/guestfs-examples.pod:25 ../java/examples/guestfs-java.pod:37 ../ocaml/examples/guestfs-ocaml.pod:70 ../perl/examples/guestfs-perl.pod:32 ../python/examples/guestfs-python.pod:34 ../ruby/examples/guestfs-ruby.pod:28 +#: ../erlang/examples/guestfs-erlang.pod:89 ../examples/guestfs-examples.pod:25 ../java/examples/guestfs-java.pod:37 ../lua/examples/guestfs-lua.pod:70 ../ocaml/examples/guestfs-ocaml.pod:70 ../perl/examples/guestfs-perl.pod:32 ../python/examples/guestfs-python.pod:34 ../ruby/examples/guestfs-ruby.pod:28 msgid "EXAMPLE 1: CREATE A DISK IMAGE" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:91 ../examples/guestfs-examples.pod:27 ../java/examples/guestfs-java.pod:39 ../ocaml/examples/guestfs-ocaml.pod:72 ../perl/examples/guestfs-perl.pod:34 ../python/examples/guestfs-python.pod:36 ../ruby/examples/guestfs-ruby.pod:30 +#: ../erlang/examples/guestfs-erlang.pod:91 ../examples/guestfs-examples.pod:27 ../java/examples/guestfs-java.pod:39 ../lua/examples/guestfs-lua.pod:72 ../ocaml/examples/guestfs-ocaml.pod:72 ../perl/examples/guestfs-perl.pod:34 ../python/examples/guestfs-python.pod:36 ../ruby/examples/guestfs-ruby.pod:30 msgid "@EXAMPLE1@" msgstr "" #. type: =head1 -#: ../erlang/examples/guestfs-erlang.pod:93 ../examples/guestfs-examples.pod:29 ../java/examples/guestfs-java.pod:41 ../ocaml/examples/guestfs-ocaml.pod:74 ../perl/examples/guestfs-perl.pod:36 ../python/examples/guestfs-python.pod:38 ../ruby/examples/guestfs-ruby.pod:32 +#: ../erlang/examples/guestfs-erlang.pod:93 ../examples/guestfs-examples.pod:29 ../java/examples/guestfs-java.pod:41 ../lua/examples/guestfs-lua.pod:74 ../ocaml/examples/guestfs-ocaml.pod:74 ../perl/examples/guestfs-perl.pod:36 ../python/examples/guestfs-python.pod:38 ../ruby/examples/guestfs-ruby.pod:32 msgid "EXAMPLE 2: INSPECT A VIRTUAL MACHINE DISK IMAGE" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:95 ../examples/guestfs-examples.pod:31 ../java/examples/guestfs-java.pod:43 ../ocaml/examples/guestfs-ocaml.pod:76 ../perl/examples/guestfs-perl.pod:38 ../python/examples/guestfs-python.pod:40 ../ruby/examples/guestfs-ruby.pod:34 +#: ../erlang/examples/guestfs-erlang.pod:95 ../examples/guestfs-examples.pod:31 ../java/examples/guestfs-java.pod:43 ../lua/examples/guestfs-lua.pod:76 ../ocaml/examples/guestfs-ocaml.pod:76 ../perl/examples/guestfs-perl.pod:38 ../python/examples/guestfs-python.pod:40 ../ruby/examples/guestfs-ruby.pod:34 msgid "@EXAMPLE2@" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:99 +#: ../erlang/examples/guestfs-erlang.pod:99 ../lua/examples/guestfs-lua.pod:80 msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-java(3)>, " "L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, " @@ -4046,7 +4046,7 @@ msgid "" msgstr "" #. type: textblock -#: ../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:318 ../sysprep/virt-sysprep.pod:503 +#: ../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:65 ../perl/examples/guestfs-perl.pod:60 ../sparsify/virt-sparsify.pod:318 ../sysprep/virt-sysprep.pod:503 msgid "Copyright (C) 2011-2012 Red Hat Inc." msgstr "" @@ -4094,7 +4094,7 @@ msgstr "" #. type: textblock #: ../examples/guestfs-examples.pod:35 msgid "" -"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, " +"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, " "L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, " "L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgstr "" @@ -4532,7 +4532,7 @@ msgid "DOWNLOADING, INSTALLING, COMPILING LIBGUESTFS" msgstr "" #. type: =end -#: ../examples/guestfs-faq.pod:217 ../examples/guestfs-faq.pod:222 ../examples/guestfs-faq.pod:504 ../examples/guestfs-faq.pod:509 ../examples/guestfs-faq.pod:630 ../examples/guestfs-faq.pod:635 ../guestfs-release-notes.pod:14 ../guestfs-release-notes.pod:21 ../src/guestfs.pod:2839 ../src/guestfs.pod:2844 +#: ../examples/guestfs-faq.pod:217 ../examples/guestfs-faq.pod:222 ../examples/guestfs-faq.pod:504 ../examples/guestfs-faq.pod:509 ../examples/guestfs-faq.pod:630 ../examples/guestfs-faq.pod:635 ../guestfs-release-notes.pod:14 ../guestfs-release-notes.pod:21 ../src/guestfs.pod:2843 ../src/guestfs.pod:2848 msgid "html" msgstr "" @@ -5713,7 +5713,7 @@ msgid "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>." msgstr "" #. type: textblock -#: ../examples/guestfs-faq.pod:808 ../examples/guestfs-performance.pod:448 ../format/virt-format.pod:193 +#: ../examples/guestfs-faq.pod:808 ../examples/guestfs-performance.pod:448 ../format/virt-format.pod:193 ../lua/examples/guestfs-lua.pod:97 msgid "Copyright (C) 2012 Red Hat Inc." msgstr "" @@ -6009,7 +6009,7 @@ msgid "" msgstr "" #. type: =item -#: ../examples/guestfs-performance.pod:162 ../examples/guestfs-performance.pod:211 ../examples/guestfs-recipes.pod:288 ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:243 ../src/guestfs.pod:478 ../src/guestfs.pod:1349 ../src/guestfs.pod:1603 ../src/guestfs.pod:1850 ../src/guestfs.pod:3340 +#: ../examples/guestfs-performance.pod:162 ../examples/guestfs-performance.pod:211 ../examples/guestfs-recipes.pod:298 ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:243 ../src/guestfs.pod:478 ../src/guestfs.pod:1353 ../src/guestfs.pod:1607 ../src/guestfs.pod:1854 ../src/guestfs.pod:3344 msgid "1." msgstr "" @@ -6021,7 +6021,7 @@ msgid "" msgstr "" #. type: =item -#: ../examples/guestfs-performance.pod:168 ../examples/guestfs-performance.pod:218 ../examples/guestfs-recipes.pod:294 ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:250 ../src/guestfs.pod:484 ../src/guestfs.pod:1353 ../src/guestfs.pod:1607 ../src/guestfs.pod:1854 ../src/guestfs.pod:3365 +#: ../examples/guestfs-performance.pod:168 ../examples/guestfs-performance.pod:218 ../examples/guestfs-recipes.pod:304 ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:250 ../src/guestfs.pod:484 ../src/guestfs.pod:1357 ../src/guestfs.pod:1611 ../src/guestfs.pod:1858 ../src/guestfs.pod:3369 msgid "2." msgstr "" @@ -6036,7 +6036,7 @@ msgid "" msgstr "" #. type: =item -#: ../examples/guestfs-performance.pod:176 ../examples/guestfs-performance.pod:224 ../examples/guestfs-recipes.pod:300 ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:256 ../src/guestfs.pod:495 ../src/guestfs.pod:1357 ../src/guestfs.pod:1860 +#: ../examples/guestfs-performance.pod:176 ../examples/guestfs-performance.pod:224 ../examples/guestfs-recipes.pod:310 ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:256 ../src/guestfs.pod:495 ../src/guestfs.pod:1361 ../src/guestfs.pod:1864 msgid "3." msgstr "" @@ -6298,7 +6298,7 @@ msgid "Save the following script as C<time.stap>:" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2787 +#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2791 #, no-wrap msgid "" " global last;\n" @@ -6306,7 +6306,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:324 ../src/guestfs.pod:2789 +#: ../examples/guestfs-performance.pod:324 ../src/guestfs.pod:2793 #, no-wrap msgid "" " function display_time () {\n" @@ -6319,7 +6319,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:331 ../src/guestfs.pod:2796 +#: ../examples/guestfs-performance.pod:331 ../src/guestfs.pod:2800 #, no-wrap msgid "" " printf (\"%d (+%d):\", now, delta);\n" @@ -6328,7 +6328,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:334 ../src/guestfs.pod:2799 +#: ../examples/guestfs-performance.pod:334 ../src/guestfs.pod:2803 #, no-wrap msgid "" " probe begin {\n" @@ -6339,7 +6339,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:339 ../src/guestfs.pod:2804 +#: ../examples/guestfs-performance.pod:339 ../src/guestfs.pod:2808 #, no-wrap msgid "" " /* Display all calls to static markers. */\n" @@ -6448,7 +6448,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:394 ../fish/guestfish.pod:998 ../src/guestfs.pod:1113 +#: ../examples/guestfs-performance.pod:394 ../fish/guestfish.pod:998 ../src/guestfs.pod:1117 #, no-wrap msgid "" " #!/bin/bash -\n" @@ -6778,19 +6778,40 @@ msgstr "" #. type: =head1 #: ../examples/guestfs-recipes.pod:104 -msgid "Dump raw filesystem content from inside a disk image or VM" +msgid "Diff two guests; compare a snapshot to the current version" msgstr "" #. type: textblock #: ../examples/guestfs-recipes.pod:106 msgid "" +"L<virt-ls(1)> provides a simple way to find the differences between two " +"guests (for example if they were originally cloned from the same source), or " +"between two snapshots from the same guest. See L<virt-ls(1)/DIFFERENCES IN " +"SNAPSHOTS AND BACKING FILES>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:111 +msgid "" +"There are also experimental patches on the mailing list for a \"virt-diff\" " +"tool." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-recipes.pod:114 +msgid "Dump raw filesystem content from inside a disk image or VM" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:116 +msgid "" "You can use the L<guestfish(1)> C<download> command to extract the raw " "filesystem content from any filesystem in a disk image or a VM (even one " "which is encrypted or buried inside an LV or RAID device):" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:110 +#: ../examples/guestfs-recipes.pod:120 #, no-wrap msgid "" " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" @@ -6798,7 +6819,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:112 +#: ../examples/guestfs-recipes.pod:122 #, no-wrap msgid "" " guestfish --ro -d Guest run : download /dev/vg_guest/lv_root lv.img\n" @@ -6806,60 +6827,60 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:114 +#: ../examples/guestfs-recipes.pod:124 msgid "To download to stdout, replace the filename with a C<-> character:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:116 +#: ../examples/guestfs-recipes.pod:126 #, no-wrap msgid "" -" guestfish --ro -a disk.img run : download /dev/sda1 - | hexdump -C\n" +" guestfish --ro -a disk.img run : download /dev/sda1 - | gzip > sda1.gz\n" "\n" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:118 +#: ../examples/guestfs-recipes.pod:128 msgid "To list the filesystems in a disk image, use L<virt-filesystems(1)>." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:120 +#: ../examples/guestfs-recipes.pod:130 msgid "See also L</Uploading raw filesystem content>." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:122 +#: ../examples/guestfs-recipes.pod:132 msgid "Edit grub configuration in a VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:124 +#: ../examples/guestfs-recipes.pod:134 msgid "You can use this to:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:130 +#: ../examples/guestfs-recipes.pod:140 msgid "Fix a virtual machine that does not boot." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:134 +#: ../examples/guestfs-recipes.pod:144 msgid "Change which kernel is used to boot the VM." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:138 +#: ../examples/guestfs-recipes.pod:148 msgid "Change kernel command line options." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:142 +#: ../examples/guestfs-recipes.pod:152 msgid "Use L<virt-edit(1)> to edit the grub configuration:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:144 +#: ../examples/guestfs-recipes.pod:154 #, no-wrap msgid "" " virt-edit -d BrokenGuest /boot/grub2/grub.cfg\n" @@ -6867,14 +6888,14 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:146 +#: ../examples/guestfs-recipes.pod:156 msgid "" "or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like " "this:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:149 +#: ../examples/guestfs-recipes.pod:159 #, no-wrap msgid "" " virt-rescue -d BrokenGuest\n" @@ -6882,17 +6903,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:151 +#: ../examples/guestfs-recipes.pod:161 msgid "Export any directory from a VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:153 +#: ../examples/guestfs-recipes.pod:163 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:156 ../examples/guestfs-testing.pod:107 +#: ../examples/guestfs-recipes.pod:166 ../examples/guestfs-testing.pod:107 #, no-wrap msgid "" " virt-copy-out -d Guest /home .\n" @@ -6900,24 +6921,24 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:158 ../fish/guestfish-actions.pod:1699 ../fish/guestfish-actions.pod:2209 ../fish/guestfish-actions.pod:2801 ../src/guestfs-actions.pod:2781 ../src/guestfs-actions.pod:3584 ../src/guestfs-actions.pod:4465 ../src/guestfs.pod:2130 ../tools/virt-win-reg.pl:707 +#: ../examples/guestfs-recipes.pod:168 ../fish/guestfish-actions.pod:1699 ../fish/guestfish-actions.pod:2209 ../fish/guestfish-actions.pod:2801 ../src/guestfs-actions.pod:2781 ../src/guestfs-actions.pod:3584 ../src/guestfs-actions.pod:4465 ../src/guestfs.pod:2134 ../tools/virt-win-reg.pl:707 msgid "Notes:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:164 +#: ../examples/guestfs-recipes.pod:174 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:169 +#: ../examples/guestfs-recipes.pod:179 msgid "This creates a directory called C<home> under the current directory." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:173 +#: ../examples/guestfs-recipes.pod:183 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 " @@ -6925,7 +6946,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:177 +#: ../examples/guestfs-recipes.pod:187 #, no-wrap msgid "" " virt-copy-out -d WinGuest 'win:c:\\windows\\system32\\config' .\n" @@ -6933,12 +6954,12 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:179 +#: ../examples/guestfs-recipes.pod:189 msgid "To get the output as a compressed tarball, do:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:181 +#: ../examples/guestfs-recipes.pod:191 #, no-wrap msgid "" " virt-tar-out -d Guest /home - | gzip --best > home.tar.gz\n" @@ -6946,7 +6967,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:183 +#: ../examples/guestfs-recipes.pod:193 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: " @@ -6954,19 +6975,19 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:187 +#: ../examples/guestfs-recipes.pod:197 msgid "Find out which user is using the most space" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:189 +#: ../examples/guestfs-recipes.pod:199 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:192 +#: ../examples/guestfs-recipes.pod:202 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -6974,7 +6995,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:194 ../fish/guestfish.pod:1000 +#: ../examples/guestfs-recipes.pod:204 ../fish/guestfish.pod:1000 #, no-wrap msgid "" " set -e\n" @@ -6982,7 +7003,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:196 +#: ../examples/guestfs-recipes.pod:206 #, no-wrap msgid "" " vm=\"$1\"\n" @@ -6991,7 +7012,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:199 +#: ../examples/guestfs-recipes.pod:209 #, no-wrap msgid "" " eval $(guestfish --ro -d \"$vm\" -i --listen)\n" @@ -6999,7 +7020,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:201 +#: ../examples/guestfs-recipes.pod:211 #, no-wrap msgid "" " for d in $(guestfish --remote ls \"$dir\"); do\n" @@ -7011,7 +7032,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:207 ../fish/guestfish.pod:957 +#: ../examples/guestfs-recipes.pod:217 ../fish/guestfish.pod:957 #, no-wrap msgid "" " guestfish --remote exit\n" @@ -7019,41 +7040,41 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:209 +#: ../examples/guestfs-recipes.pod:219 msgid "Get DHCP address from a VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:211 +#: ../examples/guestfs-recipes.pod:221 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:214 +#: ../examples/guestfs-recipes.pod:224 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:216 +#: ../examples/guestfs-recipes.pod:226 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:219 +#: ../examples/guestfs-recipes.pod:229 msgid "Get the operating system product name string" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:221 +#: ../examples/guestfs-recipes.pod:231 msgid "Save the following script into a file called C<product-name.sh>:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:223 +#: ../examples/guestfs-recipes.pod:233 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -7066,12 +7087,12 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:230 +#: ../examples/guestfs-recipes.pod:240 msgid "Make the script executable and run it on a named guest:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:232 +#: ../examples/guestfs-recipes.pod:242 #, no-wrap msgid "" " # product-name.sh RHEL60x64\n" @@ -7080,14 +7101,14 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:235 +#: ../examples/guestfs-recipes.pod:245 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:239 +#: ../examples/guestfs-recipes.pod:249 #, no-wrap msgid "" " # virt-inspector RHEL60x64 > xml\n" @@ -7100,78 +7121,78 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:245 +#: ../examples/guestfs-recipes.pod:255 msgid "Get the default boot kernel for a Linux VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:247 +#: ../examples/guestfs-recipes.pod:257 msgid "" "The link below contains a program to print the default boot kernel for a " "Linux VM." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:250 +#: ../examples/guestfs-recipes.pod:260 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:252 +#: ../examples/guestfs-recipes.pod:262 msgid "" "It uses Augeas, and the technique is generally applicable for many different " "tasks, such as:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:259 +#: ../examples/guestfs-recipes.pod:269 msgid "listing the user accounts in the guest" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:263 +#: ../examples/guestfs-recipes.pod:273 msgid "what repositories is it configured to use" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:267 +#: ../examples/guestfs-recipes.pod:277 msgid "what NTP servers does it connect to" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:271 +#: ../examples/guestfs-recipes.pod:281 msgid "what were the boot messages last time it booted" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:275 +#: ../examples/guestfs-recipes.pod:285 msgid "listing who was logged in recently" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:279 +#: ../examples/guestfs-recipes.pod:289 msgid "L<http://augeas.net/>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:281 +#: ../examples/guestfs-recipes.pod:291 msgid "Hanging guests" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:283 +#: ../examples/guestfs-recipes.pod:293 msgid "" "There are various ways to use libguestfs to find out why a guest is hanging " "or unresponsive:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:290 +#: ../examples/guestfs-recipes.pod:300 msgid "Read the log files using virt-cat:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:292 +#: ../examples/guestfs-recipes.pod:302 #, no-wrap msgid "" " virt-cat Guest /var/log/messages | less\n" @@ -7179,37 +7200,74 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:296 +#: ../examples/guestfs-recipes.pod:306 msgid "Read the Windows Event Log (Windows Vista or later only):" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:298 ../examples/guestfs-recipes.pod:400 +#: ../examples/guestfs-recipes.pod:308 ../examples/guestfs-recipes.pod:423 msgid "L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-guestfish/#content>" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:302 +#: ../examples/guestfs-recipes.pod:312 msgid "Find out which files were last updated in a guest:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:304 +#: ../examples/guestfs-recipes.pod:314 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:306 +#: ../examples/guestfs-recipes.pod:316 msgid "This might give you a clue as to what program is running." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:310 +#: ../examples/guestfs-recipes.pod:320 +msgid "Hex-dumping sectors from the guest" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:322 +msgid "Hex-dump the boot partition:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-recipes.pod:324 +#, no-wrap +msgid "" +" guestfish --ro -a disk.img run : pread-device /dev/sda 0x200 0 |\n" +" hexdump -C\n" +"\n" +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-recipes.pod:327 +msgid "Hex-editing sectors in the guest" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:329 +msgid "Hex-edit the first sector (boot partition):" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-recipes.pod:331 +#, no-wrap +msgid "" +" guestfish --rw -a disk.img run : hexedit /dev/sda 0x200\n" +"\n" +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-recipes.pod:333 msgid "Install RPMs in a guest" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:312 +#: ../examples/guestfs-recipes.pod:335 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 " @@ -7218,29 +7276,29 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:318 +#: ../examples/guestfs-recipes.pod:341 msgid "L<https://rwmj.wordpress.com/2010/12/01/tip-install-rpms-in-a-guest/#content>" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:320 +#: ../examples/guestfs-recipes.pod:343 msgid "" "Since libguestfs 1.20, L<virt-sysprep(1)> has an option for installing " "firstboot scripts in Linux guests." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:323 +#: ../examples/guestfs-recipes.pod:346 msgid "List applications installed in a VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:325 +#: ../examples/guestfs-recipes.pod:348 msgid "Save the following to a file C<list-apps.sh>:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:327 +#: ../examples/guestfs-recipes.pod:350 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -7253,14 +7311,14 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:334 +#: ../examples/guestfs-recipes.pod:357 msgid "" "Make the file executable and then you can run it on any named virtual " "machine:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:337 +#: ../examples/guestfs-recipes.pod:360 #, no-wrap msgid "" " # list-apps.sh WinGuest\n" @@ -7296,7 +7354,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:367 +#: ../examples/guestfs-recipes.pod:390 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 " @@ -7304,22 +7362,22 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:371 +#: ../examples/guestfs-recipes.pod:394 msgid "List files and directories in a VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:373 +#: ../examples/guestfs-recipes.pod:396 msgid "Use L<virt-ls(1)>." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:375 +#: ../examples/guestfs-recipes.pod:398 msgid "List services in a Windows VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:377 +#: ../examples/guestfs-recipes.pod:400 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 " @@ -7327,44 +7385,44 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:381 +#: ../examples/guestfs-recipes.pod:404 msgid "L<https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/#content>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:383 +#: ../examples/guestfs-recipes.pod:406 msgid "Make a disk image sparse" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:385 +#: ../examples/guestfs-recipes.pod:408 msgid "Use L<virt-sparsify(1)>." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:387 +#: ../examples/guestfs-recipes.pod:410 msgid "Monitor disk usage over time" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:389 +#: ../examples/guestfs-recipes.pod:412 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:392 +#: ../examples/guestfs-recipes.pod:415 msgid "L<http://virt-tools.org/learning/advanced-virt-df/>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:394 +#: ../examples/guestfs-recipes.pod:417 msgid "Reading the Windows Event Log from Windows Vista (or later)" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:396 +#: ../examples/guestfs-recipes.pod:419 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 " @@ -7372,19 +7430,19 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:402 +#: ../examples/guestfs-recipes.pod:425 msgid "Remove root password (Linux)" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:404 +#: ../examples/guestfs-recipes.pod:427 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:407 +#: ../examples/guestfs-recipes.pod:430 #, no-wrap msgid "" " virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n" @@ -7392,12 +7450,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:409 +#: ../examples/guestfs-recipes.pod:432 msgid "Remove Administrator password (Windows)" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:411 +#: ../examples/guestfs-recipes.pod:434 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 " @@ -7405,17 +7463,17 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:416 +#: ../examples/guestfs-recipes.pod:439 msgid "L<https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-administrator-password-with-guestfish/>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:418 +#: ../examples/guestfs-recipes.pod:441 msgid "Sysprepping a virtual machine (Windows)" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:420 +#: ../examples/guestfs-recipes.pod:443 msgid "" "It is possible to do a \"sysprep\" using libguestfs alone, although not " "straightforward. Currently there is code in the Aeolus Oz project which " @@ -7424,19 +7482,19 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:425 +#: ../examples/guestfs-recipes.pod:448 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:428 +#: ../examples/guestfs-recipes.pod:451 msgid "Unpack a live CD" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:430 +#: ../examples/guestfs-recipes.pod:453 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 " @@ -7444,41 +7502,41 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:434 +#: ../examples/guestfs-recipes.pod:457 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:436 +#: ../examples/guestfs-recipes.pod:459 msgid "Uploading and downloading files" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:438 +#: ../examples/guestfs-recipes.pod:461 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:441 +#: ../examples/guestfs-recipes.pod:464 msgid "L<https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/#content>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:443 +#: ../examples/guestfs-recipes.pod:466 msgid "Uploading raw filesystem content" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:445 +#: ../examples/guestfs-recipes.pod:468 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:449 +#: ../examples/guestfs-recipes.pod:472 #, no-wrap msgid "" " guestfish --rw -a disk.img run : upload sda1.img /dev/sda1\n" @@ -7486,7 +7544,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:451 +#: ../examples/guestfs-recipes.pod:474 #, no-wrap msgid "" " guestfish --rw -d Guest run : upload lv.img /dev/vg_guest/lv_root\n" @@ -7494,7 +7552,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:453 +#: ../examples/guestfs-recipes.pod:476 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 - " @@ -7504,7 +7562,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:459 +#: ../examples/guestfs-recipes.pod:482 #, no-wrap msgid "" " guestfish --rw -d Guest run : \\\n" @@ -7514,34 +7572,34 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:463 +#: ../examples/guestfs-recipes.pod:486 msgid "(or use C<ntfsresize> if the filesystem is NTFS)." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:465 +#: ../examples/guestfs-recipes.pod:488 msgid "Use libguestfs tools on VMware ESX guests" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:467 +#: ../examples/guestfs-recipes.pod:490 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:471 +#: ../examples/guestfs-recipes.pod:494 msgid "L<https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-guests/#content>" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:475 +#: ../examples/guestfs-recipes.pod:498 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-python(3)>, L<guestfs-ruby(3)>, " -"L<http://libguestfs.org/>." +"L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, " +"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, " +"L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgstr "" #. type: textblock @@ -7598,7 +7656,7 @@ msgid "Run libguestfs-test-tool" msgstr "" #. type: textblock -#: ../examples/guestfs-testing.pod:32 ../examples/guestfs-testing.pod:145 ../src/guestfs.pod:3797 +#: ../examples/guestfs-testing.pod:32 ../examples/guestfs-testing.pod:145 ../src/guestfs.pod:3803 msgid "Run:" msgstr "" @@ -7672,7 +7730,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-testing.pod:68 ../examples/guestfs-testing.pod:175 ../examples/guestfs-testing.pod:188 ../examples/guestfs-testing.pod:248 ../src/guestfs.pod:3442 +#: ../examples/guestfs-testing.pod:68 ../examples/guestfs-testing.pod:175 ../examples/guestfs-testing.pod:188 ../examples/guestfs-testing.pod:248 ../lua/examples/guestfs-lua.pod:56 ../src/guestfs.pod:3446 msgid "or:" msgstr "" @@ -8543,7 +8601,7 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:152 ../src/guestfs-actions.pod:218 ../src/guestfs.pod:3660 +#: ../fish/guestfish-actions.pod:152 ../src/guestfs-actions.pod:218 ../src/guestfs.pod:3664 msgid "C<format>" msgstr "" @@ -11485,7 +11543,7 @@ msgid "You must call L</launch> before using this command." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:1572 ../src/guestfs-actions.pod:2587 ../src/guestfs.pod:1977 +#: ../fish/guestfish-actions.pod:1572 ../src/guestfs-actions.pod:2587 ../src/guestfs.pod:1981 msgid "" "This is mainly useful as a negative test. If this returns true, it doesn't " "mean that a particular filesystem can be mounted, since filesystems can fail " @@ -20061,7 +20119,7 @@ msgid "Possible attach methods are:" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:5647 ../src/guestfs-actions.pod:9096 ../src/guestfs.pod:3620 +#: ../fish/guestfish-actions.pod:5647 ../src/guestfs-actions.pod:9096 ../src/guestfs.pod:3624 msgid "C<appliance>" msgstr "" @@ -24459,7 +24517,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2828 +#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2832 #, no-wrap msgid "" " guestfish -N fs\n" @@ -26745,7 +26803,7 @@ msgid "COMMANDS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1195 ../src/guestfs.pod:1955 +#: ../fish/guestfish.pod:1195 ../src/guestfs.pod:1959 msgid "__ACTIONS__" msgstr "" @@ -26769,17 +26827,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1211 ../src/guestfs.pod:3949 +#: ../fish/guestfish.pod:1211 ../src/guestfs.pod:3955 msgid "FEBOOTSTRAP_KERNEL" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1213 ../src/guestfs.pod:3951 +#: ../fish/guestfish.pod:1213 ../src/guestfs.pod:3957 msgid "FEBOOTSTRAP_MODULES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1215 ../src/guestfs.pod:3953 +#: ../fish/guestfish.pod:1215 ../src/guestfs.pod:3959 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 " @@ -26847,17 +26905,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1247 ../src/guestfs.pod:3959 +#: ../fish/guestfish.pod:1247 ../src/guestfs.pod:3965 msgid "LIBGUESTFS_APPEND" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1249 ../src/guestfs.pod:3961 +#: ../fish/guestfish.pod:1249 ../src/guestfs.pod:3967 msgid "Pass additional options to the guest kernel." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1251 ../src/guestfs.pod:3963 +#: ../fish/guestfish.pod:1251 ../src/guestfs.pod:3969 msgid "LIBGUESTFS_ATTACH_METHOD" msgstr "" @@ -26869,12 +26927,12 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1256 ../src/guestfs.pod:3968 +#: ../fish/guestfish.pod:1256 ../src/guestfs.pod:3974 msgid "LIBGUESTFS_CACHEDIR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1258 ../src/guestfs.pod:3970 +#: ../fish/guestfish.pod:1258 ../src/guestfs.pod:3976 msgid "" "The location where libguestfs will cache its appliance, when using a " "supermin appliance. The appliance is cached and shared between all handles " @@ -26882,7 +26940,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1262 ../src/guestfs.pod:3974 +#: ../fish/guestfish.pod:1262 ../src/guestfs.pod:3980 msgid "" "If C<LIBGUESTFS_CACHEDIR> is not set, then C<TMPDIR> is used. If C<TMPDIR> " "is not set, then C</var/tmp> is used." @@ -26894,7 +26952,7 @@ msgid "See also L</LIBGUESTFS_TMPDIR>, L</set-cachedir>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1267 ../src/guestfs.pod:3979 +#: ../fish/guestfish.pod:1267 ../src/guestfs.pod:3985 msgid "LIBGUESTFS_DEBUG" msgstr "" @@ -26906,17 +26964,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1272 ../src/guestfs.pod:3984 +#: ../fish/guestfish.pod:1272 ../src/guestfs.pod:3990 msgid "LIBGUESTFS_MEMSIZE" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1274 ../src/guestfs.pod:3986 +#: ../fish/guestfish.pod:1274 ../src/guestfs.pod:3992 msgid "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1277 ../src/guestfs.pod:3989 +#: ../fish/guestfish.pod:1277 ../src/guestfs.pod:3995 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -26924,7 +26982,7 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1279 ../src/guestfs.pod:3991 +#: ../fish/guestfish.pod:1279 ../src/guestfs.pod:3997 msgid "LIBGUESTFS_PATH" msgstr "" @@ -26936,31 +26994,31 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1284 ../src/guestfs.pod:3996 +#: ../fish/guestfish.pod:1284 ../src/guestfs.pod:4002 msgid "LIBGUESTFS_QEMU" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1286 ../src/guestfs.pod:3998 +#: ../fish/guestfish.pod:1286 ../src/guestfs.pod:4004 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:1290 ../src/guestfs.pod:4004 +#: ../fish/guestfish.pod:1290 ../src/guestfs.pod:4010 msgid "LIBGUESTFS_TMPDIR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1292 ../src/guestfs.pod:4006 +#: ../fish/guestfish.pod:1292 ../src/guestfs.pod:4012 msgid "" "The location where libguestfs will store temporary files used by each " "handle." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1295 ../src/guestfs.pod:4009 +#: ../fish/guestfish.pod:1295 ../src/guestfs.pod:4015 msgid "" "If C<LIBGUESTFS_TMPDIR> is not set, then C<TMPDIR> is used. If C<TMPDIR> is " "not set, then C</tmp> is used." @@ -26972,7 +27030,7 @@ msgid "See also L</LIBGUESTFS_CACHEDIR>, L</set-tmpdir>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1300 ../src/guestfs.pod:4014 +#: ../fish/guestfish.pod:1300 ../src/guestfs.pod:4020 msgid "LIBGUESTFS_TRACE" msgstr "" @@ -26994,12 +27052,12 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1309 ../sparsify/virt-sparsify.pod:276 ../src/guestfs.pod:4019 +#: ../fish/guestfish.pod:1309 ../sparsify/virt-sparsify.pod:276 ../src/guestfs.pod:4025 msgid "TMPDIR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1311 ../src/guestfs.pod:4021 +#: ../fish/guestfish.pod:1311 ../src/guestfs.pod:4027 msgid "See L</LIBGUESTFS_CACHEDIR>, L</LIBGUESTFS_TMPDIR>." msgstr "" @@ -28944,7 +29002,7 @@ msgid "Code for temporarily ignoring/disabling errors now looks like this:" msgstr "" #. type: verbatim -#: ../guestfs-release-notes.pod:370 ../src/guestfs.pod:1920 +#: ../guestfs-release-notes.pod:370 ../src/guestfs.pod:1924 #, no-wrap msgid "" " guestfs_push_error_handler (g, NULL, NULL);\n" @@ -33530,9 +33588,151 @@ msgstr "" #: ../java/examples/guestfs-java.pod:47 msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, " -"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, " -"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, " -"L<http://caml.inria.fr/>." +"L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, " +"L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, " +"L<http://libguestfs.org/>, L<http://caml.inria.fr/>." +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:5 +msgid "guestfs-lua - How to use libguestfs from Lua" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:9 +#, no-wrap +msgid "" +" require \"guestfs\"\n" +" g = Guestfs.create ()\n" +" g:add_drive (\"test.img\", { format = \"raw\", readonly = \"true\" })\n" +" g:launch ()\n" +" devices = g:list_devices ()\n" +" g:close ()\n" +"\n" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:18 +msgid "" +"This manual page documents how to call libguestfs from the Lua programming " +"language. This page just documents the differences from the C API and gives " +"some examples. If you are not familiar with using libguestfs, you also need " +"to read L<guestfs(3)>." +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:25 +msgid "To create a new handle, call:" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:27 +#, no-wrap +msgid "" +" g = Guestfs.create ()\n" +"\n" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:29 +msgid "You can also use the optional arguments:" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:31 +#, no-wrap +msgid "" +" g = Guestfs.create { environment = 0, close_on_exit = 0 }\n" +"\n" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:33 +msgid "" +"to set the flags C<GUESTFS_CREATE_NO_ENVIRONMENT> and/or " +"C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>." +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:36 +msgid "" +"The handle will be closed by the garbage collector, but you can also close " +"it explicitly by doing:" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:39 +#, no-wrap +msgid "" +" g:close ()\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../lua/examples/guestfs-lua.pod:41 +msgid "CALLING METHODS" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:43 +msgid "" +"Use the ordinary Lua convention for calling methods on the handle. For " +"example:" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:46 +#, no-wrap +msgid "" +" g:set_verbose (true)\n" +"\n" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:50 +msgid "" +"For functions that take optional arguments, the first arguments are the " +"non-optional ones. The optional final argument is a table supplying the " +"optional arguments." +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:54 +#, no-wrap +msgid "" +" g:add_drive (\"test.img\")\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:58 +#, no-wrap +msgid "" +" g:add_drive (\"test.img\", { format = \"raw\", readonly = \"true\" })\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../lua/examples/guestfs-lua.pod:60 +msgid "64 BIT VALUES" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:62 +msgid "" +"Currently 64 bit values must be passed as strings, and are returned as " +"strings. This is because 32 bit Lua cannot handle 64 bit integers " +"properly. We hope to come up with a better solution later." +msgstr "" + +#. type: =head2 +#: ../lua/examples/guestfs-lua.pod:66 ../perl/examples/guestfs-perl.pod:27 +msgid "ERRORS" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:68 +msgid "Errors are converted into exceptions. Use C<pcall> to catch these." msgstr "" #. type: textblock @@ -33675,9 +33875,9 @@ msgstr "" #: ../ocaml/examples/guestfs-ocaml.pod:80 msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, " -"L<guestfs-java(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, " -"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, " -"L<http://caml.inria.fr/>." +"L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-perl(3)>, " +"L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, " +"L<http://libguestfs.org/>, L<http://caml.inria.fr/>." msgstr "" #. type: textblock @@ -33716,11 +33916,6 @@ msgid "" "to read L<guestfs(3)>. To read the full Perl API, see L<Sys::Guestfs(3)>." msgstr "" -#. type: =head2 -#: ../perl/examples/guestfs-perl.pod:27 -msgid "ERRORS" -msgstr "" - #. type: textblock #: ../perl/examples/guestfs-perl.pod:29 msgid "" @@ -33732,9 +33927,9 @@ msgstr "" #: ../perl/examples/guestfs-perl.pod:42 msgid "" "L<Sys::Guestfs(3)>, L<guestfs(3)>, L<guestfs-examples(3)>, " -"L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, " -"L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, " -"L<http://libguestfs.org/>." +"L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, " +"L<guestfs-ocaml(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " +"L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgstr "" #. type: textblock @@ -33793,8 +33988,9 @@ msgstr "" #: ../python/examples/guestfs-python.pod:44 msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, " -"L<guestfs-java(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, " -"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." +"L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, " +"L<guestfs-perl(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, " +"L<http://libguestfs.org/>." msgstr "" #. type: textblock @@ -35654,8 +35850,9 @@ msgstr "" #: ../ruby/examples/guestfs-ruby.pod:38 msgid "" "L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." +"L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, " +"L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " +"L<http://libguestfs.org/>." msgstr "" #. type: textblock @@ -51133,83 +51330,93 @@ msgstr "" #. type: =item #: ../src/guestfs.pod:883 -msgid "B<OCaml>" +msgid "B<Lua>" msgstr "" #. type: textblock #: ../src/guestfs.pod:885 -msgid "See L<guestfs-ocaml(3)>." +msgid "See L<guestfs-lua(3)>." msgstr "" #. type: =item #: ../src/guestfs.pod:887 -msgid "B<Perl>" +msgid "B<OCaml>" msgstr "" #. type: textblock #: ../src/guestfs.pod:889 -msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>." +msgid "See L<guestfs-ocaml(3)>." msgstr "" #. type: =item #: ../src/guestfs.pod:891 -msgid "B<PHP>" +msgid "B<Perl>" msgstr "" #. type: textblock #: ../src/guestfs.pod:893 +msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>." +msgstr "" + +#. type: =item +#: ../src/guestfs.pod:895 +msgid "B<PHP>" +msgstr "" + +#. type: textblock +#: ../src/guestfs.pod:897 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:896 +#: ../src/guestfs.pod:900 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "" #. type: =item -#: ../src/guestfs.pod:898 +#: ../src/guestfs.pod:902 msgid "B<Python>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:900 +#: ../src/guestfs.pod:904 msgid "See L<guestfs-python(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:902 +#: ../src/guestfs.pod:906 msgid "B<Ruby>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:904 +#: ../src/guestfs.pod:908 msgid "See L<guestfs-ruby(3)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:906 +#: ../src/guestfs.pod:910 msgid "For JRuby, use the Java bindings." msgstr "" #. type: =item -#: ../src/guestfs.pod:908 +#: ../src/guestfs.pod:912 msgid "B<shell scripts>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:910 +#: ../src/guestfs.pod:914 msgid "See L<guestfish(1)>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:914 +#: ../src/guestfs.pod:918 msgid "LIBGUESTFS GOTCHAS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:920 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 " @@ -51217,7 +51424,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:920 +#: ../src/guestfs.pod:924 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -51226,19 +51433,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:928 +#: ../src/guestfs.pod:932 msgid "Autosync / forgetting to sync." msgstr "" #. type: textblock -#: ../src/guestfs.pod:930 +#: ../src/guestfs.pod:934 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:933 +#: ../src/guestfs.pod:937 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 " @@ -51246,7 +51453,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:937 +#: ../src/guestfs.pod:941 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -51254,7 +51461,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:939 +#: ../src/guestfs.pod:943 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> " @@ -51262,7 +51469,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:943 +#: ../src/guestfs.pod:947 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 " @@ -51270,7 +51477,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:947 +#: ../src/guestfs.pod:951 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 " @@ -51278,19 +51485,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:951 +#: ../src/guestfs.pod:955 msgid "Mount option C<-o sync> should not be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:957 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:956 +#: ../src/guestfs.pod:960 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 " @@ -51298,31 +51505,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:960 +#: ../src/guestfs.pod:964 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:963 +#: ../src/guestfs.pod:967 msgid "Read-only should be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:965 +#: ../src/guestfs.pod:969 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:968 +#: ../src/guestfs.pod:972 msgid "This would reduce the potential to corrupt live VM images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:974 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 " @@ -51330,12 +51537,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:974 +#: ../src/guestfs.pod:978 msgid "guestfish command line is hard to use." msgstr "" #. type: textblock -#: ../src/guestfs.pod:976 +#: ../src/guestfs.pod:980 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 " @@ -51345,12 +51552,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:983 +#: ../src/guestfs.pod:987 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" #. type: textblock -#: ../src/guestfs.pod:985 +#: ../src/guestfs.pod:989 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 " @@ -51360,12 +51567,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:992 +#: ../src/guestfs.pod:996 msgid "The most common is L</guestfs_lvcreate>. The guestfish command:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:994 +#: ../src/guestfs.pod:998 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -51373,7 +51580,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:996 +#: ../src/guestfs.pod:1000 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 " @@ -51382,19 +51589,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1001 +#: ../src/guestfs.pod:1005 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:1004 +#: ../src/guestfs.pod:1008 msgid "Ambiguity between devices and paths" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1006 +#: ../src/guestfs.pod:1010 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 " @@ -51402,7 +51609,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1011 +#: ../src/guestfs.pod:1015 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>. " @@ -51411,7 +51618,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1017 +#: ../src/guestfs.pod:1021 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 " @@ -51421,7 +51628,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1023 +#: ../src/guestfs.pod:1027 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -51429,12 +51636,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1025 +#: ../src/guestfs.pod:1029 msgid "which would allow you to pass arguments like:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1027 +#: ../src/guestfs.pod:1031 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -51445,26 +51652,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1032 +#: ../src/guestfs.pod:1036 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:1037 +#: ../src/guestfs.pod:1041 msgid "KEYS AND PASSPHRASES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1039 +#: ../src/guestfs.pod:1043 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1042 +#: ../src/guestfs.pod:1046 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 " @@ -51473,7 +51680,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1047 +#: ../src/guestfs.pod:1051 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, " @@ -51481,19 +51688,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1052 +#: ../src/guestfs.pod:1056 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1054 +#: ../src/guestfs.pod:1058 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:1057 +#: ../src/guestfs.pod:1061 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 " @@ -51501,33 +51708,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1061 +#: ../src/guestfs.pod:1065 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1064 +#: ../src/guestfs.pod:1068 msgid "PATH" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1066 +#: ../src/guestfs.pod:1070 msgid "" "Libguestfs needs a supermin appliance, which it finds by looking along an " "internal path." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1069 +#: ../src/guestfs.pod:1073 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:1072 +#: ../src/guestfs.pod:1076 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 " @@ -51538,12 +51745,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1079 +#: ../src/guestfs.pod:1083 msgid "QEMU WRAPPERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1081 +#: ../src/guestfs.pod:1085 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 " @@ -51551,7 +51758,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1085 +#: ../src/guestfs.pod:1089 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 " @@ -51560,14 +51767,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1090 +#: ../src/guestfs.pod:1094 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:1093 +#: ../src/guestfs.pod:1097 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -51578,7 +51785,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1097 +#: ../src/guestfs.pod:1101 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 " @@ -51586,7 +51793,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1101 +#: ../src/guestfs.pod:1105 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -51594,14 +51801,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1103 +#: ../src/guestfs.pod:1107 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1106 +#: ../src/guestfs.pod:1110 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 " @@ -51611,7 +51818,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1115 +#: ../src/guestfs.pod:1119 #, no-wrap msgid "" " i=0\n" @@ -51629,7 +51836,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1127 +#: ../src/guestfs.pod:1131 #, no-wrap msgid "" " exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n" @@ -51637,19 +51844,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1129 +#: ../src/guestfs.pod:1133 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1131 +#: ../src/guestfs.pod:1135 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:1134 +#: ../src/guestfs.pod:1138 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 " @@ -51657,12 +51864,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1138 +#: ../src/guestfs.pod:1142 msgid "Using guestfs_set_attach_method" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1140 +#: ../src/guestfs.pod:1144 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 " @@ -51670,7 +51877,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1144 +#: ../src/guestfs.pod:1148 msgid "" "The normal attach method is C<appliance>, where a small appliance is created " "containing the daemon, and then the library connects to this. C<libvirt> or " @@ -51678,7 +51885,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1149 +#: ../src/guestfs.pod:1153 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 " @@ -51686,7 +51893,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1153 +#: ../src/guestfs.pod:1157 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 " @@ -51694,12 +51901,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1157 +#: ../src/guestfs.pod:1161 msgid "Using guestfs_add_domain with live flag" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1159 +#: ../src/guestfs.pod:1163 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 " @@ -51708,7 +51915,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1165 +#: ../src/guestfs.pod:1169 #, no-wrap msgid "" " <domain>\n" @@ -51726,14 +51933,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1177 +#: ../src/guestfs.pod:1181 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:1180 +#: ../src/guestfs.pod:1184 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 " @@ -51741,19 +51948,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1184 +#: ../src/guestfs.pod:1188 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:1188 +#: ../src/guestfs.pod:1192 msgid "ABI GUARANTEE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1190 +#: ../src/guestfs.pod:1194 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -51763,12 +51970,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1196 +#: ../src/guestfs.pod:1200 msgid "BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1198 +#: ../src/guestfs.pod:1202 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 " @@ -51783,7 +51990,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1210 +#: ../src/guestfs.pod:1214 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 " @@ -51791,7 +51998,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1214 +#: ../src/guestfs.pod:1218 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 " @@ -51799,7 +52006,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1219 +#: ../src/guestfs.pod:1223 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 " @@ -51808,7 +52015,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1229 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 " @@ -51817,12 +52024,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1230 +#: ../src/guestfs.pod:1234 msgid "DISK LABELS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1232 +#: ../src/guestfs.pod:1236 msgid "" "In libguestfs E<ge> 1.20, you can give a label to a disk when you add it, " "using the optional C<label> parameter to L</guestfs_add_drive_opts>. (Note " @@ -51830,14 +52037,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1237 +#: ../src/guestfs.pod:1241 msgid "" "Not all versions of libguestfs support setting a disk label, and when it is " "supported, it is limited to 20 ASCII characters C<[a-zA-Z]>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1240 +#: ../src/guestfs.pod:1244 msgid "" "When you add a disk with a label, it can either be addressed using " "C</dev/sd*>, or using C</dev/disk/guestfs/I<label>>. Partitions on the disk " @@ -51845,7 +52052,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1245 +#: ../src/guestfs.pod:1249 msgid "" "Listing devices (L</guestfs_list_devices>) and partitions " "(L</guestfs_list_partitions>) returns the raw block device name. However " @@ -51854,12 +52061,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1250 +#: ../src/guestfs.pod:1254 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1252 +#: ../src/guestfs.pod:1256 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 " @@ -51869,7 +52076,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1258 +#: ../src/guestfs.pod:1262 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 " @@ -51877,54 +52084,54 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1266 +#: ../src/guestfs.pod:1270 msgid "Is the string a parameter which is a device or partition name?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1270 +#: ../src/guestfs.pod:1274 msgid "Does the string begin with C</dev/sd>?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1274 +#: ../src/guestfs.pod:1278 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:1279 +#: ../src/guestfs.pod:1283 msgid "Replace initial C</dev/sd> string with C</dev/hd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1281 +#: ../src/guestfs.pod:1285 msgid "For example, change C</dev/sda2> to C</dev/hda2>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1283 +#: ../src/guestfs.pod:1287 msgid "If that named device exists, use it. If not, continue." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1287 +#: ../src/guestfs.pod:1291 msgid "Replace initial C</dev/sd> string with C</dev/vd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1289 +#: ../src/guestfs.pod:1293 msgid "If that named device exists, use it. If not, return an error." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1293 +#: ../src/guestfs.pod:1297 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1295 +#: ../src/guestfs.pod:1299 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 " @@ -51932,38 +52139,38 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1299 +#: ../src/guestfs.pod:1303 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1306 +#: ../src/guestfs.pod:1310 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:1309 +#: ../src/guestfs.pod:1313 msgid "Since those device names exist by definition, they will never be translated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1314 +#: ../src/guestfs.pod:1318 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1319 +#: ../src/guestfs.pod:1323 msgid "NULL DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1321 +#: ../src/guestfs.pod:1325 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 " @@ -51971,46 +52178,46 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1325 +#: ../src/guestfs.pod:1329 msgid "A null disk has the following properties:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1331 +#: ../src/guestfs.pod:1335 msgid "" "A null disk will appear as a normal device, eg. in calls to " "L</guestfs_list_devices>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1336 +#: ../src/guestfs.pod:1340 msgid "You may add C<\"/dev/null\"> multiple times." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1340 +#: ../src/guestfs.pod:1344 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:1345 +#: ../src/guestfs.pod:1349 msgid "Null disks are used for three main purposes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1355 msgid "Performance testing of libguestfs (see L<guestfs-performance(1)>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1355 +#: ../src/guestfs.pod:1359 msgid "The internal test suite." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1363 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 " @@ -52018,12 +52225,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1363 +#: ../src/guestfs.pod:1367 msgid "For example, to test if a feature is available, use code like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1365 +#: ../src/guestfs.pod:1369 #, no-wrap msgid "" " guestfs_h *g;\n" @@ -52032,7 +52239,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1368 +#: ../src/guestfs.pod:1372 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -52048,19 +52255,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1380 +#: ../src/guestfs.pod:1384 msgid "DISK IMAGE FORMATS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1386 msgid "" "Virtual disks come in a variety of formats. Some common formats are listed " "below." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1385 +#: ../src/guestfs.pod:1389 msgid "" "Note that libguestfs itself is not responsible for handling the disk format: " "this is done using L<qemu(1)>. If support for a particular format is " @@ -52068,24 +52275,24 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1389 +#: ../src/guestfs.pod:1393 msgid "COMMON VIRTUAL DISK IMAGE FORMATS" msgstr "" #. type: =item -#: ../src/guestfs.pod:1393 +#: ../src/guestfs.pod:1397 msgid "I<raw>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1395 +#: ../src/guestfs.pod:1399 msgid "" "Raw format is simply a dump of the sequential bytes of the virtual hard " "disk. There is no header, container, compression or processing of any sort." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1399 +#: ../src/guestfs.pod:1403 msgid "" "Since raw format requires no translation to read or write, it is both fast " "and very well supported by qemu and all other hypervisors. You can consider " @@ -52093,7 +52300,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1404 +#: ../src/guestfs.pod:1408 msgid "" "Raw format files are not compressed and so take up the full space of the " "original disk image even when they are empty. A variation (on Linux/Unix at " @@ -52104,12 +52311,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1411 +#: ../src/guestfs.pod:1415 msgid "I<qcow2>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1413 +#: ../src/guestfs.pod:1417 msgid "" "Qcow2 is the native disk image format used by qemu. Internally it uses a " "two-level directory structure so that only blocks containing data are stored " @@ -52118,19 +52325,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1418 +#: ../src/guestfs.pod:1422 msgid "" "There are at least two distinct variants of this format, although qemu (and " "hence libguestfs) handles both transparently to the user." msgstr "" #. type: =item -#: ../src/guestfs.pod:1421 +#: ../src/guestfs.pod:1425 msgid "I<vmdk>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1423 +#: ../src/guestfs.pod:1427 msgid "" "VMDK is VMware's native disk image format. There are many variations. " "Modern qemu (hence libguestfs) supports most variations, but you should be " @@ -52139,7 +52346,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1428 +#: ../src/guestfs.pod:1432 msgid "" "Note that VMware ESX exposes files with the name C<guest-flat.vmdk>. These " "are not VMDK. They are raw format files which happen to have a C<.vmdk> " @@ -52147,53 +52354,53 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1432 +#: ../src/guestfs.pod:1436 msgid "I<vdi>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1434 +#: ../src/guestfs.pod:1438 msgid "" "VDI is VirtualBox's native disk image format. Qemu (hence libguestfs) has " "generally good support for this." msgstr "" #. type: =item -#: ../src/guestfs.pod:1437 +#: ../src/guestfs.pod:1441 msgid "I<vpc>" msgstr "" #. type: =item -#: ../src/guestfs.pod:1439 +#: ../src/guestfs.pod:1443 msgid "I<vhd>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1441 +#: ../src/guestfs.pod:1445 msgid "" "VPC (old) and VHD (modern) are the native disk image format of Microsoft " "(and previously, Connectix) Virtual PC and Hyper-V." msgstr "" #. type: =item -#: ../src/guestfs.pod:1444 +#: ../src/guestfs.pod:1448 msgid "Obsolete formats" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1446 +#: ../src/guestfs.pod:1450 msgid "" "The following formats are obsolete and should not be used: I<qcow> (aka " "I<qcow1>), I<cow>, I<bochs>." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1451 +#: ../src/guestfs.pod:1455 msgid "DETECTING THE FORMAT OF A DISK IMAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1453 +#: ../src/guestfs.pod:1457 msgid "" "Firstly note there is a security issue with auto-detecting the format of a " "disk image. It may or may not apply in your use case. Read " @@ -52201,14 +52408,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1457 +#: ../src/guestfs.pod:1461 msgid "" "Libguestfs offers an API to get the format of a disk image " "(L</guestfs_disk_format>, and it is safest to use this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1460 +#: ../src/guestfs.pod:1464 msgid "" "I<Don't> be tempted to try parsing the text / human-readable output of " "C<qemu-img> since it cannot be parsed reliably and securely. Also do not " @@ -52216,24 +52423,24 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1465 ../sysprep/virt-sysprep.pod:424 +#: ../src/guestfs.pod:1469 ../sysprep/virt-sysprep.pod:424 msgid "SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1467 +#: ../src/guestfs.pod:1471 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1470 +#: ../src/guestfs.pod:1474 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1472 +#: ../src/guestfs.pod:1476 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 " @@ -52243,42 +52450,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1482 +#: ../src/guestfs.pod:1486 msgid "the data (file etc) not being present" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1486 +#: ../src/guestfs.pod:1490 msgid "being present but empty" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1490 +#: ../src/guestfs.pod:1494 msgid "being much larger than normal" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1494 +#: ../src/guestfs.pod:1498 msgid "containing arbitrary 8 bit data" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1498 +#: ../src/guestfs.pod:1502 msgid "being in an unexpected character encoding" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1502 +#: ../src/guestfs.pod:1506 msgid "containing homoglyphs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1506 +#: ../src/guestfs.pod:1510 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1508 +#: ../src/guestfs.pod:1512 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -52294,7 +52501,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1521 +#: ../src/guestfs.pod:1525 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 " @@ -52308,19 +52515,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1536 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:1535 +#: ../src/guestfs.pod:1539 msgid "PROTOCOL SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1537 +#: ../src/guestfs.pod:1541 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 " @@ -52330,12 +52537,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1543 +#: ../src/guestfs.pod:1547 msgid "INSPECTION SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1545 +#: ../src/guestfs.pod:1549 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 " @@ -52344,7 +52551,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1551 +#: ../src/guestfs.pod:1555 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -52355,7 +52562,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1559 +#: ../src/guestfs.pod:1563 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -52365,12 +52572,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1565 +#: ../src/guestfs.pod:1569 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1567 +#: ../src/guestfs.pod:1571 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 " @@ -52380,24 +52587,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1573 +#: ../src/guestfs.pod:1577 msgid "CVE-2010-3851" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1575 +#: ../src/guestfs.pod:1579 msgid "L<https://bugzilla.redhat.com/642934>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1577 +#: ../src/guestfs.pod:1581 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1580 +#: ../src/guestfs.pod:1584 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 " @@ -52406,7 +52613,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1585 +#: ../src/guestfs.pod:1589 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 " @@ -52415,7 +52622,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1590 +#: ../src/guestfs.pod:1594 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 " @@ -52427,24 +52634,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1598 +#: ../src/guestfs.pod:1602 msgid "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1605 +#: ../src/guestfs.pod:1609 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1613 msgid "" "You are also running untrusted code from the guest (see L</RUNNING " "COMMANDS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1614 +#: ../src/guestfs.pod:1618 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 " @@ -52453,31 +52660,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1620 +#: ../src/guestfs.pod:1624 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:1623 +#: ../src/guestfs.pod:1627 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1626 +#: ../src/guestfs.pod:1630 msgid "CONNECTION MANAGEMENT" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1628 +#: ../src/guestfs.pod:1632 msgid "guestfs_h *" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1630 +#: ../src/guestfs.pod:1634 msgid "" "C<guestfs_h> is the opaque type representing a connection handle. Create a " "handle by calling L</guestfs_create> or L</guestfs_create_flags>. Call " @@ -52485,19 +52692,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1635 +#: ../src/guestfs.pod:1639 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:1638 +#: ../src/guestfs.pod:1642 msgid "guestfs_create" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1640 +#: ../src/guestfs.pod:1644 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -52505,19 +52712,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1642 +#: ../src/guestfs.pod:1646 msgid "Create a connection handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1644 ../src/guestfs.pod:1663 +#: ../src/guestfs.pod:1648 ../src/guestfs.pod:1667 msgid "" "On success this returns a non-NULL pointer to a handle. On error it returns " "NULL." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1647 +#: ../src/guestfs.pod:1651 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 " @@ -52525,24 +52732,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1651 +#: ../src/guestfs.pod:1655 msgid "After configuring the handle, you have to call L</guestfs_launch>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1653 +#: ../src/guestfs.pod:1657 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:1656 +#: ../src/guestfs.pod:1660 msgid "guestfs_create_flags" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1658 +#: ../src/guestfs.pod:1662 #, no-wrap msgid "" " guestfs_h *guestfs_create_flags (unsigned flags [, ...]);\n" @@ -52550,36 +52757,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1660 +#: ../src/guestfs.pod:1664 msgid "" "Create a connection handle, supplying extra flags and extra arguments to " "control how the handle is created." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1666 +#: ../src/guestfs.pod:1670 msgid "L</guestfs_create> is equivalent to calling C<guestfs_create_flags(0)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1672 msgid "" "The following flags may be logically ORed together. (Currently no extra " "arguments are used)." msgstr "" #. type: =item -#: ../src/guestfs.pod:1673 +#: ../src/guestfs.pod:1677 msgid "C<GUESTFS_CREATE_NO_ENVIRONMENT>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1675 +#: ../src/guestfs.pod:1679 msgid "Don't parse any environment variables (such as C<LIBGUESTFS_DEBUG> etc)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1677 +#: ../src/guestfs.pod:1681 msgid "" "You can call L</guestfs_parse_environment> or " "L</guestfs_parse_environment_list> afterwards to parse environment " @@ -52588,45 +52795,45 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1682 +#: ../src/guestfs.pod:1686 msgid "" "The default (if this flag is not given) is to implicitly call " "L</guestfs_parse_environment>." msgstr "" #. type: =item -#: ../src/guestfs.pod:1685 +#: ../src/guestfs.pod:1689 msgid "C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1687 +#: ../src/guestfs.pod:1691 msgid "" "Don't try to close the handle in an L<atexit(3)> handler if the program " "exits without explicitly closing the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1690 +#: ../src/guestfs.pod:1694 msgid "" "The default (if this flag is not given) is to install such an atexit " "handler." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1695 +#: ../src/guestfs.pod:1699 msgid "USING C<GUESTFS_CREATE_NO_ENVIRONMENT>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1697 +#: ../src/guestfs.pod:1701 msgid "" "You might use C<GUESTFS_CREATE_NO_ENVIRONMENT> and an explicit call to " "L</guestfs_parse_environment> like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1700 +#: ../src/guestfs.pod:1704 #, no-wrap msgid "" " guestfs_h *g;\n" @@ -52635,7 +52842,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1703 +#: ../src/guestfs.pod:1707 #, no-wrap msgid "" " g = guestfs_create_flags (GUESTFS_CREATE_NO_ENVIRONMENT);\n" @@ -52650,14 +52857,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1712 +#: ../src/guestfs.pod:1716 msgid "" "Or to create a handle which is unaffected by environment variables, omit the " "call to C<guestfs_parse_environment> from the above code." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1715 +#: ../src/guestfs.pod:1719 msgid "" "The above code has another advantage which is that any errors from parsing " "the environment are passed through the error handler, whereas " @@ -52665,12 +52872,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1719 +#: ../src/guestfs.pod:1723 msgid "guestfs_close" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1721 +#: ../src/guestfs.pod:1725 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -52678,19 +52885,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1723 +#: ../src/guestfs.pod:1727 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:1726 +#: ../src/guestfs.pod:1730 msgid "The correct way to close the handle is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1728 +#: ../src/guestfs.pod:1732 #, no-wrap msgid "" " if (guestfs_shutdown (g) == -1) {\n" @@ -52701,51 +52908,51 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1733 +#: ../src/guestfs.pod:1737 msgid "L</guestfs_shutdown> is only needed if B<all> of the following are true:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1739 +#: ../src/guestfs.pod:1743 msgid "one or more disks were added in read-write mode, I<and>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1743 +#: ../src/guestfs.pod:1747 msgid "guestfs_launch was called, I<and>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1747 +#: ../src/guestfs.pod:1751 msgid "you made some changes, I<and>" msgstr "" #. type: =item -#: ../src/guestfs.pod:1749 +#: ../src/guestfs.pod:1753 msgid "4" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1751 +#: ../src/guestfs.pod:1755 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:1756 +#: ../src/guestfs.pod:1760 msgid "ERROR HANDLING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1758 +#: ../src/guestfs.pod:1762 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:1761 +#: ../src/guestfs.pod:1765 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 " @@ -52753,7 +52960,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1765 +#: ../src/guestfs.pod:1769 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 " @@ -52761,7 +52968,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1770 +#: ../src/guestfs.pod:1774 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 " @@ -52769,7 +52976,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1774 +#: ../src/guestfs.pod:1778 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -52778,14 +52985,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1777 +#: ../src/guestfs.pod:1781 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:1780 +#: ../src/guestfs.pod:1784 msgid "" "For other programs the caller will almost certainly want to install an " "alternate error handler or do error handling in-line as in the example " @@ -52794,7 +53001,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1789 #, no-wrap msgid "" " const char *msg;\n" @@ -52803,7 +53010,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1788 +#: ../src/guestfs.pod:1792 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -52813,7 +53020,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1792 +#: ../src/guestfs.pod:1796 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -52825,7 +53032,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1798 +#: ../src/guestfs.pod:1802 #, no-wrap msgid "" " fprintf (stderr, \"%s\", msg);\n" @@ -52836,7 +53043,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1803 +#: ../src/guestfs.pod:1807 #, no-wrap msgid "" " /* ... */\n" @@ -52845,7 +53052,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1806 +#: ../src/guestfs.pod:1810 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 " @@ -52856,7 +53063,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1813 +#: ../src/guestfs.pod:1817 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 " @@ -52864,12 +53071,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1817 +#: ../src/guestfs.pod:1821 msgid "guestfs_last_error" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1819 +#: ../src/guestfs.pod:1823 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -52877,14 +53084,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1821 +#: ../src/guestfs.pod:1825 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:1825 +#: ../src/guestfs.pod:1829 msgid "" "Note the returned string does I<not> have a newline character at the end. " "Most error messages are single lines. Some are split over multiple lines " @@ -52892,7 +53099,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1830 +#: ../src/guestfs.pod:1834 msgid "" "The lifetime of the returned string is until the next error occurs on the " "same handle, or L</guestfs_close> is called. If you need to keep it longer, " @@ -52900,12 +53107,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1834 +#: ../src/guestfs.pod:1838 msgid "guestfs_last_errno" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1836 +#: ../src/guestfs.pod:1840 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -52913,36 +53120,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1838 +#: ../src/guestfs.pod:1842 msgid "This returns the last error number (errno) that happened on C<g>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1840 +#: ../src/guestfs.pod:1844 msgid "If successful, an errno integer not equal to zero is returned." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1842 +#: ../src/guestfs.pod:1846 msgid "" "In many cases the special errno C<ENOTSUP> is returned if you tried to call " "a function or use a feature which is not supported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1845 +#: ../src/guestfs.pod:1849 msgid "" "If no error number is available, this returns 0. This call can return 0 in " "three situations:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1852 +#: ../src/guestfs.pod:1856 msgid "There has not been any error on the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1856 +#: ../src/guestfs.pod:1860 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 " @@ -52950,14 +53157,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1862 +#: ../src/guestfs.pod:1866 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:1868 +#: ../src/guestfs.pod:1872 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -52968,12 +53175,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1876 +#: ../src/guestfs.pod:1880 msgid "guestfs_set_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1878 +#: ../src/guestfs.pod:1882 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -52986,7 +53193,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1885 +#: ../src/guestfs.pod:1889 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 " @@ -52994,14 +53201,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1889 +#: ../src/guestfs.pod:1893 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:1892 +#: ../src/guestfs.pod:1896 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 " @@ -53009,22 +53216,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1896 +#: ../src/guestfs.pod:1900 msgid "The default handler prints messages on C<stderr>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1898 +#: ../src/guestfs.pod:1902 msgid "If you set C<cb> to C<NULL> then I<no> handler is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1900 +#: ../src/guestfs.pod:1904 msgid "guestfs_get_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1902 +#: ../src/guestfs.pod:1906 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -53033,17 +53240,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1905 +#: ../src/guestfs.pod:1909 msgid "Returns the current error handler callback." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1907 +#: ../src/guestfs.pod:1911 msgid "guestfs_push_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1909 +#: ../src/guestfs.pod:1913 #, no-wrap msgid "" " void guestfs_push_error_handler (guestfs_h *g,\n" @@ -53053,7 +53260,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1913 +#: ../src/guestfs.pod:1917 msgid "" "This is the same as L</guestfs_set_error_handler>, except that the old error " "handler is stashed away in a stack inside the handle. You can restore the " @@ -53061,17 +53268,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1918 +#: ../src/guestfs.pod:1922 msgid "Use the following code to temporarily disable errors around a function:" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1924 +#: ../src/guestfs.pod:1928 msgid "guestfs_pop_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:1930 #, no-wrap msgid "" " void guestfs_pop_error_handler (guestfs_h *g);\n" @@ -53079,24 +53286,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1928 +#: ../src/guestfs.pod:1932 msgid "Restore the previous error handler (see L</guestfs_push_error_handler>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1930 +#: ../src/guestfs.pod:1934 msgid "" "If you pop the stack too many times, then the default error handler is " "restored." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1933 +#: ../src/guestfs.pod:1937 msgid "guestfs_set_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1935 +#: ../src/guestfs.pod:1939 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -53106,29 +53313,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1939 +#: ../src/guestfs.pod:1943 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:1942 +#: ../src/guestfs.pod:1946 msgid "The default is to call L<abort(3)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1944 +#: ../src/guestfs.pod:1948 msgid "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1947 +#: ../src/guestfs.pod:1951 msgid "guestfs_get_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1949 +#: ../src/guestfs.pod:1953 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -53136,37 +53343,37 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1951 +#: ../src/guestfs.pod:1955 msgid "This returns the current out of memory handler." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1953 +#: ../src/guestfs.pod:1957 msgid "API CALLS" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1957 +#: ../src/guestfs.pod:1961 msgid "STRUCTURES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1959 +#: ../src/guestfs.pod:1963 msgid "__STRUCTS__" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1961 +#: ../src/guestfs.pod:1965 msgid "AVAILABILITY" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1963 +#: ../src/guestfs.pod:1967 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1965 +#: ../src/guestfs.pod:1969 msgid "" "Using L</guestfs_available> you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -53174,29 +53381,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1970 +#: ../src/guestfs.pod:1974 msgid "__AVAILABILITY__" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1972 +#: ../src/guestfs.pod:1976 msgid "FILESYSTEM AVAILABLE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1974 +#: ../src/guestfs.pod:1978 msgid "" "The L</guestfs_filesystem_available> call tests whether a filesystem type is " "supported by the appliance kernel." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1982 +#: ../src/guestfs.pod:1986 msgid "GUESTFISH supported COMMAND" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1984 +#: ../src/guestfs.pod:1988 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 " @@ -53204,19 +53411,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1989 +#: ../src/guestfs.pod:1993 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1991 +#: ../src/guestfs.pod:1995 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:1994 +#: ../src/guestfs.pod:1998 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -53224,12 +53431,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1996 +#: ../src/guestfs.pod:2000 msgid "if L</guestfs_dd> is available." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1998 +#: ../src/guestfs.pod:2002 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 " @@ -53237,7 +53444,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2003 +#: ../src/guestfs.pod:2007 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -53246,19 +53453,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2006 +#: ../src/guestfs.pod:2010 msgid "" "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined " "in your program." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2009 +#: ../src/guestfs.pod:2013 msgid "SINGLE CALLS AT RUN TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2011 +#: ../src/guestfs.pod:2015 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 " @@ -53268,7 +53475,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2018 +#: ../src/guestfs.pod:2022 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 " @@ -53276,7 +53483,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2022 +#: ../src/guestfs.pod:2026 #, no-wrap msgid "" " #include <stdio.h>\n" @@ -53288,7 +53495,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2028 +#: ../src/guestfs.pod:2032 #, no-wrap msgid "" " main ()\n" @@ -53300,7 +53507,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2034 +#: ../src/guestfs.pod:2038 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -53315,7 +53522,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2043 +#: ../src/guestfs.pod:2047 #, no-wrap msgid "" " if (!has_function)\n" @@ -53334,7 +53541,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2056 +#: ../src/guestfs.pod:2060 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 " @@ -53342,7 +53549,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2061 +#: ../src/guestfs.pod:2065 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -53350,12 +53557,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2063 +#: ../src/guestfs.pod:2067 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2065 +#: ../src/guestfs.pod:2069 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 " @@ -53363,7 +53570,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2070 +#: ../src/guestfs.pod:2074 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -53371,14 +53578,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2072 +#: ../src/guestfs.pod:2076 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:2075 +#: ../src/guestfs.pod:2079 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -53386,12 +53593,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2077 +#: ../src/guestfs.pod:2081 msgid "With a single optional argument:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2079 +#: ../src/guestfs.pod:2083 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -53401,12 +53608,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2083 +#: ../src/guestfs.pod:2087 msgid "With two:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2085 +#: ../src/guestfs.pod:2089 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -53417,19 +53624,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2090 +#: ../src/guestfs.pod:2094 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2093 +#: ../src/guestfs.pod:2097 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2095 +#: ../src/guestfs.pod:2099 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 " @@ -53437,7 +53644,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2099 +#: ../src/guestfs.pod:2103 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -53446,12 +53653,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2102 +#: ../src/guestfs.pod:2106 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2104 +#: ../src/guestfs.pod:2108 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 " @@ -53461,7 +53668,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2110 +#: ../src/guestfs.pod:2114 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -53476,12 +53683,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2119 +#: ../src/guestfs.pod:2123 msgid "You could call it like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2121 +#: ../src/guestfs.pod:2125 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -53494,7 +53701,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2128 +#: ../src/guestfs.pod:2132 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -53502,29 +53709,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2136 +#: ../src/guestfs.pod:2140 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2141 +#: ../src/guestfs.pod:2145 msgid "You do not need to fill in all fields of the structure." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2145 +#: ../src/guestfs.pod:2149 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:2150 +#: ../src/guestfs.pod:2154 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2152 +#: ../src/guestfs.pod:2156 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -53532,22 +53739,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2156 +#: ../src/guestfs.pod:2160 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2158 +#: ../src/guestfs.pod:2162 msgid "EVENTS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2160 +#: ../src/guestfs.pod:2164 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2162 +#: ../src/guestfs.pod:2166 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 " @@ -53559,7 +53766,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2171 +#: ../src/guestfs.pod:2175 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -53571,7 +53778,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2179 +#: ../src/guestfs.pod:2183 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 " @@ -53580,31 +53787,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2184 +#: ../src/guestfs.pod:2188 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: =head2 -#: ../src/guestfs.pod:2188 +#: ../src/guestfs.pod:2192 msgid "CLASSES OF EVENTS" msgstr "" #. type: =item -#: ../src/guestfs.pod:2192 +#: ../src/guestfs.pod:2196 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2195 +#: ../src/guestfs.pod:2199 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L</guestfs_close>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2198 +#: ../src/guestfs.pod:2202 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 " @@ -53615,19 +53822,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2205 +#: ../src/guestfs.pod:2209 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:2208 +#: ../src/guestfs.pod:2212 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2211 +#: ../src/guestfs.pod:2215 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L</guestfs_kill_subprocess>. (This " @@ -53635,17 +53842,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2215 ../src/guestfs.pod:2224 ../src/guestfs.pod:2341 +#: ../src/guestfs.pod:2219 ../src/guestfs.pod:2228 ../src/guestfs.pod:2345 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:2217 +#: ../src/guestfs.pod:2221 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2220 +#: ../src/guestfs.pod:2224 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 " @@ -53653,12 +53860,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2226 +#: ../src/guestfs.pod:2230 msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2229 +#: ../src/guestfs.pod:2233 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -53668,14 +53875,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2235 +#: ../src/guestfs.pod:2239 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:2238 +#: ../src/guestfs.pod:2242 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 " @@ -53684,24 +53891,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2247 msgid "The only defined and stable parts of the API are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2249 +#: ../src/guestfs.pod:2253 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:2254 +#: ../src/guestfs.pod:2258 msgid "0 E<lt>= C<position> E<lt>= C<total>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2258 +#: ../src/guestfs.pod:2262 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 " @@ -53709,7 +53916,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2262 +#: ../src/guestfs.pod:2266 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 " @@ -53717,7 +53924,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2268 +#: ../src/guestfs.pod:2272 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 " @@ -53726,7 +53933,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2273 +#: ../src/guestfs.pod:2277 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 " @@ -53734,14 +53941,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2277 +#: ../src/guestfs.pod:2281 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:2282 +#: ../src/guestfs.pod:2286 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 " @@ -53750,31 +53957,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2288 +#: ../src/guestfs.pod:2292 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:2290 +#: ../src/guestfs.pod:2294 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2293 +#: ../src/guestfs.pod:2297 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:2296 +#: ../src/guestfs.pod:2300 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:2299 ../src/guestfs.pod:2313 +#: ../src/guestfs.pod:2303 ../src/guestfs.pod:2317 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 " @@ -53782,62 +53989,62 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2304 +#: ../src/guestfs.pod:2308 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2307 +#: ../src/guestfs.pod:2311 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2310 +#: ../src/guestfs.pod:2314 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:2318 +#: ../src/guestfs.pod:2322 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2321 +#: ../src/guestfs.pod:2325 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:2324 +#: ../src/guestfs.pod:2328 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:2328 +#: ../src/guestfs.pod:2332 msgid "GUESTFS_EVENT_ENTER (payload type: function name)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2331 +#: ../src/guestfs.pod:2335 msgid "The callback function is called whenever a libguestfs function is entered." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2334 +#: ../src/guestfs.pod:2338 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:2337 +#: ../src/guestfs.pod:2341 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 " @@ -53845,12 +54052,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2343 +#: ../src/guestfs.pod:2347 msgid "GUESTFS_EVENT_LIBVIRT_AUTH (payload type: libvirt URI)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2350 msgid "" "For any API function that opens a libvirt connection, this event may be " "generated to indicate that libvirt demands authentication information. See " @@ -53858,24 +54065,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2350 +#: ../src/guestfs.pod:2354 msgid "" "If no callback is registered: C<virConnectAuthPtrDefault> is used (suitable " "for command-line programs only)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2355 +#: ../src/guestfs.pod:2359 msgid "EVENT API" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2357 +#: ../src/guestfs.pod:2361 msgid "guestfs_set_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2359 +#: ../src/guestfs.pod:2363 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -53887,14 +54094,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2365 +#: ../src/guestfs.pod:2369 msgid "" "This function registers a callback (C<cb>) for all event classes in the " "C<event_bitmask>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2368 +#: ../src/guestfs.pod:2372 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>. " @@ -53903,40 +54110,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2374 +#: ../src/guestfs.pod:2378 msgid "C<flags> should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2376 +#: ../src/guestfs.pod:2380 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:2379 +#: ../src/guestfs.pod:2383 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:2382 +#: ../src/guestfs.pod:2386 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:2385 +#: ../src/guestfs.pod:2389 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2388 +#: ../src/guestfs.pod:2392 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 " @@ -53944,12 +54151,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2392 +#: ../src/guestfs.pod:2396 msgid "guestfs_delete_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2394 +#: ../src/guestfs.pod:2398 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -53957,7 +54164,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2396 +#: ../src/guestfs.pod:2400 msgid "" "Delete a callback that was previously registered. C<event_handle> should be " "the integer that was returned by a previous call to " @@ -53965,12 +54172,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2400 +#: ../src/guestfs.pod:2404 msgid "guestfs_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2402 +#: ../src/guestfs.pod:2406 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -53985,12 +54192,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2411 +#: ../src/guestfs.pod:2415 msgid "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2414 +#: ../src/guestfs.pod:2418 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 " @@ -53998,7 +54205,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2418 +#: ../src/guestfs.pod:2422 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 " @@ -54007,7 +54214,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2423 +#: ../src/guestfs.pod:2427 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 " @@ -54015,19 +54222,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2427 +#: ../src/guestfs.pod:2431 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: =head2 -#: ../src/guestfs.pod:2430 +#: ../src/guestfs.pod:2434 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2432 +#: ../src/guestfs.pod:2436 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 " @@ -54035,7 +54242,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2436 +#: ../src/guestfs.pod:2440 msgid "" "Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, " "C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error " @@ -54043,14 +54250,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2441 +#: ../src/guestfs.pod:2445 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2444 +#: ../src/guestfs.pod:2448 #, no-wrap msgid "" " int eh =\n" @@ -54066,14 +54273,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2454 +#: ../src/guestfs.pod:2458 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:2457 +#: ../src/guestfs.pod:2461 #, no-wrap msgid "" " static void\n" @@ -54094,12 +54301,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2472 +#: ../src/guestfs.pod:2476 msgid "LIBVIRT AUTHENTICATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2474 +#: ../src/guestfs.pod:2478 msgid "" "Some libguestfs API calls can open libvirt connections. Currently the only " "ones are L</guestfs_add_domain>; and L</guestfs_launch> if the libvirt " @@ -54111,14 +54318,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2482 +#: ../src/guestfs.pod:2486 msgid "" "You may provide libvirt authentication data by registering a callback for " "events of type C<GUESTFS_EVENT_LIBVIRT_AUTH>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2485 +#: ../src/guestfs.pod:2489 msgid "" "If no such event is registered, then libguestfs uses a libvirt function that " "provides command-line prompts (C<virConnectAuthPtrDefault>). This is only " @@ -54126,7 +54333,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2490 +#: ../src/guestfs.pod:2494 msgid "" "To provide authentication, first call " "L</guestfs_set_libvirt_supported_credentials> with the list of credentials " @@ -54136,7 +54343,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2497 +#: ../src/guestfs.pod:2501 msgid "" "In the event handler, call L</guestfs_get_libvirt_requested_credentials> to " "get a list of the credentials that libvirt is asking for. You then need to " @@ -54149,19 +54356,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2508 +#: ../src/guestfs.pod:2512 msgid "The example program below should make this clearer." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2510 +#: ../src/guestfs.pod:2514 msgid "" "There is also a more substantial working example program supplied with the " "libguestfs sources, called C<libvirt_auth.c>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2513 +#: ../src/guestfs.pod:2517 #, no-wrap msgid "" " main ()\n" @@ -54173,7 +54380,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2519 +#: ../src/guestfs.pod:2523 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -54182,7 +54389,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2522 +#: ../src/guestfs.pod:2526 #, no-wrap msgid "" " /* Tell libvirt what credentials the program supports. */\n" @@ -54193,7 +54400,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2527 +#: ../src/guestfs.pod:2531 #, no-wrap msgid "" " /* Set up the event handler. */\n" @@ -54206,7 +54413,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2534 +#: ../src/guestfs.pod:2538 #, no-wrap msgid "" " /* An example of a call that may ask for credentials. */\n" @@ -54220,7 +54427,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2542 +#: ../src/guestfs.pod:2546 #, no-wrap msgid "" " exit (EXIT_SUCCESS);\n" @@ -54229,7 +54436,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2545 +#: ../src/guestfs.pod:2549 #, no-wrap msgid "" " static void\n" @@ -54251,7 +54458,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2561 +#: ../src/guestfs.pod:2565 #, no-wrap msgid "" " // buf will be the libvirt URI. buf_len may be ignored.\n" @@ -54261,7 +54468,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2565 +#: ../src/guestfs.pod:2569 #, no-wrap msgid "" " // Ask libguestfs what credentials libvirt is demanding.\n" @@ -54272,7 +54479,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2570 +#: ../src/guestfs.pod:2574 #, no-wrap msgid "" " // Now ask the user for answers.\n" @@ -54290,7 +54497,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2582 +#: ../src/guestfs.pod:2586 #, no-wrap msgid "" " // Some code here to ask for the credential.\n" @@ -54300,7 +54507,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2586 +#: ../src/guestfs.pod:2590 #, no-wrap msgid "" " r = guestfs_set_libvirt_requested_credential (g, i,\n" @@ -54312,7 +54519,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2592 +#: ../src/guestfs.pod:2596 #, no-wrap msgid "" " free (creds[i]);\n" @@ -54321,7 +54528,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2595 +#: ../src/guestfs.pod:2599 #, no-wrap msgid "" " free (creds);\n" @@ -54330,12 +54537,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2598 +#: ../src/guestfs.pod:2602 msgid "CANCELLING LONG TRANSFERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2600 +#: ../src/guestfs.pod:2604 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 " @@ -54344,12 +54551,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2605 +#: ../src/guestfs.pod:2609 msgid "guestfs_user_cancel" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2607 +#: ../src/guestfs.pod:2611 #, no-wrap msgid "" " void guestfs_user_cancel (guestfs_h *g);\n" @@ -54357,12 +54564,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2609 +#: ../src/guestfs.pod:2613 msgid "C<guestfs_user_cancel> cancels the current upload or download operation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2612 +#: ../src/guestfs.pod:2616 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 " @@ -54370,7 +54577,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2616 +#: ../src/guestfs.pod:2620 msgid "" "The transfer that was in progress (if there is one) will stop shortly " "afterwards, and will return an error. The errno (see " @@ -54379,7 +54586,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2622 +#: ../src/guestfs.pod:2626 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 " @@ -54387,12 +54594,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2626 +#: ../src/guestfs.pod:2630 msgid "There are two common places that you might call C<guestfs_user_cancel>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2628 +#: ../src/guestfs.pod:2632 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 " @@ -54401,19 +54608,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2633 +#: ../src/guestfs.pod:2637 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:2637 +#: ../src/guestfs.pod:2641 msgid "PRIVATE DATA AREA" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2639 +#: ../src/guestfs.pod:2643 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 " @@ -54421,12 +54628,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2644 +#: ../src/guestfs.pod:2648 msgid "To attach a named piece of data, use the following call:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2646 +#: ../src/guestfs.pod:2650 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -54434,7 +54641,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2648 +#: ../src/guestfs.pod:2652 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 " @@ -54442,7 +54649,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2652 +#: ../src/guestfs.pod:2656 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 " @@ -54452,12 +54659,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2658 +#: ../src/guestfs.pod:2662 msgid "To retrieve the pointer, use:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2660 +#: ../src/guestfs.pod:2664 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -54465,7 +54672,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2662 +#: ../src/guestfs.pod:2666 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 " @@ -54473,7 +54680,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2666 +#: ../src/guestfs.pod:2670 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 " @@ -54484,12 +54691,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2673 +#: ../src/guestfs.pod:2677 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2675 +#: ../src/guestfs.pod:2679 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -54497,7 +54704,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2677 +#: ../src/guestfs.pod:2681 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -54505,7 +54712,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2679 +#: ../src/guestfs.pod:2683 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 " @@ -54515,7 +54722,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2689 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 " @@ -54523,17 +54730,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2689 +#: ../src/guestfs.pod:2693 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2695 +#: ../src/guestfs.pod:2699 msgid "You must not call C<guestfs_set_private> while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2700 +#: ../src/guestfs.pod:2704 msgid "" "The handle maintains an internal iterator which is reset when you call " "C<guestfs_first_private>. This internal iterator is invalidated when you " @@ -54541,12 +54748,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2706 +#: ../src/guestfs.pod:2710 msgid "If you have set the data pointer associated with a key to C<NULL>, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2708 +#: ../src/guestfs.pod:2712 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -54554,26 +54761,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2710 +#: ../src/guestfs.pod:2714 msgid "then that C<key> is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2714 +#: ../src/guestfs.pod:2718 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:2720 +#: ../src/guestfs.pod:2724 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:2723 +#: ../src/guestfs.pod:2727 #, no-wrap msgid "" " const char *key;\n" @@ -54587,14 +54794,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2731 +#: ../src/guestfs.pod:2735 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:2734 +#: ../src/guestfs.pod:2738 #, no-wrap msgid "" " const char *key;\n" @@ -54609,7 +54816,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2743 +#: ../src/guestfs.pod:2747 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 " @@ -54617,7 +54824,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2747 +#: ../src/guestfs.pod:2751 #, no-wrap msgid "" " const char *key;\n" @@ -54639,7 +54846,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2763 +#: ../src/guestfs.pod:2767 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 " @@ -54648,12 +54855,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2768 +#: ../src/guestfs.pod:2772 msgid "SYSTEMTAP" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2770 +#: ../src/guestfs.pod:2774 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 " @@ -54661,12 +54868,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2774 +#: ../src/guestfs.pod:2778 msgid "You can list all the static markers by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2776 +#: ../src/guestfs.pod:2780 #, no-wrap msgid "" " stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n" @@ -54675,26 +54882,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2779 +#: ../src/guestfs.pod:2783 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:2782 +#: ../src/guestfs.pod:2786 msgid "SYSTEMTAP SCRIPT EXAMPLE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2784 +#: ../src/guestfs.pod:2788 msgid "" "This script contains examples of displaying both the static markers and some " "ordinary C entry points:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2811 +#: ../src/guestfs.pod:2815 #, no-wrap msgid "" " /* Display all calls to guestfs_mkfs* functions. */\n" @@ -54707,7 +54914,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2818 +#: ../src/guestfs.pod:2822 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 " @@ -54716,7 +54923,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2823 +#: ../src/guestfs.pod:2827 #, no-wrap msgid "" " # stap /tmp/test.stap\n" @@ -54725,17 +54932,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2826 +#: ../src/guestfs.pod:2830 msgid "In another terminal, run a guestfish command such as this:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2830 +#: ../src/guestfs.pod:2834 msgid "In the first terminal, stap trace output similar to this is shown:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2832 +#: ../src/guestfs.pod:2836 #, no-wrap msgid "" " 1318248056692655 (+0):\tlaunch_start\n" @@ -54749,19 +54956,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2841 +#: ../src/guestfs.pod:2845 msgid "" "<!-- old anchor for the next section --> <a " "name=\"state_machine_and_low_level_event_api\"/>" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2846 +#: ../src/guestfs.pod:2850 msgid "ARCHITECTURE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2848 +#: ../src/guestfs.pod:2852 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 " @@ -54769,7 +54976,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2852 +#: ../src/guestfs.pod:2856 #, no-wrap msgid "" " ___________________\n" @@ -54795,14 +55002,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2872 +#: ../src/guestfs.pod:2876 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:2875 +#: ../src/guestfs.pod:2879 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 " @@ -54814,7 +55021,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2884 +#: ../src/guestfs.pod:2888 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 " @@ -54825,17 +55032,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2891 +#: ../src/guestfs.pod:2895 msgid "STATE MACHINE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2893 +#: ../src/guestfs.pod:2897 msgid "libguestfs uses a state machine to model the child process:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2895 +#: ../src/guestfs.pod:2899 #, no-wrap msgid "" " |\n" @@ -54863,7 +55070,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2917 +#: ../src/guestfs.pod:2921 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), " @@ -54872,7 +55079,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2922 +#: ../src/guestfs.pod:2926 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 " @@ -54880,14 +55087,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2926 +#: ../src/guestfs.pod:2930 msgid "" "Configuration commands for qemu such as L</guestfs_set_path> can only be " "issued when in the CONFIG state." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2929 +#: ../src/guestfs.pod:2933 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 " @@ -54896,7 +55103,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2935 +#: ../src/guestfs.pod:2939 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. " @@ -54905,7 +55112,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2940 +#: ../src/guestfs.pod:2944 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -54913,17 +55120,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2944 +#: ../src/guestfs.pod:2948 msgid "INTERNALS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2946 +#: ../src/guestfs.pod:2950 msgid "APPLIANCE BOOT PROCESS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2948 +#: ../src/guestfs.pod:2952 msgid "" "This process has evolved and continues to evolve. The description here " "corresponds only to the current version of libguestfs and is provided for " @@ -54931,55 +55138,55 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2952 +#: ../src/guestfs.pod:2956 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:2957 +#: ../src/guestfs.pod:2961 msgid "Create the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2959 +#: ../src/guestfs.pod:2963 msgid "" "C<febootstrap-supermin-helper> is invoked to create the kernel, a small " "initrd and the appliance." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2962 +#: ../src/guestfs.pod:2966 msgid "" "The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another " "directory if C<LIBGUESTFS_CACHEDIR> or C<TMPDIR> are set)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2965 +#: ../src/guestfs.pod:2969 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:2969 +#: ../src/guestfs.pod:2973 msgid "Start qemu and boot the kernel" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2971 +#: ../src/guestfs.pod:2975 msgid "qemu is invoked to boot the kernel." msgstr "" #. type: =item -#: ../src/guestfs.pod:2973 +#: ../src/guestfs.pod:2977 msgid "Run the initrd" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2975 +#: ../src/guestfs.pod:2979 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 " @@ -54987,21 +55194,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2979 +#: ../src/guestfs.pod:2983 msgid "" "The initrd is a cpio archive called " "C</var/tmp/.guestfs-E<lt>UIDE<gt>/initrd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2982 +#: ../src/guestfs.pod:2986 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:2985 +#: ../src/guestfs.pod:2989 #, no-wrap msgid "" " febootstrap: ext2 mini initrd starting up\n" @@ -55012,12 +55219,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2990 +#: ../src/guestfs.pod:2994 msgid "Find and mount the appliance device" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2992 +#: ../src/guestfs.pod:2996 msgid "" "The appliance is a sparse file containing an ext2 filesystem which contains " "a familiar (although reduced in size) Linux operating system. It would " @@ -55025,33 +55232,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2996 +#: ../src/guestfs.pod:3000 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:2999 +#: ../src/guestfs.pod:3003 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:3002 +#: ../src/guestfs.pod:3006 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:3006 +#: ../src/guestfs.pod:3010 msgid "If this works successfully you will see messages such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3008 +#: ../src/guestfs.pod:3012 #, no-wrap msgid "" " febootstrap: picked /sys/block/vdb/dev as root device\n" @@ -55063,19 +55270,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3014 +#: ../src/guestfs.pod:3018 msgid "" "Note that C<Starting /init script ...> indicates that the appliance's init " "script is now running." msgstr "" #. type: =item -#: ../src/guestfs.pod:3017 +#: ../src/guestfs.pod:3021 msgid "Initialize the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3019 +#: ../src/guestfs.pod:3023 msgid "" "The appliance itself now initializes itself. This involves starting certain " "processes like C<udev>, possibly printing some debug information, and " @@ -55083,19 +55290,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3023 +#: ../src/guestfs.pod:3027 msgid "The daemon" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3025 +#: ../src/guestfs.pod:3029 msgid "" "Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you " "should see:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3028 +#: ../src/guestfs.pod:3032 #, no-wrap msgid "" " verbose daemon enabled\n" @@ -55103,14 +55310,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3030 +#: ../src/guestfs.pod:3034 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:3033 +#: ../src/guestfs.pod:3037 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 " @@ -55118,19 +55325,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3039 +#: ../src/guestfs.pod:3043 msgid "COMMUNICATION PROTOCOL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3041 +#: ../src/guestfs.pod:3045 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:3044 +#: ../src/guestfs.pod:3048 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 " @@ -55138,14 +55345,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3048 +#: ../src/guestfs.pod:3052 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:3051 +#: ../src/guestfs.pod:3055 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 " @@ -55155,17 +55362,17 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3058 +#: ../src/guestfs.pod:3062 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3060 +#: ../src/guestfs.pod:3064 msgid "For ordinary functions, the request message is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3062 +#: ../src/guestfs.pod:3066 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -55176,7 +55383,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3067 +#: ../src/guestfs.pod:3071 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 " @@ -55185,21 +55392,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3073 +#: ../src/guestfs.pod:3077 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:3076 +#: ../src/guestfs.pod:3080 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:3080 +#: ../src/guestfs.pod:3084 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 " @@ -55211,12 +55418,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3088 +#: ../src/guestfs.pod:3092 msgid "The reply message for ordinary functions is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3090 +#: ../src/guestfs.pod:3094 #, no-wrap msgid "" " total length (header + ret,\n" @@ -55227,26 +55434,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3095 +#: ../src/guestfs.pod:3099 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:3098 +#: ../src/guestfs.pod:3102 msgid "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3101 +#: ../src/guestfs.pod:3105 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:3104 +#: ../src/guestfs.pod:3108 #, no-wrap msgid "" " total length (header + error,\n" @@ -55257,19 +55464,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3109 +#: ../src/guestfs.pod:3113 msgid "" "The C<guestfs_message_error> structure contains the error message as a " "string." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3112 +#: ../src/guestfs.pod:3116 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3114 +#: ../src/guestfs.pod:3118 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 " @@ -55277,7 +55484,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3118 +#: ../src/guestfs.pod:3122 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -55291,12 +55498,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3126 +#: ../src/guestfs.pod:3130 msgid "The \"sequence of chunks\" is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3128 +#: ../src/guestfs.pod:3132 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -55310,7 +55517,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3136 +#: ../src/guestfs.pod:3140 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 " @@ -55318,7 +55525,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3140 +#: ../src/guestfs.pod:3144 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -55327,7 +55534,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3145 +#: ../src/guestfs.pod:3149 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 " @@ -55336,7 +55543,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3151 +#: ../src/guestfs.pod:3155 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 " @@ -55348,7 +55555,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3160 +#: ../src/guestfs.pod:3164 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 " @@ -55358,19 +55565,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3166 +#: ../src/guestfs.pod:3170 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3168 +#: ../src/guestfs.pod:3172 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:3171 +#: ../src/guestfs.pod:3175 #, no-wrap msgid "" " total length (header + ret,\n" @@ -55384,12 +55591,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3179 +#: ../src/guestfs.pod:3183 msgid "INITIAL MESSAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3181 +#: ../src/guestfs.pod:3185 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 " @@ -55397,12 +55604,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3185 +#: ../src/guestfs.pod:3189 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3187 +#: ../src/guestfs.pod:3191 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -55410,7 +55617,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3191 +#: ../src/guestfs.pod:3195 msgid "" "The library turns them into progress callbacks (see " "L</GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards " @@ -55418,7 +55625,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3195 +#: ../src/guestfs.pod:3199 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C<daemon/proto.c:notify_progress>). Not all calls generate progress " @@ -55426,12 +55633,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3199 +#: ../src/guestfs.pod:3203 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3201 +#: ../src/guestfs.pod:3205 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -55439,7 +55646,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3206 +#: ../src/guestfs.pod:3210 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -55456,12 +55663,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3217 +#: ../src/guestfs.pod:3221 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3219 +#: ../src/guestfs.pod:3223 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 " @@ -55471,26 +55678,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3225 +#: ../src/guestfs.pod:3229 msgid "Our criteria for backporting changes are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3231 +#: ../src/guestfs.pod:3235 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:3237 +#: ../src/guestfs.pod:3241 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3242 +#: ../src/guestfs.pod:3246 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 " @@ -55498,7 +55705,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3248 +#: ../src/guestfs.pod:3252 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 " @@ -55506,7 +55713,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3254 +#: ../src/guestfs.pod:3258 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 " @@ -55517,29 +55724,29 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3262 +#: ../src/guestfs.pod:3266 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3264 +#: ../src/guestfs.pod:3268 msgid "This section is for hackers who want to extend libguestfs itself." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3266 +#: ../src/guestfs.pod:3270 msgid "OVERVIEW OF THE SOURCE CODE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3268 +#: ../src/guestfs.pod:3272 msgid "" "Libguestfs source is located in the github repository " "L<https://github.com/libguestfs/libguestfs>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3271 +#: ../src/guestfs.pod:3275 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated. This means that many source files will appear " @@ -55549,7 +55756,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3277 +#: ../src/guestfs.pod:3281 msgid "" "Libguestfs uses an autotools-based build system, with the main files being " "C<configure.ac> and C<Makefile.am>. The C<generator> subdirectory contains " @@ -55561,7 +55768,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3286 +#: ../src/guestfs.pod:3290 msgid "" "Apart from the fact that all API entry points go via some generated code, " "the library is straightforward. (In fact, even the generated code is " @@ -55572,17 +55779,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3294 +#: ../src/guestfs.pod:3298 msgid "To build from source, first read the C<README> file." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3296 +#: ../src/guestfs.pod:3300 msgid "C<local*> FILES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3298 +#: ../src/guestfs.pod:3302 msgid "" "Files in the top source directory that begin with the prefix C<local*> are " "ignored by git. These files can contain local configuration or scripts that " @@ -55590,7 +55797,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3302 +#: ../src/guestfs.pod:3306 msgid "" "By convention, I have a file called C<localconfigure> which is a simple " "wrapper around C<autogen.sh> containing local configure customizations that " @@ -55598,7 +55805,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3306 +#: ../src/guestfs.pod:3310 #, no-wrap msgid "" " . localenv\n" @@ -55612,12 +55819,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3314 +#: ../src/guestfs.pod:3318 msgid "So I can use this to build libguestfs:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3316 +#: ../src/guestfs.pod:3320 #, no-wrap msgid "" " ./localconfigure && make\n" @@ -55625,7 +55832,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3318 +#: ../src/guestfs.pod:3322 msgid "" "If there is a file in the top build directory called C<localenv>, then it " "will be sourced by C<make>. This file can contain any local environment " @@ -55633,7 +55840,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3322 +#: ../src/guestfs.pod:3326 #, no-wrap msgid "" " # Use an alternate python binary.\n" @@ -55644,7 +55851,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3327 +#: ../src/guestfs.pod:3331 msgid "" "Note that C<localenv> is included by the top Makefile (so it's a Makefile " "fragment). But if it is also sourced by your C<localconfigure> script then " @@ -55652,31 +55859,31 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3331 +#: ../src/guestfs.pod:3335 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3333 +#: ../src/guestfs.pod:3337 msgid "" "Because large amounts of boilerplate code in libguestfs are generated, this " "makes it easy to extend the libguestfs API." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3336 +#: ../src/guestfs.pod:3340 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3342 +#: ../src/guestfs.pod:3346 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C<generator/actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3345 +#: ../src/guestfs.pod:3349 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 " @@ -55687,7 +55894,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3353 +#: ../src/guestfs.pod:3357 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 " @@ -55697,7 +55904,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3359 +#: ../src/guestfs.pod:3363 msgid "" "For library-only actions of the second type, add to the " "C<non_daemon_functions> list. Since these functions are serviced by the " @@ -55707,36 +55914,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3367 +#: ../src/guestfs.pod:3371 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3369 +#: ../src/guestfs.pod:3373 msgid "" "For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the " "C<daemon/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3372 +#: ../src/guestfs.pod:3376 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:3375 +#: ../src/guestfs.pod:3379 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3379 +#: ../src/guestfs.pod:3383 msgid "After making these changes, use C<make> to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3381 +#: ../src/guestfs.pod:3385 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 " @@ -55744,12 +55951,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3385 +#: ../src/guestfs.pod:3389 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3387 +#: ../src/guestfs.pod:3391 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 " @@ -55759,61 +55966,61 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3393 +#: ../src/guestfs.pod:3397 msgid "" "The following describes the test environment used when you add an API test " "in C<actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3396 +#: ../src/guestfs.pod:3400 msgid "The test environment has 4 block devices:" msgstr "" #. type: =item -#: ../src/guestfs.pod:3400 +#: ../src/guestfs.pod:3404 msgid "C</dev/sda> 500MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3402 +#: ../src/guestfs.pod:3406 msgid "General block device for testing." msgstr "" #. type: =item -#: ../src/guestfs.pod:3404 +#: ../src/guestfs.pod:3408 msgid "C</dev/sdb> 50MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3406 +#: ../src/guestfs.pod:3410 msgid "" "C</dev/sdb1> is an ext2 filesystem used for testing filesystem write " "operations." msgstr "" #. type: =item -#: ../src/guestfs.pod:3409 +#: ../src/guestfs.pod:3413 msgid "C</dev/sdc> 10MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3411 +#: ../src/guestfs.pod:3415 msgid "Used in a few tests where two block devices are needed." msgstr "" #. type: =item -#: ../src/guestfs.pod:3413 +#: ../src/guestfs.pod:3417 msgid "C</dev/sdd>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3415 +#: ../src/guestfs.pod:3419 msgid "ISO with fixed content (see C<images/test.iso>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3419 +#: ../src/guestfs.pod:3423 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 " @@ -55821,7 +56028,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3423 +#: ../src/guestfs.pod:3427 msgid "" "Each test starts with an initial scenario, selected using one of the " "C<Init*> expressions, described in C<generator/types.ml>. These initialize " @@ -55831,7 +56038,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3429 +#: ../src/guestfs.pod:3433 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 " @@ -55841,14 +56048,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3435 +#: ../src/guestfs.pod:3439 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C<make check>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3438 +#: ../src/guestfs.pod:3442 #, no-wrap msgid "" " SKIP_TEST_<CMD>_<NUM>=1\n" @@ -55856,12 +56063,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3440 +#: ../src/guestfs.pod:3444 msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3444 +#: ../src/guestfs.pod:3448 #, no-wrap msgid "" " SKIP_TEST_<CMD>=1\n" @@ -55869,17 +56076,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3446 +#: ../src/guestfs.pod:3450 msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3448 +#: ../src/guestfs.pod:3452 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3450 +#: ../src/guestfs.pod:3454 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -55887,29 +56094,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3452 +#: ../src/guestfs.pod:3456 msgid "" "See C<tests/c-api/tests.c> for more details of how these environment " "variables work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3455 +#: ../src/guestfs.pod:3459 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3457 +#: ../src/guestfs.pod:3461 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3459 +#: ../src/guestfs.pod:3463 msgid "You can use guestfish to try out new commands." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3461 +#: ../src/guestfs.pod:3465 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 " @@ -55917,12 +56124,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3465 +#: ../src/guestfs.pod:3469 msgid "FORMATTING CODE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3467 +#: ../src/guestfs.pod:3471 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -55932,14 +56139,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3473 +#: ../src/guestfs.pod:3477 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:3476 +#: ../src/guestfs.pod:3480 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -55955,7 +56162,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3486 +#: ../src/guestfs.pod:3490 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -55973,17 +56180,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3498 +#: ../src/guestfs.pod:3502 msgid "TESTING YOUR CHANGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3500 +#: ../src/guestfs.pod:3504 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3503 +#: ../src/guestfs.pod:3507 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -55991,59 +56198,59 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3505 +#: ../src/guestfs.pod:3509 msgid "Useful targets are:" msgstr "" #. type: =item -#: ../src/guestfs.pod:3509 +#: ../src/guestfs.pod:3513 msgid "C<make check>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3511 +#: ../src/guestfs.pod:3515 msgid "Runs the regular test suite." msgstr "" #. type: =item -#: ../src/guestfs.pod:3513 +#: ../src/guestfs.pod:3517 msgid "C<make syntax-check -j1 -k>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3515 +#: ../src/guestfs.pod:3519 msgid "Checks for various syntax and style problems in the code." msgstr "" #. type: =item -#: ../src/guestfs.pod:3517 +#: ../src/guestfs.pod:3521 msgid "C<make check-valgrind>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3519 +#: ../src/guestfs.pod:3523 msgid "Runs a subset of the test suite under valgrind." msgstr "" #. type: =item -#: ../src/guestfs.pod:3521 +#: ../src/guestfs.pod:3525 msgid "C<make check-valgrind-local-guests>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3523 +#: ../src/guestfs.pod:3527 msgid "" "Runs a subset of the test suite under valgrind using locally installed " "libvirt guests (read-only)." msgstr "" #. type: =item -#: ../src/guestfs.pod:3526 +#: ../src/guestfs.pod:3530 msgid "C<make check-with-appliance>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3528 +#: ../src/guestfs.pod:3532 msgid "" "Runs all tests using default appliance back-end. This only has any effect " "if a non-default attach-method was selected using C<./configure " @@ -56051,12 +56258,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3532 +#: ../src/guestfs.pod:3536 msgid "C<make check-with-upstream-qemu>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3534 +#: ../src/guestfs.pod:3538 msgid "" "Runs all tests using a local qemu binary. It looks for the qemu binary in " "QEMUDIR (defaults to C<$HOME/d/qemu>), but you can set this to another " @@ -56064,7 +56271,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3538 +#: ../src/guestfs.pod:3542 #, no-wrap msgid "" " make check-with-upstream-qemu QEMUDIR=/usr/src/qemu\n" @@ -56072,12 +56279,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3540 +#: ../src/guestfs.pod:3544 msgid "C<make check-with-upstream-libvirt>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3542 +#: ../src/guestfs.pod:3546 msgid "" "Runs all tests using a local libvirt. This only has any effect if the " "libvirt attach-method was selected using C<./configure " @@ -56085,14 +56292,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3546 +#: ../src/guestfs.pod:3550 msgid "" "It looks for libvirt in LIBVIRTDIR (defaults to C<$HOME/d/libvirt>), but you " "can set this to another directory on the command line, eg:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3549 +#: ../src/guestfs.pod:3553 #, no-wrap msgid "" " make check-with-upstream-libvirt LIBVIRTDIR=/usr/src/libvirt\n" @@ -56100,63 +56307,63 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3551 +#: ../src/guestfs.pod:3555 msgid "C<make check-slow>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3553 +#: ../src/guestfs.pod:3557 msgid "Runs some slow/long-running tests which are not run by default." msgstr "" #. type: =item -#: ../src/guestfs.pod:3555 +#: ../src/guestfs.pod:3559 msgid "C<make extra-tests>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3557 +#: ../src/guestfs.pod:3561 msgid "Equivalent to running all C<make check-*> rules (but not C<make check>)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3562 +#: ../src/guestfs.pod:3566 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3564 +#: ../src/guestfs.pod:3568 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:3569 +#: ../src/guestfs.pod:3573 msgid "%Q" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3571 +#: ../src/guestfs.pod:3575 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." msgstr "" #. type: =item -#: ../src/guestfs.pod:3574 +#: ../src/guestfs.pod:3578 msgid "%R" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3576 +#: ../src/guestfs.pod:3580 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:3583 +#: ../src/guestfs.pod:3587 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -56164,12 +56371,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3585 +#: ../src/guestfs.pod:3589 msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3587 +#: ../src/guestfs.pod:3591 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 " @@ -56178,12 +56385,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3593 +#: ../src/guestfs.pod:3597 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3595 +#: ../src/guestfs.pod:3599 msgid "" "Submit patches to the mailing list: " "L<http://www.redhat.com/mailman/listinfo/libguestfs> and CC to " @@ -56191,17 +56398,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3599 +#: ../src/guestfs.pod:3603 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3601 +#: ../src/guestfs.pod:3605 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3603 +#: ../src/guestfs.pod:3607 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 " @@ -56210,113 +56417,113 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3609 +#: ../src/guestfs.pod:3613 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3612 +#: ../src/guestfs.pod:3616 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "" #. type: =item -#: ../src/guestfs.pod:3616 +#: ../src/guestfs.pod:3620 msgid "C<align>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3618 +#: ../src/guestfs.pod:3622 msgid "L<virt-alignment-scan(1)> command and documentation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3622 +#: ../src/guestfs.pod:3626 msgid "The libguestfs appliance, build scripts and so on." msgstr "" #. type: =item -#: ../src/guestfs.pod:3624 +#: ../src/guestfs.pod:3628 msgid "C<build-aux>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3626 +#: ../src/guestfs.pod:3630 msgid "Various build scripts used by autotools." msgstr "" #. type: =item -#: ../src/guestfs.pod:3628 +#: ../src/guestfs.pod:3632 msgid "C<cat>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3630 +#: ../src/guestfs.pod:3634 msgid "" "The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and " "documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3633 +#: ../src/guestfs.pod:3637 msgid "C<contrib>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3635 +#: ../src/guestfs.pod:3639 msgid "Outside contributions, experimental parts." msgstr "" #. type: =item -#: ../src/guestfs.pod:3637 +#: ../src/guestfs.pod:3641 msgid "C<daemon>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3639 +#: ../src/guestfs.pod:3643 msgid "" "The daemon that runs inside the libguestfs appliance and carries out " "actions." msgstr "" #. type: =item -#: ../src/guestfs.pod:3642 +#: ../src/guestfs.pod:3646 msgid "C<df>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3644 +#: ../src/guestfs.pod:3648 msgid "L<virt-df(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3646 +#: ../src/guestfs.pod:3650 msgid "C<edit>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3648 +#: ../src/guestfs.pod:3652 msgid "L<virt-edit(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3650 +#: ../src/guestfs.pod:3654 msgid "C<examples>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3652 +#: ../src/guestfs.pod:3656 msgid "C API example code." msgstr "" #. type: =item -#: ../src/guestfs.pod:3654 +#: ../src/guestfs.pod:3658 msgid "C<fish>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3656 +#: ../src/guestfs.pod:3660 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)>, " @@ -56324,101 +56531,101 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3662 +#: ../src/guestfs.pod:3666 msgid "L<virt-format(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3664 +#: ../src/guestfs.pod:3668 msgid "C<fuse>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3666 +#: ../src/guestfs.pod:3670 msgid "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3668 +#: ../src/guestfs.pod:3672 msgid "C<generator>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3670 +#: ../src/guestfs.pod:3674 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:3673 +#: ../src/guestfs.pod:3677 msgid "C<gnulib>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3675 +#: ../src/guestfs.pod:3679 msgid "" "Gnulib is used as a portability library. A copy of gnulib is included under " "here." msgstr "" #. type: =item -#: ../src/guestfs.pod:3678 +#: ../src/guestfs.pod:3682 msgid "C<html>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3680 +#: ../src/guestfs.pod:3684 msgid "Generated HTML manual pages." msgstr "" #. type: =item -#: ../src/guestfs.pod:3682 +#: ../src/guestfs.pod:3686 msgid "C<inspector>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3684 +#: ../src/guestfs.pod:3688 msgid "L<virt-inspector(1)>, the virtual machine image inspector." msgstr "" #. type: =item -#: ../src/guestfs.pod:3686 +#: ../src/guestfs.pod:3690 msgid "C<logo>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3688 +#: ../src/guestfs.pod:3692 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:3690 +#: ../src/guestfs.pod:3694 msgid "C<m4>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3692 +#: ../src/guestfs.pod:3696 msgid "M4 macros used by autoconf." msgstr "" #. type: =item -#: ../src/guestfs.pod:3694 +#: ../src/guestfs.pod:3698 msgid "C<po>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3696 +#: ../src/guestfs.pod:3700 msgid "Translations of simple gettext strings." msgstr "" #. type: =item -#: ../src/guestfs.pod:3698 +#: ../src/guestfs.pod:3702 msgid "C<po-docs>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3700 +#: ../src/guestfs.pod:3704 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 " @@ -56426,84 +56633,84 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3704 +#: ../src/guestfs.pod:3708 msgid "C<rescue>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3706 +#: ../src/guestfs.pod:3710 msgid "L<virt-rescue(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3708 +#: ../src/guestfs.pod:3712 msgid "C<resize>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3710 +#: ../src/guestfs.pod:3714 msgid "L<virt-resize(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3712 +#: ../src/guestfs.pod:3716 msgid "C<sparsify>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3714 +#: ../src/guestfs.pod:3718 msgid "L<virt-sparsify(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3716 +#: ../src/guestfs.pod:3720 msgid "C<src>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3718 +#: ../src/guestfs.pod:3722 msgid "Source code to the C library." msgstr "" #. type: =item -#: ../src/guestfs.pod:3720 +#: ../src/guestfs.pod:3724 msgid "C<sysprep>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3722 +#: ../src/guestfs.pod:3726 msgid "L<virt-sysprep(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3724 +#: ../src/guestfs.pod:3728 msgid "C<tests>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3726 +#: ../src/guestfs.pod:3730 msgid "Tests." msgstr "" #. type: =item -#: ../src/guestfs.pod:3728 +#: ../src/guestfs.pod:3732 msgid "C<test-tool>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3730 +#: ../src/guestfs.pod:3734 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3733 +#: ../src/guestfs.pod:3737 msgid "C<tmp>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3735 +#: ../src/guestfs.pod:3739 msgid "" "Used for temporary files when running the tests (instead of C</tmp> etc). " "The reason is so that you can run multiple parallel tests of libguestfs " @@ -56512,77 +56719,82 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3740 +#: ../src/guestfs.pod:3744 msgid "C<tools>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3742 +#: ../src/guestfs.pod:3746 msgid "Command line tools written in Perl (L<virt-win-reg(1)> and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:3744 +#: ../src/guestfs.pod:3748 msgid "C<csharp>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3746 +#: ../src/guestfs.pod:3750 msgid "C<erlang>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3748 +#: ../src/guestfs.pod:3752 msgid "C<gobject>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3750 +#: ../src/guestfs.pod:3754 msgid "C<haskell>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3752 +#: ../src/guestfs.pod:3756 msgid "C<java>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3754 +#: ../src/guestfs.pod:3758 +msgid "C<lua>" +msgstr "" + +#. type: =item +#: ../src/guestfs.pod:3760 msgid "C<ocaml>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3756 +#: ../src/guestfs.pod:3762 msgid "C<php>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3758 +#: ../src/guestfs.pod:3764 msgid "C<perl>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3760 +#: ../src/guestfs.pod:3766 msgid "C<python>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3762 +#: ../src/guestfs.pod:3768 msgid "C<ruby>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3764 +#: ../src/guestfs.pod:3770 msgid "Language bindings." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3768 +#: ../src/guestfs.pod:3774 msgid "MAKING A STABLE RELEASE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3770 +#: ../src/guestfs.pod:3776 msgid "" "When we make a stable release, there are several steps documented here. See " "L</LIBGUESTFS VERSION NUMBERS> for general information about the stable " @@ -56590,32 +56802,32 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3778 +#: ../src/guestfs.pod:3784 msgid "Check C<make && make check> works on at least Fedora, Debian and Ubuntu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3783 +#: ../src/guestfs.pod:3789 msgid "Finalize C<guestfs-release-notes.pod>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3787 +#: ../src/guestfs.pod:3793 msgid "Update ROADMAP." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3791 +#: ../src/guestfs.pod:3797 msgid "Run C<src/api-support/update-from-tarballs.sh>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3795 +#: ../src/guestfs.pod:3801 msgid "Push and pull from Transifex." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3799 +#: ../src/guestfs.pod:3805 #, no-wrap msgid "" " tx push -s\n" @@ -56623,12 +56835,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3801 +#: ../src/guestfs.pod:3807 msgid "to push the latest POT files to Transifex. Then run:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3803 +#: ../src/guestfs.pod:3809 #, no-wrap msgid "" " ./tx-pull.sh\n" @@ -56636,24 +56848,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3805 +#: ../src/guestfs.pod:3811 msgid "which is a wrapper to pull the latest translated C<*.po> files." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3809 +#: ../src/guestfs.pod:3815 msgid "" "Create new stable and development directories under " "L<http://libguestfs.org/download>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3814 +#: ../src/guestfs.pod:3820 msgid "Create the branch in git:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3816 +#: ../src/guestfs.pod:3822 #, no-wrap msgid "" " git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n" @@ -56664,17 +56876,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3823 +#: ../src/guestfs.pod:3829 msgid "LIMITS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3825 +#: ../src/guestfs.pod:3831 msgid "PROTOCOL LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3827 +#: ../src/guestfs.pod:3833 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 " @@ -56685,7 +56897,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3835 +#: ../src/guestfs.pod:3841 msgid "" "In libguestfs E<lt> 1.19.32, several calls had to encode either their entire " "argument list or their entire return value (or sometimes both) in a single " @@ -56701,7 +56913,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3848 +#: ../src/guestfs.pod:3854 msgid "" "L</guestfs_cat>, L</guestfs_find>, L</guestfs_read_file>, " "L</guestfs_read_lines>, L</guestfs_write>, L</guestfs_write_append>, " @@ -56710,19 +56922,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3853 +#: ../src/guestfs.pod:3859 msgid "" "See also L</UPLOADING> and L</DOWNLOADING> for further information about " "copying large amounts of data into or out of a filesystem." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3856 +#: ../src/guestfs.pod:3862 msgid "MAXIMUM NUMBER OF DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3858 +#: ../src/guestfs.pod:3864 msgid "" "In libguestfs E<ge> 1.19.7, you can query the maximum number of disks that " "may be added by calling L</guestfs_max_disks>. In earlier versions of " @@ -56731,14 +56943,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3863 +#: ../src/guestfs.pod:3869 msgid "" "The rest of this section covers implementation details, which could change " "in future." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3866 +#: ../src/guestfs.pod:3872 msgid "" "When using virtio-scsi disks (the default if available in qemu) the current " "limit is B<255> disks. When using virtio-blk (the old default) the limit is " @@ -56747,26 +56959,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3871 +#: ../src/guestfs.pod:3877 msgid "" "Virtio-scsi as used by libguestfs is configured to use one target per disk, " "and 256 targets are available." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3874 +#: ../src/guestfs.pod:3880 msgid "" "Virtio-blk consumes 1 virtual PCI slot per disk, and PCI is limited to 31 " "slots, but some of these are used for other purposes." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3877 +#: ../src/guestfs.pod:3883 msgid "One virtual disk is used by libguestfs internally." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3879 +#: ../src/guestfs.pod:3885 msgid "" "Before libguestfs 1.19.7, disk names had to be a single character " "(eg. C</dev/sda> through C</dev/sdz>), and since one disk is reserved, that " @@ -56774,48 +56986,48 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3884 +#: ../src/guestfs.pod:3890 msgid "" "In libguestfs E<ge> 1.20 it is possible to hot plug disks. See " "L</HOTPLUGGING>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3887 +#: ../src/guestfs.pod:3893 msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3889 +#: ../src/guestfs.pod:3895 msgid "Virtio limits the maximum number of partitions per disk to B<15>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3891 +#: ../src/guestfs.pod:3897 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:3894 +#: ../src/guestfs.pod:3900 msgid "" "If you attach a disk with more than 15 partitions, the extra partitions are " "ignored by libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3897 +#: ../src/guestfs.pod:3903 msgid "MAXIMUM SIZE OF A DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3899 +#: ../src/guestfs.pod:3905 msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3901 +#: ../src/guestfs.pod:3907 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 " @@ -56823,7 +57035,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3905 +#: ../src/guestfs.pod:3911 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 " @@ -56833,19 +57045,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3911 +#: ../src/guestfs.pod:3917 msgid "" "For the hugest disk image files, we recommend using XFS on the host for " "storage." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3914 +#: ../src/guestfs.pod:3920 msgid "MAXIMUM SIZE OF A PARTITION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3916 +#: ../src/guestfs.pod:3922 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 " @@ -56853,7 +57065,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3920 +#: ../src/guestfs.pod:3926 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 " @@ -56861,12 +57073,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3925 +#: ../src/guestfs.pod:3931 msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3927 +#: ../src/guestfs.pod:3933 msgid "" "This depends on the filesystem type. libguestfs itself does not impose any " "known limit. Consult Wikipedia or the filesystem documentation to find out " @@ -56874,12 +57086,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3931 +#: ../src/guestfs.pod:3937 msgid "MAXIMUM UPLOAD AND DOWNLOAD" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3933 +#: ../src/guestfs.pod:3939 msgid "" "The API functions L</guestfs_upload>, L</guestfs_download>, " "L</guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized " @@ -56887,12 +57099,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3937 +#: ../src/guestfs.pod:3943 msgid "INSPECTION LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3939 +#: ../src/guestfs.pod:3945 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 " @@ -56902,54 +57114,54 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3965 +#: ../src/guestfs.pod:3971 msgid "" "Choose the default way to create the appliance. See " "L</guestfs_set_attach_method>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3977 +#: ../src/guestfs.pod:3983 msgid "See also L</LIBGUESTFS_TMPDIR>, L</guestfs_set_cachedir>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3981 +#: ../src/guestfs.pod:3987 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:3993 +#: ../src/guestfs.pod:3999 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:4002 +#: ../src/guestfs.pod:4008 msgid "See also L</QEMU WRAPPERS> above." msgstr "" #. type: textblock -#: ../src/guestfs.pod:4012 +#: ../src/guestfs.pod:4018 msgid "See also L</LIBGUESTFS_CACHEDIR>, L</guestfs_set_tmpdir>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:4016 +#: ../src/guestfs.pod:4022 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:4027 +#: ../src/guestfs.pod:4033 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)>, L<guestfish(1)>, L<guestmount(1)>, " +"L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, " +"L<guestfs-python(3)>, L<guestfs-ruby(3)>, L<guestfish(1)>, L<guestmount(1)>, " "L<virt-alignment-scan(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, " "L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit(1)>, L<virt-filesystems(1)>, " "L<virt-format(1)>, L<virt-inspector(1)>, L<virt-list-filesystems(1)>, " @@ -56964,7 +57176,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:4070 +#: ../src/guestfs.pod:4077 msgid "" "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, " "L<lvm(8)>, L<disktype(1)>." diff --git a/po-docs/uk.po b/po-docs/uk.po index e46237c1..ee4a297b 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-11-13 14:41+0000\n" +"POT-Creation-Date: 2012-11-17 19:54+0000\n" "PO-Revision-Date: 2012-10-14 12:25+0000\n" "Last-Translator: rjones <rjones@redhat.com>\n" "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n" @@ -32,11 +32,12 @@ msgstr "" #: ../fish/virt-tar-out.pod:3 ../format/virt-format.pod:3 #: ../fuse/guestmount.pod:3 ../guestfs-release-notes.pod:3 #: ../inspector/virt-inspector.pod:3 ../java/examples/guestfs-java.pod:3 -#: ../ocaml/examples/guestfs-ocaml.pod:3 ../perl/examples/guestfs-perl.pod:3 -#: ../python/examples/guestfs-python.pod:3 ../rescue/virt-rescue.pod:3 -#: ../resize/virt-resize.pod:3 ../ruby/examples/guestfs-ruby.pod:3 -#: ../sparsify/virt-sparsify.pod:3 ../src/guestfs.pod:3 -#: ../sysprep/virt-sysprep.pod:3 ../test-tool/libguestfs-test-tool.pod:3 +#: ../lua/examples/guestfs-lua.pod:3 ../ocaml/examples/guestfs-ocaml.pod:3 +#: ../perl/examples/guestfs-perl.pod:3 ../python/examples/guestfs-python.pod:3 +#: ../rescue/virt-rescue.pod:3 ../resize/virt-resize.pod:3 +#: ../ruby/examples/guestfs-ruby.pod:3 ../sparsify/virt-sparsify.pod:3 +#: ../src/guestfs.pod:3 ../sysprep/virt-sysprep.pod:3 +#: ../test-tool/libguestfs-test-tool.pod:3 #: ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 #: ../tools/virt-make-fs.pl:36 ../tools/virt-tar.pl:31 #: ../tools/virt-win-reg.pl:35 @@ -59,12 +60,12 @@ msgstr "" #: ../fish/virt-copy-out.pod:7 ../fish/virt-tar-in.pod:7 #: ../fish/virt-tar-out.pod:7 ../format/virt-format.pod:7 #: ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pod:7 -#: ../java/examples/guestfs-java.pod:7 ../ocaml/examples/guestfs-ocaml.pod:7 -#: ../perl/examples/guestfs-perl.pod:7 ../python/examples/guestfs-python.pod:7 -#: ../rescue/virt-rescue.pod:7 ../resize/virt-resize.pod:7 -#: ../ruby/examples/guestfs-ruby.pod:7 ../sparsify/virt-sparsify.pod:7 -#: ../src/guestfs.pod:7 ../sysprep/virt-sysprep.pod:7 -#: ../test-tool/libguestfs-test-tool.pod:7 +#: ../java/examples/guestfs-java.pod:7 ../lua/examples/guestfs-lua.pod:7 +#: ../ocaml/examples/guestfs-ocaml.pod:7 ../perl/examples/guestfs-perl.pod:7 +#: ../python/examples/guestfs-python.pod:7 ../rescue/virt-rescue.pod:7 +#: ../resize/virt-resize.pod:7 ../ruby/examples/guestfs-ruby.pod:7 +#: ../sparsify/virt-sparsify.pod:7 ../src/guestfs.pod:7 +#: ../sysprep/virt-sysprep.pod:7 ../test-tool/libguestfs-test-tool.pod:7 #: ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 #: ../tools/virt-make-fs.pl:40 ../tools/virt-tar.pl:35 #: ../tools/virt-win-reg.pl:39 @@ -113,8 +114,8 @@ msgstr "" #: ../fish/virt-copy-out.pod:13 ../fish/virt-tar-in.pod:21 #: ../fish/virt-tar-out.pod:15 ../format/virt-format.pod:11 #: ../fuse/guestmount.pod:20 ../inspector/virt-inspector.pod:19 -#: ../java/examples/guestfs-java.pod:15 ../ocaml/examples/guestfs-ocaml.pod:25 -#: ../perl/examples/guestfs-perl.pod:19 +#: ../java/examples/guestfs-java.pod:15 ../lua/examples/guestfs-lua.pod:16 +#: ../ocaml/examples/guestfs-ocaml.pod:25 ../perl/examples/guestfs-perl.pod:19 #: ../python/examples/guestfs-python.pod:14 ../rescue/virt-rescue.pod:31 #: ../resize/virt-resize.pod:13 ../ruby/examples/guestfs-ruby.pod:15 #: ../sparsify/virt-sparsify.pod:11 ../src/guestfs.pod:24 @@ -543,7 +544,7 @@ msgstr "" #: ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 #: ../fish/guestfish.pod:689 ../format/virt-format.pod:96 #: ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 -#: ../src/guestfs.pod:3581 ../sysprep/virt-sysprep.pod:112 +#: ../src/guestfs.pod:3585 ../sysprep/virt-sysprep.pod:112 msgid "For example:" msgstr "Приклад:" @@ -1095,12 +1096,12 @@ msgstr "Ця програма повертає:" #: ../examples/guestfs-performance.pod:118 #: ../examples/guestfs-performance.pod:253 #: ../examples/guestfs-performance.pod:258 -#: ../examples/guestfs-performance.pod:263 ../examples/guestfs-recipes.pod:128 -#: ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:136 -#: ../examples/guestfs-recipes.pod:162 ../examples/guestfs-recipes.pod:167 -#: ../examples/guestfs-recipes.pod:257 ../examples/guestfs-recipes.pod:261 -#: ../examples/guestfs-recipes.pod:265 ../examples/guestfs-recipes.pod:269 -#: ../examples/guestfs-recipes.pod:273 ../examples/guestfs-testing.pod:124 +#: ../examples/guestfs-performance.pod:263 ../examples/guestfs-recipes.pod:138 +#: ../examples/guestfs-recipes.pod:142 ../examples/guestfs-recipes.pod:146 +#: ../examples/guestfs-recipes.pod:172 ../examples/guestfs-recipes.pod:177 +#: ../examples/guestfs-recipes.pod:267 ../examples/guestfs-recipes.pod:271 +#: ../examples/guestfs-recipes.pod:275 ../examples/guestfs-recipes.pod:279 +#: ../examples/guestfs-recipes.pod:283 ../examples/guestfs-testing.pod:124 #: ../examples/guestfs-testing.pod:128 ../examples/guestfs-testing.pod:132 #: ../fish/guestfish-actions.pod:432 ../fish/guestfish-actions.pod:440 #: ../fish/guestfish-actions.pod:447 ../fish/guestfish-actions.pod:454 @@ -1148,20 +1149,20 @@ msgstr "Ця програма повертає:" #: ../src/guestfs-actions.pod:4490 ../src/guestfs-actions.pod:4497 #: ../src/guestfs.pod:397 ../src/guestfs.pod:402 ../src/guestfs.pod:407 #: ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:420 -#: ../src/guestfs.pod:425 ../src/guestfs.pod:430 ../src/guestfs.pod:1264 -#: ../src/guestfs.pod:1268 ../src/guestfs.pod:1272 ../src/guestfs.pod:1277 -#: ../src/guestfs.pod:1285 ../src/guestfs.pod:1304 ../src/guestfs.pod:1312 -#: ../src/guestfs.pod:1329 ../src/guestfs.pod:1334 ../src/guestfs.pod:1338 -#: ../src/guestfs.pod:1480 ../src/guestfs.pod:1484 ../src/guestfs.pod:1488 -#: ../src/guestfs.pod:1492 ../src/guestfs.pod:1496 ../src/guestfs.pod:1500 -#: ../src/guestfs.pod:2134 ../src/guestfs.pod:2139 ../src/guestfs.pod:2143 -#: ../src/guestfs.pod:2247 ../src/guestfs.pod:2252 ../src/guestfs.pod:2256 -#: ../src/guestfs.pod:2266 ../src/guestfs.pod:2693 ../src/guestfs.pod:2698 -#: ../src/guestfs.pod:2704 ../src/guestfs.pod:2712 ../src/guestfs.pod:3229 -#: ../src/guestfs.pod:3235 ../src/guestfs.pod:3240 ../src/guestfs.pod:3246 -#: ../src/guestfs.pod:3776 ../src/guestfs.pod:3781 ../src/guestfs.pod:3785 -#: ../src/guestfs.pod:3789 ../src/guestfs.pod:3793 ../src/guestfs.pod:3807 -#: ../src/guestfs.pod:3812 ../sysprep/virt-sysprep.pod:231 +#: ../src/guestfs.pod:425 ../src/guestfs.pod:430 ../src/guestfs.pod:1268 +#: ../src/guestfs.pod:1272 ../src/guestfs.pod:1276 ../src/guestfs.pod:1281 +#: ../src/guestfs.pod:1289 ../src/guestfs.pod:1308 ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1333 ../src/guestfs.pod:1338 ../src/guestfs.pod:1342 +#: ../src/guestfs.pod:1484 ../src/guestfs.pod:1488 ../src/guestfs.pod:1492 +#: ../src/guestfs.pod:1496 ../src/guestfs.pod:1500 ../src/guestfs.pod:1504 +#: ../src/guestfs.pod:2138 ../src/guestfs.pod:2143 ../src/guestfs.pod:2147 +#: ../src/guestfs.pod:2251 ../src/guestfs.pod:2256 ../src/guestfs.pod:2260 +#: ../src/guestfs.pod:2270 ../src/guestfs.pod:2697 ../src/guestfs.pod:2702 +#: ../src/guestfs.pod:2708 ../src/guestfs.pod:2716 ../src/guestfs.pod:3233 +#: ../src/guestfs.pod:3239 ../src/guestfs.pod:3244 ../src/guestfs.pod:3250 +#: ../src/guestfs.pod:3782 ../src/guestfs.pod:3787 ../src/guestfs.pod:3791 +#: ../src/guestfs.pod:3795 ../src/guestfs.pod:3799 ../src/guestfs.pod:3813 +#: ../src/guestfs.pod:3818 ../sysprep/virt-sysprep.pod:231 #: ../sysprep/virt-sysprep.pod:235 ../sysprep/virt-sysprep.pod:239 #: ../sysprep/virt-sysprep.pod:243 ../sysprep/virt-sysprep.pod:258 #: ../sysprep/virt-sysprep.pod:262 ../sysprep/virt-sysprep.pod:266 @@ -1189,7 +1190,7 @@ msgstr "" "найкращої швидкодії" #. type: =item -#: ../align/virt-alignment-scan.pod:355 ../src/guestfs.pod:1737 +#: ../align/virt-alignment-scan.pod:355 ../src/guestfs.pod:1741 msgid "1" msgstr "1" @@ -1199,7 +1200,7 @@ msgid "an error scanning the disk image or guest" msgstr "під час сканування образу диска або гостьової системи сталася помилка" #. type: =item -#: ../align/virt-alignment-scan.pod:361 ../src/guestfs.pod:1741 +#: ../align/virt-alignment-scan.pod:361 ../src/guestfs.pod:1745 msgid "2" msgstr "2" @@ -1211,7 +1212,7 @@ msgid "" msgstr "" #. type: =item -#: ../align/virt-alignment-scan.pod:368 ../src/guestfs.pod:1745 +#: ../align/virt-alignment-scan.pod:368 ../src/guestfs.pod:1749 msgid "3" msgstr "3" @@ -1229,17 +1230,17 @@ msgstr "" #: ../cat/virt-ls.pod:495 ../daemon/guestfsd.pod:92 ../df/virt-df.pod:253 #: ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97 #: ../examples/guestfs-examples.pod:33 ../examples/guestfs-faq.pod:796 -#: ../examples/guestfs-performance.pod:429 ../examples/guestfs-recipes.pod:473 +#: ../examples/guestfs-performance.pod:429 ../examples/guestfs-recipes.pod:496 #: ../examples/guestfs-testing.pod:305 ../fish/guestfish.pod:1374 #: ../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:398 #: ../guestfs-release-notes.pod:1853 ../inspector/virt-inspector.pod:501 -#: ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 -#: ../perl/examples/guestfs-perl.pod:40 +#: ../java/examples/guestfs-java.pod:45 ../lua/examples/guestfs-lua.pod:78 +#: ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:40 #: ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:340 #: ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 -#: ../sparsify/virt-sparsify.pod:299 ../src/guestfs.pod:4025 +#: ../sparsify/virt-sparsify.pod:299 ../src/guestfs.pod:4031 #: ../sysprep/virt-sysprep.pod:480 ../test-tool/libguestfs-test-tool.pod:106 #: ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 #: ../tools/virt-make-fs.pl:627 ../tools/virt-tar.pl:294 @@ -1287,18 +1288,18 @@ msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>" #: ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:404 #: ../cat/virt-ls.pod:511 ../daemon/guestfsd.pod:101 ../df/virt-df.pod:265 #: ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114 -#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-faq.pod:806 -#: ../examples/guestfs-performance.pod:446 ../examples/guestfs-recipes.pod:490 +#: ../examples/guestfs-examples.pod:50 ../examples/guestfs-faq.pod:806 +#: ../examples/guestfs-performance.pod:446 ../examples/guestfs-recipes.pod:514 #: ../examples/guestfs-testing.pod:316 ../fish/guestfish.pod:1406 #: ../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:413 #: ../guestfs-release-notes.pod:1868 ../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:353 -#: ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52 -#: ../sparsify/virt-sparsify.pod:316 ../src/guestfs.pod:4081 +#: ../java/examples/guestfs-java.pod:63 ../lua/examples/guestfs-lua.pod:95 +#: ../ocaml/examples/guestfs-ocaml.pod:96 ../perl/examples/guestfs-perl.pod:58 +#: ../python/examples/guestfs-python.pod:59 ../rescue/virt-rescue.pod:353 +#: ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:53 +#: ../sparsify/virt-sparsify.pod:316 ../src/guestfs.pod:4088 #: ../sysprep/virt-sysprep.pod:501 ../test-tool/libguestfs-test-tool.pod:116 #: ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 #: ../tools/virt-make-fs.pl:646 ../tools/virt-tar.pl:313 @@ -1585,7 +1586,7 @@ msgstr "" #: ../appliance/libguestfs-make-fixed-appliance.pod:139 #: ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1202 #: ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:272 -#: ../src/guestfs.pod:3945 ../test-tool/libguestfs-test-tool.pod:101 +#: ../src/guestfs.pod:3951 ../test-tool/libguestfs-test-tool.pod:101 msgid "ENVIRONMENT VARIABLES" msgstr "ЗМІННІ СЕРЕДОВИЩА" @@ -1609,16 +1610,16 @@ msgstr "" #. type: =head1 #: ../appliance/libguestfs-make-fixed-appliance.pod:153 #: ../erlang/examples/guestfs-erlang.pod:110 -#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-faq.pod:802 -#: ../examples/guestfs-performance.pod:442 ../examples/guestfs-recipes.pod:486 +#: ../examples/guestfs-examples.pod:46 ../examples/guestfs-faq.pod:802 +#: ../examples/guestfs-performance.pod:442 ../examples/guestfs-recipes.pod:510 #: ../examples/guestfs-testing.pod:312 ../fish/guestfish.pod:1402 #: ../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:409 ../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:4077 +#: ../java/examples/guestfs-java.pod:59 ../lua/examples/guestfs-lua.pod:91 +#: ../ocaml/examples/guestfs-ocaml.pod:92 ../perl/examples/guestfs-perl.pod:54 +#: ../python/examples/guestfs-python.pod:55 +#: ../ruby/examples/guestfs-ruby.pod:49 ../src/guestfs.pod:4084 #: ../sysprep/virt-sysprep.pod:495 ../test-tool/libguestfs-test-tool.pod:112 msgid "AUTHORS" msgstr "АВТОРИ" @@ -1626,15 +1627,16 @@ msgstr "АВТОРИ" #. type: textblock #: ../appliance/libguestfs-make-fixed-appliance.pod:155 #: ../erlang/examples/guestfs-erlang.pod:112 -#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-faq.pod:804 -#: ../examples/guestfs-performance.pod:444 ../examples/guestfs-recipes.pod:488 +#: ../examples/guestfs-examples.pod:48 ../examples/guestfs-faq.pod:804 +#: ../examples/guestfs-performance.pod:444 ../examples/guestfs-recipes.pod:512 #: ../examples/guestfs-testing.pod:314 ../fish/guestfish.pod:1404 #: ../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:411 ../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:4079 +#: ../fuse/guestmount.pod:411 ../java/examples/guestfs-java.pod:61 +#: ../lua/examples/guestfs-lua.pod:93 ../ocaml/examples/guestfs-ocaml.pod:94 +#: ../perl/examples/guestfs-perl.pod:56 +#: ../python/examples/guestfs-python.pod:57 +#: ../ruby/examples/guestfs-ruby.pod:51 ../src/guestfs.pod:4086 #: ../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>)" @@ -1642,9 +1644,9 @@ msgstr "Richard W.M. Jones (C<rjones at redhat dot com>)" #. type: textblock #: ../appliance/libguestfs-make-fixed-appliance.pod:159 ../cat/virt-ls.pod:513 #: ../daemon/guestfsd.pod:103 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388 -#: ../examples/guestfs-recipes.pod:492 ../fish/guestfish.pod:1408 +#: ../examples/guestfs-recipes.pod:516 ../fish/guestfish.pod:1408 #: ../fuse/guestmount.pod:415 ../guestfs-release-notes.pod:1870 -#: ../rescue/virt-rescue.pod:355 ../src/guestfs.pod:4083 +#: ../rescue/virt-rescue.pod:355 ../src/guestfs.pod:4090 #: ../test-tool/libguestfs-test-tool.pod:118 #: ../tools/virt-list-partitions.pl:285 msgid "Copyright (C) 2009-2012 Red Hat Inc." @@ -2096,10 +2098,10 @@ msgstr "" #. type: textblock #: ../cat/virt-cat.pod:258 ../cat/virt-filesystems.pod:406 -#: ../examples/guestfs-examples.pod:51 ../inspector/virt-inspector.pod:526 -#: ../ocaml/examples/guestfs-ocaml.pod:97 -#: ../python/examples/guestfs-python.pod:60 ../resize/virt-resize.pod:731 -#: ../ruby/examples/guestfs-ruby.pod:54 ../tools/virt-make-fs.pl:648 +#: ../examples/guestfs-examples.pod:52 ../inspector/virt-inspector.pod:526 +#: ../ocaml/examples/guestfs-ocaml.pod:98 +#: ../python/examples/guestfs-python.pod:61 ../resize/virt-resize.pod:731 +#: ../ruby/examples/guestfs-ruby.pod:55 ../tools/virt-make-fs.pl:648 msgid "Copyright (C) 2010-2012 Red Hat Inc." msgstr "© Red Hat Inc., 2010–2012" @@ -4652,7 +4654,7 @@ msgid "" msgstr "" #. type: =head2 -#: ../erlang/examples/guestfs-erlang.pod:23 +#: ../erlang/examples/guestfs-erlang.pod:23 ../lua/examples/guestfs-lua.pod:23 msgid "OPENING AND CLOSING THE HANDLE" msgstr "" @@ -4699,7 +4701,7 @@ msgid "" msgstr "" #. type: =head2 -#: ../erlang/examples/guestfs-erlang.pod:40 +#: ../erlang/examples/guestfs-erlang.pod:40 ../lua/examples/guestfs-lua.pod:48 msgid "FUNCTIONS WITH OPTIONAL ARGUMENTS" msgstr "" @@ -4811,7 +4813,8 @@ msgstr "C<Аргумент> — назва невідомого аргумент #. type: =head1 #: ../erlang/examples/guestfs-erlang.pod:89 #: ../examples/guestfs-examples.pod:25 ../java/examples/guestfs-java.pod:37 -#: ../ocaml/examples/guestfs-ocaml.pod:70 ../perl/examples/guestfs-perl.pod:32 +#: ../lua/examples/guestfs-lua.pod:70 ../ocaml/examples/guestfs-ocaml.pod:70 +#: ../perl/examples/guestfs-perl.pod:32 #: ../python/examples/guestfs-python.pod:34 #: ../ruby/examples/guestfs-ruby.pod:28 msgid "EXAMPLE 1: CREATE A DISK IMAGE" @@ -4820,7 +4823,8 @@ msgstr "ПРИКЛАД 1. СТВОРЕННЯ ОБРАЗУ ДИСКА" #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:91 #: ../examples/guestfs-examples.pod:27 ../java/examples/guestfs-java.pod:39 -#: ../ocaml/examples/guestfs-ocaml.pod:72 ../perl/examples/guestfs-perl.pod:34 +#: ../lua/examples/guestfs-lua.pod:72 ../ocaml/examples/guestfs-ocaml.pod:72 +#: ../perl/examples/guestfs-perl.pod:34 #: ../python/examples/guestfs-python.pod:36 #: ../ruby/examples/guestfs-ruby.pod:30 msgid "@EXAMPLE1@" @@ -4829,7 +4833,8 @@ msgstr "@EXAMPLE1@" #. type: =head1 #: ../erlang/examples/guestfs-erlang.pod:93 #: ../examples/guestfs-examples.pod:29 ../java/examples/guestfs-java.pod:41 -#: ../ocaml/examples/guestfs-ocaml.pod:74 ../perl/examples/guestfs-perl.pod:36 +#: ../lua/examples/guestfs-lua.pod:74 ../ocaml/examples/guestfs-ocaml.pod:74 +#: ../perl/examples/guestfs-perl.pod:36 #: ../python/examples/guestfs-python.pod:38 #: ../ruby/examples/guestfs-ruby.pod:32 msgid "EXAMPLE 2: INSPECT A VIRTUAL MACHINE DISK IMAGE" @@ -4838,14 +4843,15 @@ msgstr "ПРИКЛАД 2. ПЕРЕВІРКА ОБРАЗУ ДИСКА ВІРТУ #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:95 #: ../examples/guestfs-examples.pod:31 ../java/examples/guestfs-java.pod:43 -#: ../ocaml/examples/guestfs-ocaml.pod:76 ../perl/examples/guestfs-perl.pod:38 +#: ../lua/examples/guestfs-lua.pod:76 ../ocaml/examples/guestfs-ocaml.pod:76 +#: ../perl/examples/guestfs-perl.pod:38 #: ../python/examples/guestfs-python.pod:40 #: ../ruby/examples/guestfs-ruby.pod:34 msgid "@EXAMPLE2@" msgstr "@EXAMPLE2@" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:99 +#: ../erlang/examples/guestfs-erlang.pod:99 ../lua/examples/guestfs-lua.pod:80 msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)" ">, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " @@ -4859,8 +4865,8 @@ msgstr "" #: ../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:318 +#: ../fish/virt-tar-out.pod:57 ../java/examples/guestfs-java.pod:65 +#: ../perl/examples/guestfs-perl.pod:60 ../sparsify/virt-sparsify.pod:318 #: ../sysprep/virt-sysprep.pod:503 msgid "Copyright (C) 2011-2012 Red Hat Inc." msgstr "" @@ -4918,10 +4924,15 @@ msgstr "" #. type: textblock #: ../examples/guestfs-examples.pod:35 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml" +#| "(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " +#| "L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgid "" -"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)" -">, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " -"L<guestfs-ruby(3)>, L<http://libguestfs.org/>." +"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, " +"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-" +"recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgstr "" "L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)" ">, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " @@ -5374,7 +5385,7 @@ msgstr "" #: ../examples/guestfs-faq.pod:504 ../examples/guestfs-faq.pod:509 #: ../examples/guestfs-faq.pod:630 ../examples/guestfs-faq.pod:635 #: ../guestfs-release-notes.pod:14 ../guestfs-release-notes.pod:21 -#: ../src/guestfs.pod:2839 ../src/guestfs.pod:2844 +#: ../src/guestfs.pod:2843 ../src/guestfs.pod:2848 msgid "html" msgstr "html" @@ -6560,7 +6571,7 @@ msgstr "" #. type: textblock #: ../examples/guestfs-faq.pod:808 ../examples/guestfs-performance.pod:448 -#: ../format/virt-format.pod:193 +#: ../format/virt-format.pod:193 ../lua/examples/guestfs-lua.pod:97 msgid "Copyright (C) 2012 Red Hat Inc." msgstr "" @@ -6864,11 +6875,11 @@ msgstr "" #. type: =item #: ../examples/guestfs-performance.pod:162 -#: ../examples/guestfs-performance.pod:211 ../examples/guestfs-recipes.pod:288 +#: ../examples/guestfs-performance.pod:211 ../examples/guestfs-recipes.pod:298 #: ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 #: ../sparsify/virt-sparsify.pod:243 ../src/guestfs.pod:478 -#: ../src/guestfs.pod:1349 ../src/guestfs.pod:1603 ../src/guestfs.pod:1850 -#: ../src/guestfs.pod:3340 +#: ../src/guestfs.pod:1353 ../src/guestfs.pod:1607 ../src/guestfs.pod:1854 +#: ../src/guestfs.pod:3344 msgid "1." msgstr "1." @@ -6881,11 +6892,11 @@ msgstr "" #. type: =item #: ../examples/guestfs-performance.pod:168 -#: ../examples/guestfs-performance.pod:218 ../examples/guestfs-recipes.pod:294 +#: ../examples/guestfs-performance.pod:218 ../examples/guestfs-recipes.pod:304 #: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 #: ../sparsify/virt-sparsify.pod:250 ../src/guestfs.pod:484 -#: ../src/guestfs.pod:1353 ../src/guestfs.pod:1607 ../src/guestfs.pod:1854 -#: ../src/guestfs.pod:3365 +#: ../src/guestfs.pod:1357 ../src/guestfs.pod:1611 ../src/guestfs.pod:1858 +#: ../src/guestfs.pod:3369 msgid "2." msgstr "2." @@ -6901,10 +6912,10 @@ msgstr "" #. type: =item #: ../examples/guestfs-performance.pod:176 -#: ../examples/guestfs-performance.pod:224 ../examples/guestfs-recipes.pod:300 +#: ../examples/guestfs-performance.pod:224 ../examples/guestfs-recipes.pod:310 #: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 #: ../sparsify/virt-sparsify.pod:256 ../src/guestfs.pod:495 -#: ../src/guestfs.pod:1357 ../src/guestfs.pod:1860 +#: ../src/guestfs.pod:1361 ../src/guestfs.pod:1864 msgid "3." msgstr "3." @@ -7161,7 +7172,7 @@ msgid "Save the following script as C<time.stap>:" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2787 +#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2791 #, no-wrap msgid "" " global last;\n" @@ -7169,7 +7180,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:324 ../src/guestfs.pod:2789 +#: ../examples/guestfs-performance.pod:324 ../src/guestfs.pod:2793 #, no-wrap msgid "" " function display_time () {\n" @@ -7182,7 +7193,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:331 ../src/guestfs.pod:2796 +#: ../examples/guestfs-performance.pod:331 ../src/guestfs.pod:2800 #, no-wrap msgid "" " printf (\"%d (+%d):\", now, delta);\n" @@ -7191,7 +7202,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:334 ../src/guestfs.pod:2799 +#: ../examples/guestfs-performance.pod:334 ../src/guestfs.pod:2803 #, no-wrap msgid "" " probe begin {\n" @@ -7202,7 +7213,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:339 ../src/guestfs.pod:2804 +#: ../examples/guestfs-performance.pod:339 ../src/guestfs.pod:2808 #, no-wrap msgid "" " /* Display all calls to static markers. */\n" @@ -7311,7 +7322,7 @@ msgstr "" #. type: verbatim #: ../examples/guestfs-performance.pod:394 ../fish/guestfish.pod:998 -#: ../src/guestfs.pod:1113 +#: ../src/guestfs.pod:1117 #, no-wrap msgid "" " #!/bin/bash -\n" @@ -7647,19 +7658,40 @@ msgstr "" #. type: =head1 #: ../examples/guestfs-recipes.pod:104 -msgid "Dump raw filesystem content from inside a disk image or VM" +msgid "Diff two guests; compare a snapshot to the current version" msgstr "" #. type: textblock #: ../examples/guestfs-recipes.pod:106 msgid "" +"L<virt-ls(1)> provides a simple way to find the differences between two " +"guests (for example if they were originally cloned from the same source), or " +"between two snapshots from the same guest. See L<virt-ls(1)/DIFFERENCES IN " +"SNAPSHOTS AND BACKING FILES>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:111 +msgid "" +"There are also experimental patches on the mailing list for a \"virt-diff\" " +"tool." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-recipes.pod:114 +msgid "Dump raw filesystem content from inside a disk image or VM" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-recipes.pod:116 +msgid "" "You can use the L<guestfish(1)> C<download> command to extract the raw " "filesystem content from any filesystem in a disk image or a VM (even one " "which is encrypted or buried inside an LV or RAID device):" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:110 +#: ../examples/guestfs-recipes.pod:120 #, no-wrap msgid "" " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" @@ -7669,7 +7701,7 @@ msgstr "" "\n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:112 +#: ../examples/guestfs-recipes.pod:122 #, no-wrap msgid "" " guestfish --ro -d Guest run : download /dev/vg_guest/lv_root lv.img\n" @@ -7679,60 +7711,65 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:114 +#: ../examples/guestfs-recipes.pod:124 msgid "To download to stdout, replace the filename with a C<-> character:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:116 -#, no-wrap +#: ../examples/guestfs-recipes.pod:126 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +#| "\n" msgid "" -" guestfish --ro -a disk.img run : download /dev/sda1 - | hexdump -C\n" +" guestfish --ro -a disk.img run : download /dev/sda1 - | gzip > sda1.gz\n" "\n" msgstr "" +" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +"\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:118 +#: ../examples/guestfs-recipes.pod:128 msgid "To list the filesystems in a disk image, use L<virt-filesystems(1)>." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:120 +#: ../examples/guestfs-recipes.pod:130 msgid "See also L</Uploading raw filesystem content>." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:122 +#: ../examples/guestfs-recipes.pod:132 msgid "Edit grub configuration in a VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:124 +#: ../examples/guestfs-recipes.pod:134 msgid "You can use this to:" msgstr "Ви можете скористатися цим для того, щоб виконати такі завдання:" #. type: textblock -#: ../examples/guestfs-recipes.pod:130 +#: ../examples/guestfs-recipes.pod:140 msgid "Fix a virtual machine that does not boot." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:134 +#: ../examples/guestfs-recipes.pod:144 msgid "Change which kernel is used to boot the VM." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:138 +#: ../examples/guestfs-recipes.pod:148 msgid "Change kernel command line options." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:142 +#: ../examples/guestfs-recipes.pod:152 msgid "Use L<virt-edit(1)> to edit the grub configuration:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:144 +#: ../examples/guestfs-recipes.pod:154 #, no-wrap msgid "" " virt-edit -d BrokenGuest /boot/grub2/grub.cfg\n" @@ -7740,14 +7777,14 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:146 +#: ../examples/guestfs-recipes.pod:156 msgid "" "or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like " "this:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:149 +#: ../examples/guestfs-recipes.pod:159 #, no-wrap msgid "" " virt-rescue -d BrokenGuest\n" @@ -7757,18 +7794,18 @@ msgstr "" "\n" #. type: =head1 -#: ../examples/guestfs-recipes.pod:151 +#: ../examples/guestfs-recipes.pod:161 msgid "Export any directory from a VM" msgstr "Експортувати будь-який каталог з віртуальної машини" #. type: textblock -#: ../examples/guestfs-recipes.pod:153 +#: ../examples/guestfs-recipes.pod:163 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:156 ../examples/guestfs-testing.pod:107 +#: ../examples/guestfs-recipes.pod:166 ../examples/guestfs-testing.pod:107 #, no-wrap msgid "" " virt-copy-out -d Guest /home .\n" @@ -7778,28 +7815,28 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:158 ../fish/guestfish-actions.pod:1699 +#: ../examples/guestfs-recipes.pod:168 ../fish/guestfish-actions.pod:1699 #: ../fish/guestfish-actions.pod:2209 ../fish/guestfish-actions.pod:2801 #: ../src/guestfs-actions.pod:2781 ../src/guestfs-actions.pod:3584 -#: ../src/guestfs-actions.pod:4465 ../src/guestfs.pod:2130 +#: ../src/guestfs-actions.pod:4465 ../src/guestfs.pod:2134 #: ../tools/virt-win-reg.pl:707 msgid "Notes:" msgstr "Нотатки:" #. type: textblock -#: ../examples/guestfs-recipes.pod:164 +#: ../examples/guestfs-recipes.pod:174 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:169 +#: ../examples/guestfs-recipes.pod:179 msgid "This creates a directory called C<home> under the current directory." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:173 +#: ../examples/guestfs-recipes.pod:183 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 " @@ -7807,7 +7844,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:177 +#: ../examples/guestfs-recipes.pod:187 #, no-wrap msgid "" " virt-copy-out -d WinGuest 'win:c:\\windows\\system32\\config' .\n" @@ -7817,12 +7854,12 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:179 +#: ../examples/guestfs-recipes.pod:189 msgid "To get the output as a compressed tarball, do:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:181 +#: ../examples/guestfs-recipes.pod:191 #, no-wrap msgid "" " virt-tar-out -d Guest /home - | gzip --best > home.tar.gz\n" @@ -7832,7 +7869,7 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:183 +#: ../examples/guestfs-recipes.pod:193 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." @@ -7840,19 +7877,19 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:187 +#: ../examples/guestfs-recipes.pod:197 msgid "Find out which user is using the most space" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:189 +#: ../examples/guestfs-recipes.pod:199 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:192 +#: ../examples/guestfs-recipes.pod:202 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -7862,7 +7899,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:194 ../fish/guestfish.pod:1000 +#: ../examples/guestfs-recipes.pod:204 ../fish/guestfish.pod:1000 #, no-wrap msgid "" " set -e\n" @@ -7872,7 +7909,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:196 +#: ../examples/guestfs-recipes.pod:206 #, no-wrap msgid "" " vm=\"$1\"\n" @@ -7884,7 +7921,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:199 +#: ../examples/guestfs-recipes.pod:209 #, no-wrap msgid "" " eval $(guestfish --ro -d \"$vm\" -i --listen)\n" @@ -7894,7 +7931,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:201 +#: ../examples/guestfs-recipes.pod:211 #, no-wrap msgid "" " for d in $(guestfish --remote ls \"$dir\"); do\n" @@ -7912,7 +7949,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-recipes.pod:207 ../fish/guestfish.pod:957 +#: ../examples/guestfs-recipes.pod:217 ../fish/guestfish.pod:957 #, no-wrap msgid "" " guestfish --remote exit\n" @@ -7922,43 +7959,43 @@ msgstr "" "\n" #. type: =head1 -#: ../examples/guestfs-recipes.pod:209 +#: ../examples/guestfs-recipes.pod:219 msgid "Get DHCP address from a VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:211 +#: ../examples/guestfs-recipes.pod:221 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:214 +#: ../examples/guestfs-recipes.pod:224 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:216 +#: ../examples/guestfs-recipes.pod:226 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:219 +#: ../examples/guestfs-recipes.pod:229 msgid "Get the operating system product name string" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:221 +#: ../examples/guestfs-recipes.pod:231 msgid "Save the following script into a file called C<product-name.sh>:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:223 +#: ../examples/guestfs-recipes.pod:233 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -7978,12 +8015,12 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:230 +#: ../examples/guestfs-recipes.pod:240 msgid "Make the script executable and run it on a named guest:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:232 +#: ../examples/guestfs-recipes.pod:242 #, no-wrap msgid "" " # product-name.sh RHEL60x64\n" @@ -7992,14 +8029,14 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:235 +#: ../examples/guestfs-recipes.pod:245 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:239 +#: ../examples/guestfs-recipes.pod:249 #, no-wrap msgid "" " # virt-inspector RHEL60x64 > xml\n" @@ -8017,80 +8054,80 @@ msgstr "" "\n" #. type: =head1 -#: ../examples/guestfs-recipes.pod:245 +#: ../examples/guestfs-recipes.pod:255 msgid "Get the default boot kernel for a Linux VM" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:247 +#: ../examples/guestfs-recipes.pod:257 msgid "" "The link below contains a program to print the default boot kernel for a " "Linux VM." msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:250 +#: ../examples/guestfs-recipes.pod:260 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:252 +#: ../examples/guestfs-recipes.pod:262 msgid "" "It uses Augeas, and the technique is generally applicable for many different " "tasks, such as:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:259 +#: ../examples/guestfs-recipes.pod:269 msgid "listing the user accounts in the guest" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:263 +#: ../examples/guestfs-recipes.pod:273 msgid "what repositories is it configured to use" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:267 +#: ../examples/guestfs-recipes.pod:277 msgid "what NTP servers does it connect to" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:271 +#: ../examples/guestfs-recipes.pod:281 msgid "what were the boot messages last time it booted" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:275 +#: ../examples/guestfs-recipes.pod:285 msgid "listing who was logged in recently" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:279 +#: ../examples/guestfs-recipes.pod:289 msgid "L<http://augeas.net/>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:281 +#: ../examples/guestfs-recipes.pod:291 msgid "Hanging guests" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:283 +#: ../examples/guestfs-recipes.pod:293 msgid "" "There are various ways to use libguestfs to find out why a guest is hanging " "or unresponsive:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:290 +#: ../examples/guestfs-recipes.pod:300 msgid "Read the log files using virt-cat:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:292 +#: ../examples/guestfs-recipes.pod:302 #, no-wrap msgid "" " virt-cat Guest /var/log/messages | less\n" @@ -8098,41 +8135,92 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:296 +#: ../examples/guestfs-recipes.pod:306 msgid "Read the Windows Event Log (Windows Vista or later only):" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:298 ../examples/guestfs-recipes.pod:400 +#: ../examples/guestfs-recipes.pod:308 ../examples/guestfs-recipes.pod:423 msgid "" "L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-" "guestfish/#content>" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:302 +#: ../examples/guestfs-recipes.pod:312 msgid "Find out which files were last updated in a guest:" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:304 +#: ../examples/guestfs-recipes.pod:314 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:306 +#: ../examples/guestfs-recipes.pod:316 msgid "This might give you a clue as to what program is running." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:310 +#: ../examples/guestfs-recipes.pod:320 +#, fuzzy +#| msgid "Remove many log files from the guest." +msgid "Hex-dumping sectors from the guest" +msgstr "Вилучити з гостьової системи багато файлів журналів." + +#. type: textblock +#: ../examples/guestfs-recipes.pod:322 +msgid "Hex-dump the boot partition:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-recipes.pod:324 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +#| "\n" +msgid "" +" guestfish --ro -a disk.img run : pread-device /dev/sda 0x200 0 |\n" +" hexdump -C\n" +"\n" +msgstr "" +" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +"\n" + +#. type: =head1 +#: ../examples/guestfs-recipes.pod:327 +#, fuzzy +#| msgid "Remove \".ssh\" directories in the guest." +msgid "Hex-editing sectors in the guest" +msgstr "Вилучити каталоги «.ssh» у гостьовій системі." + +#. type: textblock +#: ../examples/guestfs-recipes.pod:329 +msgid "Hex-edit the first sector (boot partition):" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-recipes.pod:331 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +#| "\n" +msgid "" +" guestfish --rw -a disk.img run : hexedit /dev/sda 0x200\n" +"\n" +msgstr "" +" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +"\n" + +#. type: =head1 +#: ../examples/guestfs-recipes.pod:333 msgid "Install RPMs in a guest" msgstr "Встановлення RPM у гостьовій системі" #. type: textblock -#: ../examples/guestfs-recipes.pod:312 +#: ../examples/guestfs-recipes.pod:335 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 " @@ -8141,30 +8229,30 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:318 +#: ../examples/guestfs-recipes.pod:341 msgid "" "L<https://rwmj.wordpress.com/2010/12/01/tip-install-rpms-in-a-guest/#content>" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:320 +#: ../examples/guestfs-recipes.pod:343 msgid "" "Since libguestfs 1.20, L<virt-sysprep(1)> has an option for installing " "firstboot scripts in Linux guests." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:323 +#: ../examples/guestfs-recipes.pod:346 msgid "List applications installed in a VM" msgstr "Показати список програм, встановлених у віртуальній машині" #. type: textblock -#: ../examples/guestfs-recipes.pod:325 +#: ../examples/guestfs-recipes.pod:348 msgid "Save the following to a file C<list-apps.sh>:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:327 +#: ../examples/guestfs-recipes.pod:350 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -8184,14 +8272,14 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:334 +#: ../examples/guestfs-recipes.pod:357 msgid "" "Make the file executable and then you can run it on any named virtual " "machine:" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:337 +#: ../examples/guestfs-recipes.pod:360 #, no-wrap msgid "" " # list-apps.sh WinGuest\n" @@ -8257,7 +8345,7 @@ msgstr "" "\n" #. type: textblock -#: ../examples/guestfs-recipes.pod:367 +#: ../examples/guestfs-recipes.pod:390 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)" @@ -8265,22 +8353,22 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:371 +#: ../examples/guestfs-recipes.pod:394 msgid "List files and directories in a VM" msgstr "Показати список файлів і каталогів у віртуальній машині" #. type: textblock -#: ../examples/guestfs-recipes.pod:373 +#: ../examples/guestfs-recipes.pod:396 msgid "Use L<virt-ls(1)>." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:375 +#: ../examples/guestfs-recipes.pod:398 msgid "List services in a Windows VM" msgstr "Показати список служб у віртуальній машині Windows" #. type: textblock -#: ../examples/guestfs-recipes.pod:377 +#: ../examples/guestfs-recipes.pod:400 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 " @@ -8288,46 +8376,46 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:381 +#: ../examples/guestfs-recipes.pod:404 msgid "" "L<https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/" "#content>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:383 +#: ../examples/guestfs-recipes.pod:406 msgid "Make a disk image sparse" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:385 +#: ../examples/guestfs-recipes.pod:408 msgid "Use L<virt-sparsify(1)>." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:387 +#: ../examples/guestfs-recipes.pod:410 msgid "Monitor disk usage over time" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:389 +#: ../examples/guestfs-recipes.pod:412 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:392 +#: ../examples/guestfs-recipes.pod:415 msgid "L<http://virt-tools.org/learning/advanced-virt-df/>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:394 +#: ../examples/guestfs-recipes.pod:417 msgid "Reading the Windows Event Log from Windows Vista (or later)" msgstr "Читання журналу подій у Windows з версії Windows Vista" #. type: textblock -#: ../examples/guestfs-recipes.pod:396 +#: ../examples/guestfs-recipes.pod:419 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 " @@ -8335,19 +8423,19 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:402 +#: ../examples/guestfs-recipes.pod:425 msgid "Remove root password (Linux)" msgstr "Вилучення пароля root (Linux)" #. type: textblock -#: ../examples/guestfs-recipes.pod:404 +#: ../examples/guestfs-recipes.pod:427 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:407 +#: ../examples/guestfs-recipes.pod:430 #, no-wrap msgid "" " virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n" @@ -8357,12 +8445,12 @@ msgstr "" "\n" #. type: =head1 -#: ../examples/guestfs-recipes.pod:409 +#: ../examples/guestfs-recipes.pod:432 msgid "Remove Administrator password (Windows)" msgstr "Вилучення пароля адміністратора (Windows)" #. type: textblock -#: ../examples/guestfs-recipes.pod:411 +#: ../examples/guestfs-recipes.pod:434 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 " @@ -8370,19 +8458,19 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:416 +#: ../examples/guestfs-recipes.pod:439 msgid "" "L<https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-" "administrator-password-with-guestfish/>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:418 +#: ../examples/guestfs-recipes.pod:441 msgid "Sysprepping a virtual machine (Windows)" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:420 +#: ../examples/guestfs-recipes.pod:443 msgid "" "It is possible to do a \"sysprep\" using libguestfs alone, although not " "straightforward. Currently there is code in the Aeolus Oz project which " @@ -8391,19 +8479,19 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:425 +#: ../examples/guestfs-recipes.pod:448 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:428 +#: ../examples/guestfs-recipes.pod:451 msgid "Unpack a live CD" msgstr "Розпакування компакт-диска з портативною системою" #. type: textblock -#: ../examples/guestfs-recipes.pod:430 +#: ../examples/guestfs-recipes.pod:453 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 " @@ -8411,45 +8499,45 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:434 +#: ../examples/guestfs-recipes.pod:457 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:436 +#: ../examples/guestfs-recipes.pod:459 msgid "Uploading and downloading files" msgstr "Вивантаження і звантаження файлів" #. type: textblock -#: ../examples/guestfs-recipes.pod:438 +#: ../examples/guestfs-recipes.pod:461 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:441 +#: ../examples/guestfs-recipes.pod:464 msgid "" "L<https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/" "#content>" msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:443 +#: ../examples/guestfs-recipes.pod:466 msgid "Uploading raw filesystem content" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:445 +#: ../examples/guestfs-recipes.pod:468 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:449 +#: ../examples/guestfs-recipes.pod:472 #, no-wrap msgid "" " guestfish --rw -a disk.img run : upload sda1.img /dev/sda1\n" @@ -8457,7 +8545,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:451 +#: ../examples/guestfs-recipes.pod:474 #, no-wrap msgid "" " guestfish --rw -d Guest run : upload lv.img /dev/vg_guest/lv_root\n" @@ -8465,7 +8553,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:453 +#: ../examples/guestfs-recipes.pod:476 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 - " @@ -8475,7 +8563,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:459 +#: ../examples/guestfs-recipes.pod:482 #, no-wrap msgid "" " guestfish --rw -d Guest run : \\\n" @@ -8485,35 +8573,40 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:463 +#: ../examples/guestfs-recipes.pod:486 msgid "(or use C<ntfsresize> if the filesystem is NTFS)." msgstr "" #. type: =head1 -#: ../examples/guestfs-recipes.pod:465 +#: ../examples/guestfs-recipes.pod:488 msgid "Use libguestfs tools on VMware ESX guests" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:467 +#: ../examples/guestfs-recipes.pod:490 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:471 +#: ../examples/guestfs-recipes.pod:494 msgid "" "L<https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-" "guests/#content>" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:475 +#: ../examples/guestfs-recipes.pod:498 +#, fuzzy +#| 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-python(3)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." 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-" -"python(3)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." +">, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl" +"(3)>, L<guestfs-python(3)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgstr "" "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-" @@ -8576,7 +8669,7 @@ msgstr "" #. type: textblock #: ../examples/guestfs-testing.pod:32 ../examples/guestfs-testing.pod:145 -#: ../src/guestfs.pod:3797 +#: ../src/guestfs.pod:3803 msgid "Run:" msgstr "Віддайте команду:" @@ -8655,7 +8748,7 @@ msgstr "" #. type: textblock #: ../examples/guestfs-testing.pod:68 ../examples/guestfs-testing.pod:175 #: ../examples/guestfs-testing.pod:188 ../examples/guestfs-testing.pod:248 -#: ../src/guestfs.pod:3442 +#: ../lua/examples/guestfs-lua.pod:56 ../src/guestfs.pod:3446 msgid "or:" msgstr "або:" @@ -9638,7 +9731,7 @@ msgstr "" #. type: =item #: ../fish/guestfish-actions.pod:152 ../src/guestfs-actions.pod:218 -#: ../src/guestfs.pod:3660 +#: ../src/guestfs.pod:3664 msgid "C<format>" msgstr "C<format>" @@ -12721,7 +12814,7 @@ msgstr "" #. type: textblock #: ../fish/guestfish-actions.pod:1572 ../src/guestfs-actions.pod:2587 -#: ../src/guestfs.pod:1977 +#: ../src/guestfs.pod:1981 msgid "" "This is mainly useful as a negative test. If this returns true, it doesn't " "mean that a particular filesystem can be mounted, since filesystems can fail " @@ -21715,7 +21808,7 @@ msgstr "" #. type: =item #: ../fish/guestfish-actions.pod:5647 ../src/guestfs-actions.pod:9096 -#: ../src/guestfs.pod:3620 +#: ../src/guestfs.pod:3624 msgid "C<appliance>" msgstr "C<appliance>" @@ -26295,7 +26388,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2828 +#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2832 #, no-wrap msgid "" " guestfish -N fs\n" @@ -28618,7 +28711,7 @@ msgid "COMMANDS" msgstr "КОМАНДИ" #. type: textblock -#: ../fish/guestfish.pod:1195 ../src/guestfs.pod:1955 +#: ../fish/guestfish.pod:1195 ../src/guestfs.pod:1959 msgid "__ACTIONS__" msgstr "" @@ -28642,17 +28735,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1211 ../src/guestfs.pod:3949 +#: ../fish/guestfish.pod:1211 ../src/guestfs.pod:3955 msgid "FEBOOTSTRAP_KERNEL" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1213 ../src/guestfs.pod:3951 +#: ../fish/guestfish.pod:1213 ../src/guestfs.pod:3957 msgid "FEBOOTSTRAP_MODULES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1215 ../src/guestfs.pod:3953 +#: ../fish/guestfish.pod:1215 ../src/guestfs.pod:3959 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 " @@ -28722,17 +28815,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1247 ../src/guestfs.pod:3959 +#: ../fish/guestfish.pod:1247 ../src/guestfs.pod:3965 msgid "LIBGUESTFS_APPEND" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1249 ../src/guestfs.pod:3961 +#: ../fish/guestfish.pod:1249 ../src/guestfs.pod:3967 msgid "Pass additional options to the guest kernel." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1251 ../src/guestfs.pod:3963 +#: ../fish/guestfish.pod:1251 ../src/guestfs.pod:3969 msgid "LIBGUESTFS_ATTACH_METHOD" msgstr "" @@ -28744,14 +28837,14 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1256 ../src/guestfs.pod:3968 +#: ../fish/guestfish.pod:1256 ../src/guestfs.pod:3974 #, fuzzy #| msgid "C<LIBGUESTFS_TRACE>" msgid "LIBGUESTFS_CACHEDIR" msgstr "C<LIBGUESTFS_TRACE>" #. type: textblock -#: ../fish/guestfish.pod:1258 ../src/guestfs.pod:3970 +#: ../fish/guestfish.pod:1258 ../src/guestfs.pod:3976 msgid "" "The location where libguestfs will cache its appliance, when using a " "supermin appliance. The appliance is cached and shared between all handles " @@ -28759,7 +28852,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1262 ../src/guestfs.pod:3974 +#: ../fish/guestfish.pod:1262 ../src/guestfs.pod:3980 msgid "" "If C<LIBGUESTFS_CACHEDIR> is not set, then C<TMPDIR> is used. If C<TMPDIR> " "is not set, then C</var/tmp> is used." @@ -28771,7 +28864,7 @@ msgid "See also L</LIBGUESTFS_TMPDIR>, L</set-cachedir>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1267 ../src/guestfs.pod:3979 +#: ../fish/guestfish.pod:1267 ../src/guestfs.pod:3985 msgid "LIBGUESTFS_DEBUG" msgstr "LIBGUESTFS_DEBUG" @@ -28783,18 +28876,18 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1272 ../src/guestfs.pod:3984 +#: ../fish/guestfish.pod:1272 ../src/guestfs.pod:3990 msgid "LIBGUESTFS_MEMSIZE" msgstr "LIBGUESTFS_MEMSIZE" #. type: textblock -#: ../fish/guestfish.pod:1274 ../src/guestfs.pod:3986 +#: ../fish/guestfish.pod:1274 ../src/guestfs.pod:3992 msgid "" "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1277 ../src/guestfs.pod:3989 +#: ../fish/guestfish.pod:1277 ../src/guestfs.pod:3995 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -28804,7 +28897,7 @@ msgstr "" "\n" #. type: =item -#: ../fish/guestfish.pod:1279 ../src/guestfs.pod:3991 +#: ../fish/guestfish.pod:1279 ../src/guestfs.pod:3997 msgid "LIBGUESTFS_PATH" msgstr "" @@ -28816,32 +28909,32 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1284 ../src/guestfs.pod:3996 +#: ../fish/guestfish.pod:1284 ../src/guestfs.pod:4002 msgid "LIBGUESTFS_QEMU" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1286 ../src/guestfs.pod:3998 +#: ../fish/guestfish.pod:1286 ../src/guestfs.pod:4004 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:1290 ../src/guestfs.pod:4004 +#: ../fish/guestfish.pod:1290 ../src/guestfs.pod:4010 #, fuzzy #| msgid "LIBGUESTFS_MEMSIZE" msgid "LIBGUESTFS_TMPDIR" msgstr "LIBGUESTFS_MEMSIZE" #. type: textblock -#: ../fish/guestfish.pod:1292 ../src/guestfs.pod:4006 +#: ../fish/guestfish.pod:1292 ../src/guestfs.pod:4012 msgid "" "The location where libguestfs will store temporary files used by each handle." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1295 ../src/guestfs.pod:4009 +#: ../fish/guestfish.pod:1295 ../src/guestfs.pod:4015 msgid "" "If C<LIBGUESTFS_TMPDIR> is not set, then C<TMPDIR> is used. If C<TMPDIR> is " "not set, then C</tmp> is used." @@ -28853,7 +28946,7 @@ msgid "See also L</LIBGUESTFS_CACHEDIR>, L</set-tmpdir>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1300 ../src/guestfs.pod:4014 +#: ../fish/guestfish.pod:1300 ../src/guestfs.pod:4020 msgid "LIBGUESTFS_TRACE" msgstr "" @@ -28876,12 +28969,12 @@ msgstr "" #. type: =item #: ../fish/guestfish.pod:1309 ../sparsify/virt-sparsify.pod:276 -#: ../src/guestfs.pod:4019 +#: ../src/guestfs.pod:4025 msgid "TMPDIR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1311 ../src/guestfs.pod:4021 +#: ../fish/guestfish.pod:1311 ../src/guestfs.pod:4027 msgid "See L</LIBGUESTFS_CACHEDIR>, L</LIBGUESTFS_TMPDIR>." msgstr "" @@ -30861,7 +30954,7 @@ msgid "Code for temporarily ignoring/disabling errors now looks like this:" msgstr "" #. type: verbatim -#: ../guestfs-release-notes.pod:370 ../src/guestfs.pod:1920 +#: ../guestfs-release-notes.pod:370 ../src/guestfs.pod:1924 #, no-wrap msgid "" " guestfs_push_error_handler (g, NULL, NULL);\n" @@ -35382,10 +35475,175 @@ msgstr "" #. type: textblock #: ../java/examples/guestfs-java.pod:47 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." +msgid "" +"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-lua(3)" +">, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-" +"recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml." +"inria.fr/>." +msgstr "" +"L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:5 +msgid "guestfs-lua - How to use libguestfs from Lua" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:9 +#, no-wrap +msgid "" +" require \"guestfs\"\n" +" g = Guestfs.create ()\n" +" g:add_drive (\"test.img\", { format = \"raw\", readonly = \"true\" })\n" +" g:launch ()\n" +" devices = g:list_devices ()\n" +" g:close ()\n" +"\n" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:18 +msgid "" +"This manual page documents how to call libguestfs from the Lua programming " +"language. This page just documents the differences from the C API and gives " +"some examples. If you are not familiar with using libguestfs, you also need " +"to read L<guestfs(3)>." +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:25 +#, fuzzy +#| msgid "Create a connection handle." +msgid "To create a new handle, call:" +msgstr "Створити дескриптор з’єднання." + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:27 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfs_h *g = guestfs_create ();\n" +#| " \n" +msgid "" +" g = Guestfs.create ()\n" +"\n" +msgstr "" +" guestfs_h *g = guestfs_create ();\n" +" \n" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:29 +#, fuzzy +#| msgid "You can give this option multiple times." +msgid "You can also use the optional arguments:" +msgstr "Цей параметр можна вказувати декілька разів." + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:31 +#, no-wrap +msgid "" +" g = Guestfs.create { environment = 0, close_on_exit = 0 }\n" +"\n" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:33 +msgid "" +"to set the flags C<GUESTFS_CREATE_NO_ENVIRONMENT> and/or " +"C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>." +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:36 +msgid "" +"The handle will be closed by the garbage collector, but you can also close " +"it explicitly by doing:" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:39 +#, no-wrap +msgid "" +" g:close ()\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../lua/examples/guestfs-lua.pod:41 +msgid "CALLING METHODS" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:43 +msgid "" +"Use the ordinary Lua convention for calling methods on the handle. For " +"example:" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:46 +#, fuzzy, no-wrap +#| msgid "" +#| " set-verbose true|false\n" +#| "\n" +msgid "" +" g:set_verbose (true)\n" +"\n" +msgstr "" +" set-verbose true|false\n" +"\n" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:50 +msgid "" +"For functions that take optional arguments, the first arguments are the non-" +"optional ones. The optional final argument is a table supplying the " +"optional arguments." +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:54 +#, no-wrap +msgid "" +" g:add_drive (\"test.img\")\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../lua/examples/guestfs-lua.pod:58 +#, no-wrap msgid "" -"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-ocaml" -"(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " -"L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml.inria.fr/>." +" g:add_drive (\"test.img\", { format = \"raw\", readonly = \"true\" })\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../lua/examples/guestfs-lua.pod:60 +msgid "64 BIT VALUES" +msgstr "" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:62 +msgid "" +"Currently 64 bit values must be passed as strings, and are returned as " +"strings. This is because 32 bit Lua cannot handle 64 bit integers " +"properly. We hope to come up with a better solution later." +msgstr "" + +#. type: =head2 +#: ../lua/examples/guestfs-lua.pod:66 ../perl/examples/guestfs-perl.pod:27 +msgid "ERRORS" +msgstr "ПОМИЛКИ" + +#. type: textblock +#: ../lua/examples/guestfs-lua.pod:68 +msgid "Errors are converted into exceptions. Use C<pcall> to catch these." msgstr "" #. type: textblock @@ -35525,11 +35783,20 @@ msgstr "" #. type: textblock #: ../ocaml/examples/guestfs-ocaml.pod:80 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java" -"(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, " -"L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml.inria.fr/>." +"(3)>, L<guestfs-lua(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-" +"recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml." +"inria.fr/>." msgstr "" +"L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." #. type: textblock #: ../perl/examples/guestfs-perl.pod:5 @@ -35567,11 +35834,6 @@ msgid "" "to read L<guestfs(3)>. To read the full Perl API, see L<Sys::Guestfs(3)>." msgstr "" -#. type: =head2 -#: ../perl/examples/guestfs-perl.pod:27 -msgid "ERRORS" -msgstr "ПОМИЛКИ" - #. type: textblock #: ../perl/examples/guestfs-perl.pod:29 msgid "" @@ -35581,11 +35843,20 @@ msgstr "" #. type: textblock #: ../perl/examples/guestfs-perl.pod:42 +#, fuzzy +#| 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-python(3)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgid "" "L<Sys::Guestfs(3)>, L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang" -"(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, L<guestfs-python(3)>, " -"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." +"(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-" +"python(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs." +"org/>." msgstr "" +"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-" +"python(3)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." #. type: textblock #: ../python/examples/guestfs-python.pod:5 @@ -35641,11 +35912,19 @@ msgstr "" #. type: textblock #: ../python/examples/guestfs-python.pod:44 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." msgid "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java" -"(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-recipes(1)>, " -"L<guestfs-ruby(3)>, L<http://libguestfs.org/>." +"(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-" +"recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>." msgstr "" +"L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." #. type: textblock #: ../rescue/virt-rescue.pod:5 @@ -37574,10 +37853,15 @@ msgstr "" #. type: textblock #: ../ruby/examples/guestfs-ruby.pod:38 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." msgid "" "L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>." +"(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-" +"python(3)>, L<guestfs-recipes(1)>, L<http://libguestfs.org/>." msgstr "" "L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java" "(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, " @@ -56237,83 +56521,95 @@ msgstr "" #. type: =item #: ../src/guestfs.pod:883 +msgid "B<Lua>" +msgstr "" + +#. type: textblock +#: ../src/guestfs.pod:885 +#, fuzzy +#| msgid "See L<guestfs-erlang(3)>." +msgid "See L<guestfs-lua(3)>." +msgstr "Див. L<guestfs-erlang(3)>." + +#. type: =item +#: ../src/guestfs.pod:887 msgid "B<OCaml>" msgstr "B<OCaml>" #. type: textblock -#: ../src/guestfs.pod:885 +#: ../src/guestfs.pod:889 msgid "See L<guestfs-ocaml(3)>." msgstr "Див. L<guestfs-ocaml(3)>." #. type: =item -#: ../src/guestfs.pod:887 +#: ../src/guestfs.pod:891 msgid "B<Perl>" msgstr "B<Perl>" #. type: textblock -#: ../src/guestfs.pod:889 +#: ../src/guestfs.pod:893 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:891 +#: ../src/guestfs.pod:895 msgid "B<PHP>" msgstr "B<PHP>" #. type: textblock -#: ../src/guestfs.pod:893 +#: ../src/guestfs.pod:897 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:896 +#: ../src/guestfs.pod:900 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "" #. type: =item -#: ../src/guestfs.pod:898 +#: ../src/guestfs.pod:902 msgid "B<Python>" msgstr "B<Python>" #. type: textblock -#: ../src/guestfs.pod:900 +#: ../src/guestfs.pod:904 msgid "See L<guestfs-python(3)>." msgstr "Див. L<guestfs-python(3)>." #. type: =item -#: ../src/guestfs.pod:902 +#: ../src/guestfs.pod:906 msgid "B<Ruby>" msgstr "B<Ruby>" #. type: textblock -#: ../src/guestfs.pod:904 +#: ../src/guestfs.pod:908 msgid "See L<guestfs-ruby(3)>." msgstr "Див. L<guestfs-ruby(3)>." #. type: textblock -#: ../src/guestfs.pod:906 +#: ../src/guestfs.pod:910 msgid "For JRuby, use the Java bindings." msgstr "" #. type: =item -#: ../src/guestfs.pod:908 +#: ../src/guestfs.pod:912 msgid "B<shell scripts>" msgstr "B<скрипти оболонки>" #. type: textblock -#: ../src/guestfs.pod:910 +#: ../src/guestfs.pod:914 msgid "See L<guestfish(1)>." msgstr "Див. L<guestfish(1)>." #. type: =head2 -#: ../src/guestfs.pod:914 +#: ../src/guestfs.pod:918 msgid "LIBGUESTFS GOTCHAS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:920 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 " @@ -56321,7 +56617,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:920 +#: ../src/guestfs.pod:924 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -56330,19 +56626,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:928 +#: ../src/guestfs.pod:932 msgid "Autosync / forgetting to sync." msgstr "" #. type: textblock -#: ../src/guestfs.pod:930 +#: ../src/guestfs.pod:934 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:933 +#: ../src/guestfs.pod:937 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 " @@ -56350,7 +56646,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:937 +#: ../src/guestfs.pod:941 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -56360,14 +56656,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:939 +#: ../src/guestfs.pod:943 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:943 +#: ../src/guestfs.pod:947 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 " @@ -56375,7 +56671,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:947 +#: ../src/guestfs.pod:951 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 " @@ -56383,19 +56679,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:951 +#: ../src/guestfs.pod:955 msgid "Mount option C<-o sync> should not be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:957 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:956 +#: ../src/guestfs.pod:960 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 " @@ -56403,31 +56699,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:960 +#: ../src/guestfs.pod:964 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:963 +#: ../src/guestfs.pod:967 msgid "Read-only should be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:965 +#: ../src/guestfs.pod:969 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:968 +#: ../src/guestfs.pod:972 msgid "This would reduce the potential to corrupt live VM images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:974 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</" @@ -56435,12 +56731,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:974 +#: ../src/guestfs.pod:978 msgid "guestfish command line is hard to use." msgstr "" #. type: textblock -#: ../src/guestfs.pod:976 +#: ../src/guestfs.pod:980 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 " @@ -56450,12 +56746,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:983 +#: ../src/guestfs.pod:987 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" #. type: textblock -#: ../src/guestfs.pod:985 +#: ../src/guestfs.pod:989 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 " @@ -56465,12 +56761,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:992 +#: ../src/guestfs.pod:996 msgid "The most common is L</guestfs_lvcreate>. The guestfish command:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:994 +#: ../src/guestfs.pod:998 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -56480,7 +56776,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:996 +#: ../src/guestfs.pod:1000 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 " @@ -56489,19 +56785,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1001 +#: ../src/guestfs.pod:1005 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:1004 +#: ../src/guestfs.pod:1008 msgid "Ambiguity between devices and paths" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1006 +#: ../src/guestfs.pod:1010 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 " @@ -56509,7 +56805,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1011 +#: ../src/guestfs.pod:1015 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>. " @@ -56518,7 +56814,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1017 +#: ../src/guestfs.pod:1021 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 " @@ -56528,7 +56824,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1023 +#: ../src/guestfs.pod:1027 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -56536,12 +56832,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1025 +#: ../src/guestfs.pod:1029 msgid "which would allow you to pass arguments like:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1027 +#: ../src/guestfs.pod:1031 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -56552,26 +56848,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1032 +#: ../src/guestfs.pod:1036 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:1037 +#: ../src/guestfs.pod:1041 msgid "KEYS AND PASSPHRASES" msgstr "КЛЮЧІ І ПАРОЛІ" #. type: textblock -#: ../src/guestfs.pod:1039 +#: ../src/guestfs.pod:1043 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1042 +#: ../src/guestfs.pod:1046 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 " @@ -56580,7 +56876,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1047 +#: ../src/guestfs.pod:1051 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, " @@ -56588,19 +56884,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1052 +#: ../src/guestfs.pod:1056 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1054 +#: ../src/guestfs.pod:1058 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:1057 +#: ../src/guestfs.pod:1061 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 " @@ -56608,33 +56904,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1061 +#: ../src/guestfs.pod:1065 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1064 +#: ../src/guestfs.pod:1068 msgid "PATH" msgstr "ШЛЯХ" #. type: textblock -#: ../src/guestfs.pod:1066 +#: ../src/guestfs.pod:1070 msgid "" "Libguestfs needs a supermin appliance, which it finds by looking along an " "internal path." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1069 +#: ../src/guestfs.pod:1073 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:1072 +#: ../src/guestfs.pod:1076 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 " @@ -56645,12 +56941,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1079 +#: ../src/guestfs.pod:1083 msgid "QEMU WRAPPERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1081 +#: ../src/guestfs.pod:1085 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 " @@ -56658,7 +56954,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1085 +#: ../src/guestfs.pod:1089 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 " @@ -56667,14 +56963,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1090 +#: ../src/guestfs.pod:1094 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:1093 +#: ../src/guestfs.pod:1097 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -56688,7 +56984,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1097 +#: ../src/guestfs.pod:1101 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 " @@ -56696,7 +56992,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1101 +#: ../src/guestfs.pod:1105 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -56706,14 +57002,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1103 +#: ../src/guestfs.pod:1107 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1106 +#: ../src/guestfs.pod:1110 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 " @@ -56723,7 +57019,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1115 +#: ../src/guestfs.pod:1119 #, no-wrap msgid "" " i=0\n" @@ -56753,7 +57049,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1127 +#: ../src/guestfs.pod:1131 #, no-wrap msgid "" " exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n" @@ -56763,19 +57059,19 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:1129 +#: ../src/guestfs.pod:1133 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ ФОНОВИХ СЛУЖБ" #. type: textblock -#: ../src/guestfs.pod:1131 +#: ../src/guestfs.pod:1135 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:1134 +#: ../src/guestfs.pod:1138 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 " @@ -56783,12 +57079,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1138 +#: ../src/guestfs.pod:1142 msgid "Using guestfs_set_attach_method" msgstr "За допомогою guestfs_set_attach_method" #. type: textblock -#: ../src/guestfs.pod:1140 +#: ../src/guestfs.pod:1144 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</" @@ -56796,7 +57092,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1144 +#: ../src/guestfs.pod:1148 msgid "" "The normal attach method is C<appliance>, where a small appliance is created " "containing the daemon, and then the library connects to this. C<libvirt> or " @@ -56804,7 +57100,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1149 +#: ../src/guestfs.pod:1153 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 " @@ -56812,7 +57108,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1153 +#: ../src/guestfs.pod:1157 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 " @@ -56820,12 +57116,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1157 +#: ../src/guestfs.pod:1161 msgid "Using guestfs_add_domain with live flag" msgstr "За допомогою guestfs_add_domain з прапорцем live" #. type: textblock -#: ../src/guestfs.pod:1159 +#: ../src/guestfs.pod:1163 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 " @@ -56834,7 +57130,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1165 +#: ../src/guestfs.pod:1169 #, no-wrap msgid "" " <domain>\n" @@ -56864,14 +57160,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1177 +#: ../src/guestfs.pod:1181 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:1180 +#: ../src/guestfs.pod:1184 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 " @@ -56879,19 +57175,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1184 +#: ../src/guestfs.pod:1188 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:1188 +#: ../src/guestfs.pod:1192 msgid "ABI GUARANTEE" msgstr "ГАРАНТІЯ ЩОДО ABI" #. type: textblock -#: ../src/guestfs.pod:1190 +#: ../src/guestfs.pod:1194 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -56901,12 +57197,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1196 +#: ../src/guestfs.pod:1200 msgid "BLOCK DEVICE NAMING" msgstr "ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ" #. type: textblock -#: ../src/guestfs.pod:1198 +#: ../src/guestfs.pod:1202 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 " @@ -56920,7 +57216,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1210 +#: ../src/guestfs.pod:1214 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 " @@ -56928,7 +57224,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1214 +#: ../src/guestfs.pod:1218 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 " @@ -56936,7 +57232,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1219 +#: ../src/guestfs.pod:1223 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 " @@ -56945,7 +57241,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1229 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 " @@ -56954,12 +57250,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1230 +#: ../src/guestfs.pod:1234 msgid "DISK LABELS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1232 +#: ../src/guestfs.pod:1236 msgid "" "In libguestfs E<ge> 1.20, you can give a label to a disk when you add it, " "using the optional C<label> parameter to L</guestfs_add_drive_opts>. (Note " @@ -56967,14 +57263,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1237 +#: ../src/guestfs.pod:1241 msgid "" "Not all versions of libguestfs support setting a disk label, and when it is " "supported, it is limited to 20 ASCII characters C<[a-zA-Z]>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1240 +#: ../src/guestfs.pod:1244 msgid "" "When you add a disk with a label, it can either be addressed using C</dev/" "sd*>, or using C</dev/disk/guestfs/I<label>>. Partitions on the disk can be " @@ -56982,7 +57278,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1245 +#: ../src/guestfs.pod:1249 msgid "" "Listing devices (L</guestfs_list_devices>) and partitions (L</" "guestfs_list_partitions>) returns the raw block device name. However you " @@ -56991,12 +57287,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1250 +#: ../src/guestfs.pod:1254 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1252 +#: ../src/guestfs.pod:1256 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 " @@ -57005,7 +57301,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1258 +#: ../src/guestfs.pod:1262 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</" @@ -57013,54 +57309,54 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1266 +#: ../src/guestfs.pod:1270 msgid "Is the string a parameter which is a device or partition name?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1270 +#: ../src/guestfs.pod:1274 msgid "Does the string begin with C</dev/sd>?" msgstr "Чи починається рядок з C</dev/sd>?" #. type: textblock -#: ../src/guestfs.pod:1274 +#: ../src/guestfs.pod:1278 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:1279 +#: ../src/guestfs.pod:1283 msgid "Replace initial C</dev/sd> string with C</dev/hd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1281 +#: ../src/guestfs.pod:1285 msgid "For example, change C</dev/sda2> to C</dev/hda2>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1283 +#: ../src/guestfs.pod:1287 msgid "If that named device exists, use it. If not, continue." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1287 +#: ../src/guestfs.pod:1291 msgid "Replace initial C</dev/sd> string with C</dev/vd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1289 +#: ../src/guestfs.pod:1293 msgid "If that named device exists, use it. If not, return an error." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1293 +#: ../src/guestfs.pod:1297 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1295 +#: ../src/guestfs.pod:1299 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 " @@ -57068,39 +57364,39 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1299 +#: ../src/guestfs.pod:1303 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1306 +#: ../src/guestfs.pod:1310 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:1309 +#: ../src/guestfs.pod:1313 msgid "" "Since those device names exist by definition, they will never be translated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1314 +#: ../src/guestfs.pod:1318 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1319 +#: ../src/guestfs.pod:1323 msgid "NULL DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1321 +#: ../src/guestfs.pod:1325 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 " @@ -57108,46 +57404,46 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1325 +#: ../src/guestfs.pod:1329 msgid "A null disk has the following properties:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1331 +#: ../src/guestfs.pod:1335 msgid "" "A null disk will appear as a normal device, eg. in calls to L</" "guestfs_list_devices>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1336 +#: ../src/guestfs.pod:1340 msgid "You may add C<\"/dev/null\"> multiple times." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1340 +#: ../src/guestfs.pod:1344 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:1345 +#: ../src/guestfs.pod:1349 msgid "Null disks are used for three main purposes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1355 msgid "Performance testing of libguestfs (see L<guestfs-performance(1)>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1355 +#: ../src/guestfs.pod:1359 msgid "The internal test suite." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1363 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 " @@ -57155,12 +57451,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1363 +#: ../src/guestfs.pod:1367 msgid "For example, to test if a feature is available, use code like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1365 +#: ../src/guestfs.pod:1369 #, no-wrap msgid "" " guestfs_h *g;\n" @@ -57169,7 +57465,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1368 +#: ../src/guestfs.pod:1372 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -57185,19 +57481,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1380 +#: ../src/guestfs.pod:1384 msgid "DISK IMAGE FORMATS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1386 msgid "" "Virtual disks come in a variety of formats. Some common formats are listed " "below." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1385 +#: ../src/guestfs.pod:1389 msgid "" "Note that libguestfs itself is not responsible for handling the disk format: " "this is done using L<qemu(1)>. If support for a particular format is " @@ -57205,24 +57501,24 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1389 +#: ../src/guestfs.pod:1393 msgid "COMMON VIRTUAL DISK IMAGE FORMATS" msgstr "" #. type: =item -#: ../src/guestfs.pod:1393 +#: ../src/guestfs.pod:1397 msgid "I<raw>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1395 +#: ../src/guestfs.pod:1399 msgid "" "Raw format is simply a dump of the sequential bytes of the virtual hard " "disk. There is no header, container, compression or processing of any sort." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1399 +#: ../src/guestfs.pod:1403 msgid "" "Since raw format requires no translation to read or write, it is both fast " "and very well supported by qemu and all other hypervisors. You can consider " @@ -57230,7 +57526,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1404 +#: ../src/guestfs.pod:1408 msgid "" "Raw format files are not compressed and so take up the full space of the " "original disk image even when they are empty. A variation (on Linux/Unix at " @@ -57241,12 +57537,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1411 +#: ../src/guestfs.pod:1415 msgid "I<qcow2>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1413 +#: ../src/guestfs.pod:1417 msgid "" "Qcow2 is the native disk image format used by qemu. Internally it uses a " "two-level directory structure so that only blocks containing data are stored " @@ -57255,19 +57551,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1418 +#: ../src/guestfs.pod:1422 msgid "" "There are at least two distinct variants of this format, although qemu (and " "hence libguestfs) handles both transparently to the user." msgstr "" #. type: =item -#: ../src/guestfs.pod:1421 +#: ../src/guestfs.pod:1425 msgid "I<vmdk>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1423 +#: ../src/guestfs.pod:1427 msgid "" "VMDK is VMware's native disk image format. There are many variations. " "Modern qemu (hence libguestfs) supports most variations, but you should be " @@ -57276,7 +57572,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1428 +#: ../src/guestfs.pod:1432 msgid "" "Note that VMware ESX exposes files with the name C<guest-flat.vmdk>. These " "are not VMDK. They are raw format files which happen to have a C<.vmdk> " @@ -57284,53 +57580,53 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1432 +#: ../src/guestfs.pod:1436 msgid "I<vdi>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1434 +#: ../src/guestfs.pod:1438 msgid "" "VDI is VirtualBox's native disk image format. Qemu (hence libguestfs) has " "generally good support for this." msgstr "" #. type: =item -#: ../src/guestfs.pod:1437 +#: ../src/guestfs.pod:1441 msgid "I<vpc>" msgstr "" #. type: =item -#: ../src/guestfs.pod:1439 +#: ../src/guestfs.pod:1443 msgid "I<vhd>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1441 +#: ../src/guestfs.pod:1445 msgid "" "VPC (old) and VHD (modern) are the native disk image format of Microsoft " "(and previously, Connectix) Virtual PC and Hyper-V." msgstr "" #. type: =item -#: ../src/guestfs.pod:1444 +#: ../src/guestfs.pod:1448 msgid "Obsolete formats" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1446 +#: ../src/guestfs.pod:1450 msgid "" "The following formats are obsolete and should not be used: I<qcow> (aka " "I<qcow1>), I<cow>, I<bochs>." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1451 +#: ../src/guestfs.pod:1455 msgid "DETECTING THE FORMAT OF A DISK IMAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1453 +#: ../src/guestfs.pod:1457 msgid "" "Firstly note there is a security issue with auto-detecting the format of a " "disk image. It may or may not apply in your use case. Read L</" @@ -57338,14 +57634,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1457 +#: ../src/guestfs.pod:1461 msgid "" "Libguestfs offers an API to get the format of a disk image (L</" "guestfs_disk_format>, and it is safest to use this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1460 +#: ../src/guestfs.pod:1464 msgid "" "I<Don't> be tempted to try parsing the text / human-readable output of " "C<qemu-img> since it cannot be parsed reliably and securely. Also do not " @@ -57353,24 +57649,24 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1465 ../sysprep/virt-sysprep.pod:424 +#: ../src/guestfs.pod:1469 ../sysprep/virt-sysprep.pod:424 msgid "SECURITY" msgstr "БЕЗПЕКА" #. type: textblock -#: ../src/guestfs.pod:1467 +#: ../src/guestfs.pod:1471 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1470 +#: ../src/guestfs.pod:1474 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "ЗАГАЛЬНІ ЗАУВАЖЕННЯ ЩОДО ЗАХИСТУ" #. type: textblock -#: ../src/guestfs.pod:1472 +#: ../src/guestfs.pod:1476 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 " @@ -57380,42 +57676,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1482 +#: ../src/guestfs.pod:1486 msgid "the data (file etc) not being present" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1486 +#: ../src/guestfs.pod:1490 msgid "being present but empty" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1490 +#: ../src/guestfs.pod:1494 msgid "being much larger than normal" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1494 +#: ../src/guestfs.pod:1498 msgid "containing arbitrary 8 bit data" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1498 +#: ../src/guestfs.pod:1502 msgid "being in an unexpected character encoding" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1502 +#: ../src/guestfs.pod:1506 msgid "containing homoglyphs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1506 +#: ../src/guestfs.pod:1510 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "ЗАХИСТ ФАЙЛОВИХ СИСТЕМ МОНТУВАННЯ" #. type: textblock -#: ../src/guestfs.pod:1508 +#: ../src/guestfs.pod:1512 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -57431,7 +57727,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1521 +#: ../src/guestfs.pod:1525 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 " @@ -57445,19 +57741,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1536 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:1535 +#: ../src/guestfs.pod:1539 msgid "PROTOCOL SECURITY" msgstr "ЗАХИСТ ПРОТОКОЛУ" #. type: textblock -#: ../src/guestfs.pod:1537 +#: ../src/guestfs.pod:1541 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 " @@ -57467,12 +57763,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1543 +#: ../src/guestfs.pod:1547 msgid "INSPECTION SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1545 +#: ../src/guestfs.pod:1549 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 " @@ -57481,7 +57777,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1551 +#: ../src/guestfs.pod:1555 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -57492,7 +57788,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1559 +#: ../src/guestfs.pod:1563 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -57502,12 +57798,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1565 +#: ../src/guestfs.pod:1569 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "ЗАПУСК НЕЗАХИЩЕНИХ КОМАНД ГОСТЬОВОЇ СИСТЕМИ" #. type: textblock -#: ../src/guestfs.pod:1567 +#: ../src/guestfs.pod:1571 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 " @@ -57517,24 +57813,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1573 +#: ../src/guestfs.pod:1577 msgid "CVE-2010-3851" msgstr "CVE-2010-3851" #. type: textblock -#: ../src/guestfs.pod:1575 +#: ../src/guestfs.pod:1579 msgid "L<https://bugzilla.redhat.com/642934>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1577 +#: ../src/guestfs.pod:1581 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1580 +#: ../src/guestfs.pod:1584 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 " @@ -57543,7 +57839,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1585 +#: ../src/guestfs.pod:1589 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 " @@ -57552,7 +57848,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1590 +#: ../src/guestfs.pod:1594 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 " @@ -57564,25 +57860,25 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1598 +#: ../src/guestfs.pod:1602 msgid "" "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1605 +#: ../src/guestfs.pod:1609 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1613 msgid "" "You are also running untrusted code from the guest (see L</RUNNING " "COMMANDS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1614 +#: ../src/guestfs.pod:1618 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 " @@ -57591,31 +57887,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1620 +#: ../src/guestfs.pod:1624 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:1623 +#: ../src/guestfs.pod:1627 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1626 +#: ../src/guestfs.pod:1630 msgid "CONNECTION MANAGEMENT" msgstr "КЕРУВАННЯ З’ЄДНАННЯМ" #. type: =head2 -#: ../src/guestfs.pod:1628 +#: ../src/guestfs.pod:1632 msgid "guestfs_h *" msgstr "guestfs_h *" #. type: textblock -#: ../src/guestfs.pod:1630 +#: ../src/guestfs.pod:1634 msgid "" "C<guestfs_h> is the opaque type representing a connection handle. Create a " "handle by calling L</guestfs_create> or L</guestfs_create_flags>. Call L</" @@ -57623,19 +57919,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1635 +#: ../src/guestfs.pod:1639 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:1638 +#: ../src/guestfs.pod:1642 msgid "guestfs_create" msgstr "guestfs_create" #. type: verbatim -#: ../src/guestfs.pod:1640 +#: ../src/guestfs.pod:1644 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -57645,19 +57941,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1642 +#: ../src/guestfs.pod:1646 msgid "Create a connection handle." msgstr "Створити дескриптор з’єднання." #. type: textblock -#: ../src/guestfs.pod:1644 ../src/guestfs.pod:1663 +#: ../src/guestfs.pod:1648 ../src/guestfs.pod:1667 msgid "" "On success this returns a non-NULL pointer to a handle. On error it returns " "NULL." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1647 +#: ../src/guestfs.pod:1651 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 " @@ -57665,26 +57961,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1651 +#: ../src/guestfs.pod:1655 msgid "After configuring the handle, you have to call L</guestfs_launch>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1653 +#: ../src/guestfs.pod:1657 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:1656 +#: ../src/guestfs.pod:1660 #, fuzzy #| msgid "guestfs_create" msgid "guestfs_create_flags" msgstr "guestfs_create" #. type: verbatim -#: ../src/guestfs.pod:1658 +#: ../src/guestfs.pod:1662 #, fuzzy, no-wrap #| msgid "" #| " guestfs_h *guestfs_create (void);\n" @@ -57697,37 +57993,37 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1660 +#: ../src/guestfs.pod:1664 msgid "" "Create a connection handle, supplying extra flags and extra arguments to " "control how the handle is created." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1666 +#: ../src/guestfs.pod:1670 msgid "L</guestfs_create> is equivalent to calling C<guestfs_create_flags(0)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1672 msgid "" "The following flags may be logically ORed together. (Currently no extra " "arguments are used)." msgstr "" #. type: =item -#: ../src/guestfs.pod:1673 +#: ../src/guestfs.pod:1677 msgid "C<GUESTFS_CREATE_NO_ENVIRONMENT>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1675 +#: ../src/guestfs.pod:1679 msgid "" "Don't parse any environment variables (such as C<LIBGUESTFS_DEBUG> etc)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1677 +#: ../src/guestfs.pod:1681 msgid "" "You can call L</guestfs_parse_environment> or L</" "guestfs_parse_environment_list> afterwards to parse environment variables. " @@ -57736,44 +58032,44 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1682 +#: ../src/guestfs.pod:1686 msgid "" "The default (if this flag is not given) is to implicitly call L</" "guestfs_parse_environment>." msgstr "" #. type: =item -#: ../src/guestfs.pod:1685 +#: ../src/guestfs.pod:1689 msgid "C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1687 +#: ../src/guestfs.pod:1691 msgid "" "Don't try to close the handle in an L<atexit(3)> handler if the program " "exits without explicitly closing the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1690 +#: ../src/guestfs.pod:1694 msgid "" "The default (if this flag is not given) is to install such an atexit handler." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1695 +#: ../src/guestfs.pod:1699 msgid "USING C<GUESTFS_CREATE_NO_ENVIRONMENT>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1697 +#: ../src/guestfs.pod:1701 msgid "" "You might use C<GUESTFS_CREATE_NO_ENVIRONMENT> and an explicit call to L</" "guestfs_parse_environment> like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1700 +#: ../src/guestfs.pod:1704 #, fuzzy, no-wrap #| msgid "" #| " guestfs_h *g = guestfs_create ();\n" @@ -57787,7 +58083,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1703 +#: ../src/guestfs.pod:1707 #, no-wrap msgid "" " g = guestfs_create_flags (GUESTFS_CREATE_NO_ENVIRONMENT);\n" @@ -57802,14 +58098,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1712 +#: ../src/guestfs.pod:1716 msgid "" "Or to create a handle which is unaffected by environment variables, omit the " "call to C<guestfs_parse_environment> from the above code." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1715 +#: ../src/guestfs.pod:1719 msgid "" "The above code has another advantage which is that any errors from parsing " "the environment are passed through the error handler, whereas " @@ -57817,12 +58113,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1719 +#: ../src/guestfs.pod:1723 msgid "guestfs_close" msgstr "guestfs_close" #. type: verbatim -#: ../src/guestfs.pod:1721 +#: ../src/guestfs.pod:1725 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -57832,19 +58128,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1723 +#: ../src/guestfs.pod:1727 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:1726 +#: ../src/guestfs.pod:1730 msgid "The correct way to close the handle is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1728 +#: ../src/guestfs.pod:1732 #, no-wrap msgid "" " if (guestfs_shutdown (g) == -1) {\n" @@ -57855,52 +58151,52 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1733 +#: ../src/guestfs.pod:1737 msgid "" "L</guestfs_shutdown> is only needed if B<all> of the following are true:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1739 +#: ../src/guestfs.pod:1743 msgid "one or more disks were added in read-write mode, I<and>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1743 +#: ../src/guestfs.pod:1747 msgid "guestfs_launch was called, I<and>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1747 +#: ../src/guestfs.pod:1751 msgid "you made some changes, I<and>" msgstr "" #. type: =item -#: ../src/guestfs.pod:1749 +#: ../src/guestfs.pod:1753 msgid "4" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1751 +#: ../src/guestfs.pod:1755 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:1756 +#: ../src/guestfs.pod:1760 msgid "ERROR HANDLING" msgstr "ОБРОБКА ПОМИЛОК" #. type: textblock -#: ../src/guestfs.pod:1758 +#: ../src/guestfs.pod:1762 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:1761 +#: ../src/guestfs.pod:1765 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 " @@ -57908,7 +58204,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1765 +#: ../src/guestfs.pod:1769 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 " @@ -57916,7 +58212,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1770 +#: ../src/guestfs.pod:1774 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 " @@ -57924,7 +58220,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1774 +#: ../src/guestfs.pod:1778 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -57936,14 +58232,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1777 +#: ../src/guestfs.pod:1781 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:1780 +#: ../src/guestfs.pod:1784 msgid "" "For other programs the caller will almost certainly want to install an " "alternate error handler or do error handling in-line as in the example " @@ -57952,7 +58248,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1789 #, fuzzy, no-wrap #| msgid "" #| " guestfs_h *g = guestfs_create ();\n" @@ -57966,7 +58262,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1788 +#: ../src/guestfs.pod:1792 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -57976,7 +58272,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1792 +#: ../src/guestfs.pod:1796 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -57988,7 +58284,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1798 +#: ../src/guestfs.pod:1802 #, no-wrap msgid "" " fprintf (stderr, \"%s\", msg);\n" @@ -57999,7 +58295,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1803 +#: ../src/guestfs.pod:1807 #, no-wrap msgid "" " /* ... */\n" @@ -58008,7 +58304,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1806 +#: ../src/guestfs.pod:1810 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 " @@ -58019,7 +58315,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1813 +#: ../src/guestfs.pod:1817 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</" @@ -58027,12 +58323,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1817 +#: ../src/guestfs.pod:1821 msgid "guestfs_last_error" msgstr "guestfs_last_error" #. type: verbatim -#: ../src/guestfs.pod:1819 +#: ../src/guestfs.pod:1823 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -58042,14 +58338,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1821 +#: ../src/guestfs.pod:1825 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:1825 +#: ../src/guestfs.pod:1829 msgid "" "Note the returned string does I<not> have a newline character at the end. " "Most error messages are single lines. Some are split over multiple lines " @@ -58057,7 +58353,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1830 +#: ../src/guestfs.pod:1834 msgid "" "The lifetime of the returned string is until the next error occurs on the " "same handle, or L</guestfs_close> is called. If you need to keep it longer, " @@ -58065,12 +58361,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1834 +#: ../src/guestfs.pod:1838 msgid "guestfs_last_errno" msgstr "guestfs_last_errno" #. type: verbatim -#: ../src/guestfs.pod:1836 +#: ../src/guestfs.pod:1840 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -58080,36 +58376,36 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1838 +#: ../src/guestfs.pod:1842 msgid "This returns the last error number (errno) that happened on C<g>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1840 +#: ../src/guestfs.pod:1844 msgid "If successful, an errno integer not equal to zero is returned." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1842 +#: ../src/guestfs.pod:1846 msgid "" "In many cases the special errno C<ENOTSUP> is returned if you tried to call " "a function or use a feature which is not supported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1845 +#: ../src/guestfs.pod:1849 msgid "" "If no error number is available, this returns 0. This call can return 0 in " "three situations:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1852 +#: ../src/guestfs.pod:1856 msgid "There has not been any error on the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1856 +#: ../src/guestfs.pod:1860 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 " @@ -58117,14 +58413,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1862 +#: ../src/guestfs.pod:1866 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:1868 +#: ../src/guestfs.pod:1872 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -58135,12 +58431,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1876 +#: ../src/guestfs.pod:1880 msgid "guestfs_set_error_handler" msgstr "guestfs_set_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1878 +#: ../src/guestfs.pod:1882 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -58160,7 +58456,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1885 +#: ../src/guestfs.pod:1889 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 " @@ -58168,14 +58464,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1889 +#: ../src/guestfs.pod:1893 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:1892 +#: ../src/guestfs.pod:1896 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 " @@ -58183,22 +58479,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1896 +#: ../src/guestfs.pod:1900 msgid "The default handler prints messages on C<stderr>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1898 +#: ../src/guestfs.pod:1902 msgid "If you set C<cb> to C<NULL> then I<no> handler is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1900 +#: ../src/guestfs.pod:1904 msgid "guestfs_get_error_handler" msgstr "guestfs_get_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1902 +#: ../src/guestfs.pod:1906 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -58210,19 +58506,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1905 +#: ../src/guestfs.pod:1909 msgid "Returns the current error handler callback." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1907 +#: ../src/guestfs.pod:1911 #, fuzzy #| msgid "guestfs_set_error_handler" msgid "guestfs_push_error_handler" msgstr "guestfs_set_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1909 +#: ../src/guestfs.pod:1913 #, fuzzy, no-wrap #| msgid "" #| " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -58239,7 +58535,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1913 +#: ../src/guestfs.pod:1917 msgid "" "This is the same as L</guestfs_set_error_handler>, except that the old error " "handler is stashed away in a stack inside the handle. You can restore the " @@ -58247,19 +58543,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1918 +#: ../src/guestfs.pod:1922 msgid "Use the following code to temporarily disable errors around a function:" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1924 +#: ../src/guestfs.pod:1928 #, fuzzy #| msgid "guestfs_set_error_handler" msgid "guestfs_pop_error_handler" msgstr "guestfs_set_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:1930 #, fuzzy, no-wrap #| msgid "" #| " void guestfs_user_cancel (guestfs_h *g);\n" @@ -58272,25 +58568,25 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1928 +#: ../src/guestfs.pod:1932 msgid "" "Restore the previous error handler (see L</guestfs_push_error_handler>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1930 +#: ../src/guestfs.pod:1934 msgid "" "If you pop the stack too many times, then the default error handler is " "restored." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1933 +#: ../src/guestfs.pod:1937 msgid "guestfs_set_out_of_memory_handler" msgstr "guestfs_set_out_of_memory_handler" #. type: verbatim -#: ../src/guestfs.pod:1935 +#: ../src/guestfs.pod:1939 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -58300,30 +58596,30 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1939 +#: ../src/guestfs.pod:1943 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:1942 +#: ../src/guestfs.pod:1946 msgid "The default is to call L<abort(3)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1944 +#: ../src/guestfs.pod:1948 msgid "" "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1947 +#: ../src/guestfs.pod:1951 msgid "guestfs_get_out_of_memory_handler" msgstr "guestfs_get_out_of_memory_handler" #. type: verbatim -#: ../src/guestfs.pod:1949 +#: ../src/guestfs.pod:1953 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -58333,37 +58629,37 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1951 +#: ../src/guestfs.pod:1955 msgid "This returns the current out of memory handler." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1953 +#: ../src/guestfs.pod:1957 msgid "API CALLS" msgstr "ВИКЛИКИ API" #. type: =head1 -#: ../src/guestfs.pod:1957 +#: ../src/guestfs.pod:1961 msgid "STRUCTURES" msgstr "СТРУКТУРИ" #. type: textblock -#: ../src/guestfs.pod:1959 +#: ../src/guestfs.pod:1963 msgid "__STRUCTS__" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1961 +#: ../src/guestfs.pod:1965 msgid "AVAILABILITY" msgstr "ДОСТУПНІСТЬ" #. type: =head2 -#: ../src/guestfs.pod:1963 +#: ../src/guestfs.pod:1967 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "ГРУПИ ФУНКЦІОНАЛЬНИХ МОЖЛИВОСТЕЙ У ОБРАЗІ ОСНОВНОЇ СИСТЕМИ" #. type: textblock -#: ../src/guestfs.pod:1965 +#: ../src/guestfs.pod:1969 msgid "" "Using L</guestfs_available> you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -58371,29 +58667,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1970 +#: ../src/guestfs.pod:1974 msgid "__AVAILABILITY__" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1972 +#: ../src/guestfs.pod:1976 msgid "FILESYSTEM AVAILABLE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1974 +#: ../src/guestfs.pod:1978 msgid "" "The L</guestfs_filesystem_available> call tests whether a filesystem type is " "supported by the appliance kernel." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1982 +#: ../src/guestfs.pod:1986 msgid "GUESTFISH supported COMMAND" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1984 +#: ../src/guestfs.pod:1988 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 " @@ -58401,19 +58697,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1989 +#: ../src/guestfs.pod:1993 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1991 +#: ../src/guestfs.pod:1995 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:1994 +#: ../src/guestfs.pod:1998 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -58423,12 +58719,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1996 +#: ../src/guestfs.pod:2000 msgid "if L</guestfs_dd> is available." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1998 +#: ../src/guestfs.pod:2002 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 " @@ -58436,7 +58732,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2003 +#: ../src/guestfs.pod:2007 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -58448,19 +58744,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2006 +#: ../src/guestfs.pod:2010 msgid "" "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined " "in your program." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2009 +#: ../src/guestfs.pod:2013 msgid "SINGLE CALLS AT RUN TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2011 +#: ../src/guestfs.pod:2015 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 " @@ -58470,7 +58766,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2018 +#: ../src/guestfs.pod:2022 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 " @@ -58478,7 +58774,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2022 +#: ../src/guestfs.pod:2026 #, no-wrap msgid "" " #include <stdio.h>\n" @@ -58496,7 +58792,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:2028 +#: ../src/guestfs.pod:2032 #, no-wrap msgid "" " main ()\n" @@ -58514,7 +58810,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:2034 +#: ../src/guestfs.pod:2038 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -58529,7 +58825,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2043 +#: ../src/guestfs.pod:2047 #, no-wrap msgid "" " if (!has_function)\n" @@ -58548,7 +58844,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2056 +#: ../src/guestfs.pod:2060 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 " @@ -58556,7 +58852,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2061 +#: ../src/guestfs.pod:2065 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -58564,12 +58860,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2063 +#: ../src/guestfs.pod:2067 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2065 +#: ../src/guestfs.pod:2069 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 " @@ -58577,7 +58873,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2070 +#: ../src/guestfs.pod:2074 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -58587,14 +58883,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2072 +#: ../src/guestfs.pod:2076 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:2075 +#: ../src/guestfs.pod:2079 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -58604,12 +58900,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2077 +#: ../src/guestfs.pod:2081 msgid "With a single optional argument:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2079 +#: ../src/guestfs.pod:2083 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -58623,12 +58919,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2083 +#: ../src/guestfs.pod:2087 msgid "With two:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2085 +#: ../src/guestfs.pod:2089 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -58644,19 +58940,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2090 +#: ../src/guestfs.pod:2094 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2093 +#: ../src/guestfs.pod:2097 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2095 +#: ../src/guestfs.pod:2099 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 " @@ -58664,7 +58960,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2099 +#: ../src/guestfs.pod:2103 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -58676,12 +58972,12 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:2102 +#: ../src/guestfs.pod:2106 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2104 +#: ../src/guestfs.pod:2108 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 " @@ -58691,7 +58987,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2110 +#: ../src/guestfs.pod:2114 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -58715,12 +59011,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2119 +#: ../src/guestfs.pod:2123 msgid "You could call it like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2121 +#: ../src/guestfs.pod:2125 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -58740,7 +59036,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:2128 +#: ../src/guestfs.pod:2132 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -58750,29 +59046,29 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2136 +#: ../src/guestfs.pod:2140 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2141 +#: ../src/guestfs.pod:2145 msgid "You do not need to fill in all fields of the structure." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2145 +#: ../src/guestfs.pod:2149 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:2150 +#: ../src/guestfs.pod:2154 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2152 +#: ../src/guestfs.pod:2156 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -58780,22 +59076,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2156 +#: ../src/guestfs.pod:2160 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2158 +#: ../src/guestfs.pod:2162 msgid "EVENTS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2160 +#: ../src/guestfs.pod:2164 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2162 +#: ../src/guestfs.pod:2166 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 " @@ -58807,7 +59103,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2171 +#: ../src/guestfs.pod:2175 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -58819,7 +59115,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2179 +#: ../src/guestfs.pod:2183 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 " @@ -58828,31 +59124,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2184 +#: ../src/guestfs.pod:2188 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: =head2 -#: ../src/guestfs.pod:2188 +#: ../src/guestfs.pod:2192 msgid "CLASSES OF EVENTS" msgstr "" #. type: =item -#: ../src/guestfs.pod:2192 +#: ../src/guestfs.pod:2196 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2195 +#: ../src/guestfs.pod:2199 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L</guestfs_close>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2198 +#: ../src/guestfs.pod:2202 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 " @@ -58863,19 +59159,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2205 +#: ../src/guestfs.pod:2209 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:2208 +#: ../src/guestfs.pod:2212 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2211 +#: ../src/guestfs.pod:2215 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L</guestfs_kill_subprocess>. (This " @@ -58883,17 +59179,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2215 ../src/guestfs.pod:2224 ../src/guestfs.pod:2341 +#: ../src/guestfs.pod:2219 ../src/guestfs.pod:2228 ../src/guestfs.pod:2345 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:2217 +#: ../src/guestfs.pod:2221 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2220 +#: ../src/guestfs.pod:2224 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 " @@ -58901,12 +59197,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2226 +#: ../src/guestfs.pod:2230 msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2229 +#: ../src/guestfs.pod:2233 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -58916,14 +59212,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2235 +#: ../src/guestfs.pod:2239 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:2238 +#: ../src/guestfs.pod:2242 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 " @@ -58931,24 +59227,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2247 msgid "The only defined and stable parts of the API are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2249 +#: ../src/guestfs.pod:2253 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:2254 +#: ../src/guestfs.pod:2258 msgid "0 E<lt>= C<position> E<lt>= C<total>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2258 +#: ../src/guestfs.pod:2262 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 " @@ -58956,7 +59252,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2262 +#: ../src/guestfs.pod:2266 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 " @@ -58964,7 +59260,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2268 +#: ../src/guestfs.pod:2272 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 " @@ -58973,7 +59269,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2273 +#: ../src/guestfs.pod:2277 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 " @@ -58981,14 +59277,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2277 +#: ../src/guestfs.pod:2281 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:2282 +#: ../src/guestfs.pod:2286 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 " @@ -58997,31 +59293,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2288 +#: ../src/guestfs.pod:2292 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:2290 +#: ../src/guestfs.pod:2294 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2293 +#: ../src/guestfs.pod:2297 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:2296 +#: ../src/guestfs.pod:2300 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:2299 ../src/guestfs.pod:2313 +#: ../src/guestfs.pod:2303 ../src/guestfs.pod:2317 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 " @@ -59029,63 +59325,63 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2304 +#: ../src/guestfs.pod:2308 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2307 +#: ../src/guestfs.pod:2311 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2310 +#: ../src/guestfs.pod:2314 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:2318 +#: ../src/guestfs.pod:2322 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2321 +#: ../src/guestfs.pod:2325 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:2324 +#: ../src/guestfs.pod:2328 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:2328 +#: ../src/guestfs.pod:2332 msgid "GUESTFS_EVENT_ENTER (payload type: function name)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2331 +#: ../src/guestfs.pod:2335 msgid "" "The callback function is called whenever a libguestfs function is entered." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2334 +#: ../src/guestfs.pod:2338 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:2337 +#: ../src/guestfs.pod:2341 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 " @@ -59093,12 +59389,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2343 +#: ../src/guestfs.pod:2347 msgid "GUESTFS_EVENT_LIBVIRT_AUTH (payload type: libvirt URI)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2350 msgid "" "For any API function that opens a libvirt connection, this event may be " "generated to indicate that libvirt demands authentication information. See " @@ -59106,24 +59402,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2350 +#: ../src/guestfs.pod:2354 msgid "" "If no callback is registered: C<virConnectAuthPtrDefault> is used (suitable " "for command-line programs only)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2355 +#: ../src/guestfs.pod:2359 msgid "EVENT API" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2357 +#: ../src/guestfs.pod:2361 msgid "guestfs_set_event_callback" msgstr "guestfs_set_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2359 +#: ../src/guestfs.pod:2363 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -59141,14 +59437,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2365 +#: ../src/guestfs.pod:2369 msgid "" "This function registers a callback (C<cb>) for all event classes in the " "C<event_bitmask>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2368 +#: ../src/guestfs.pod:2372 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>. " @@ -59157,40 +59453,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2374 +#: ../src/guestfs.pod:2378 msgid "C<flags> should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2376 +#: ../src/guestfs.pod:2380 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:2379 +#: ../src/guestfs.pod:2383 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:2382 +#: ../src/guestfs.pod:2386 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:2385 +#: ../src/guestfs.pod:2389 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2388 +#: ../src/guestfs.pod:2392 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 " @@ -59198,12 +59494,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2392 +#: ../src/guestfs.pod:2396 msgid "guestfs_delete_event_callback" msgstr "guestfs_delete_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2394 +#: ../src/guestfs.pod:2398 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -59213,7 +59509,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2396 +#: ../src/guestfs.pod:2400 msgid "" "Delete a callback that was previously registered. C<event_handle> should be " "the integer that was returned by a previous call to " @@ -59221,12 +59517,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2400 +#: ../src/guestfs.pod:2404 msgid "guestfs_event_callback" msgstr "guestfs_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2402 +#: ../src/guestfs.pod:2406 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -59250,13 +59546,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2411 +#: ../src/guestfs.pod:2415 msgid "" "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2414 +#: ../src/guestfs.pod:2418 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 " @@ -59264,7 +59560,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2418 +#: ../src/guestfs.pod:2422 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 " @@ -59273,7 +59569,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2423 +#: ../src/guestfs.pod:2427 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 " @@ -59281,19 +59577,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2427 +#: ../src/guestfs.pod:2431 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: =head2 -#: ../src/guestfs.pod:2430 +#: ../src/guestfs.pod:2434 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2432 +#: ../src/guestfs.pod:2436 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 " @@ -59301,7 +59597,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2436 +#: ../src/guestfs.pod:2440 msgid "" "Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, " "C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error " @@ -59309,14 +59605,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2441 +#: ../src/guestfs.pod:2445 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2444 +#: ../src/guestfs.pod:2448 #, no-wrap msgid "" " int eh =\n" @@ -59332,14 +59628,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2454 +#: ../src/guestfs.pod:2458 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:2457 +#: ../src/guestfs.pod:2461 #, no-wrap msgid "" " static void\n" @@ -59375,12 +59671,12 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:2472 +#: ../src/guestfs.pod:2476 msgid "LIBVIRT AUTHENTICATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2474 +#: ../src/guestfs.pod:2478 msgid "" "Some libguestfs API calls can open libvirt connections. Currently the only " "ones are L</guestfs_add_domain>; and L</guestfs_launch> if the libvirt " @@ -59392,14 +59688,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2482 +#: ../src/guestfs.pod:2486 msgid "" "You may provide libvirt authentication data by registering a callback for " "events of type C<GUESTFS_EVENT_LIBVIRT_AUTH>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2485 +#: ../src/guestfs.pod:2489 msgid "" "If no such event is registered, then libguestfs uses a libvirt function that " "provides command-line prompts (C<virConnectAuthPtrDefault>). This is only " @@ -59407,7 +59703,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2490 +#: ../src/guestfs.pod:2494 msgid "" "To provide authentication, first call L</" "guestfs_set_libvirt_supported_credentials> with the list of credentials your " @@ -59417,7 +59713,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2497 +#: ../src/guestfs.pod:2501 msgid "" "In the event handler, call L</guestfs_get_libvirt_requested_credentials> to " "get a list of the credentials that libvirt is asking for. You then need to " @@ -59430,19 +59726,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2508 +#: ../src/guestfs.pod:2512 msgid "The example program below should make this clearer." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2510 +#: ../src/guestfs.pod:2514 msgid "" "There is also a more substantial working example program supplied with the " "libguestfs sources, called C<libvirt_auth.c>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2513 +#: ../src/guestfs.pod:2517 #, no-wrap msgid "" " main ()\n" @@ -59454,7 +59750,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2519 +#: ../src/guestfs.pod:2523 #, fuzzy, no-wrap #| msgid "" #| " if (guestfs_launch (g) == -1)\n" @@ -59470,7 +59766,7 @@ msgstr "" "\n" #. type: verbatim -#: ../src/guestfs.pod:2522 +#: ../src/guestfs.pod:2526 #, no-wrap msgid "" " /* Tell libvirt what credentials the program supports. */\n" @@ -59481,7 +59777,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2527 +#: ../src/guestfs.pod:2531 #, no-wrap msgid "" " /* Set up the event handler. */\n" @@ -59494,7 +59790,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2534 +#: ../src/guestfs.pod:2538 #, no-wrap msgid "" " /* An example of a call that may ask for credentials. */\n" @@ -59508,7 +59804,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2542 +#: ../src/guestfs.pod:2546 #, no-wrap msgid "" " exit (EXIT_SUCCESS);\n" @@ -59517,7 +59813,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2545 +#: ../src/guestfs.pod:2549 #, fuzzy, no-wrap #| msgid "" #| " static void\n" @@ -59570,7 +59866,7 @@ msgstr "" "\n" #. type: verbatim -#: ../src/guestfs.pod:2561 +#: ../src/guestfs.pod:2565 #, no-wrap msgid "" " // buf will be the libvirt URI. buf_len may be ignored.\n" @@ -59580,7 +59876,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2565 +#: ../src/guestfs.pod:2569 #, no-wrap msgid "" " // Ask libguestfs what credentials libvirt is demanding.\n" @@ -59591,7 +59887,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2570 +#: ../src/guestfs.pod:2574 #, no-wrap msgid "" " // Now ask the user for answers.\n" @@ -59609,7 +59905,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2582 +#: ../src/guestfs.pod:2586 #, no-wrap msgid "" " // Some code here to ask for the credential.\n" @@ -59619,7 +59915,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2586 +#: ../src/guestfs.pod:2590 #, no-wrap msgid "" " r = guestfs_set_libvirt_requested_credential (g, i,\n" @@ -59631,7 +59927,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2592 +#: ../src/guestfs.pod:2596 #, no-wrap msgid "" " free (creds[i]);\n" @@ -59640,7 +59936,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2595 +#: ../src/guestfs.pod:2599 #, no-wrap msgid "" " free (creds);\n" @@ -59649,12 +59945,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2598 +#: ../src/guestfs.pod:2602 msgid "CANCELLING LONG TRANSFERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2600 +#: ../src/guestfs.pod:2604 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 " @@ -59663,12 +59959,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2605 +#: ../src/guestfs.pod:2609 msgid "guestfs_user_cancel" msgstr "guestfs_user_cancel" #. type: verbatim -#: ../src/guestfs.pod:2607 +#: ../src/guestfs.pod:2611 #, no-wrap msgid "" " void guestfs_user_cancel (guestfs_h *g);\n" @@ -59678,13 +59974,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2609 +#: ../src/guestfs.pod:2613 msgid "" "C<guestfs_user_cancel> cancels the current upload or download operation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2612 +#: ../src/guestfs.pod:2616 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 " @@ -59692,7 +59988,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2616 +#: ../src/guestfs.pod:2620 msgid "" "The transfer that was in progress (if there is one) will stop shortly " "afterwards, and will return an error. The errno (see L</" @@ -59701,7 +59997,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2622 +#: ../src/guestfs.pod:2626 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 " @@ -59709,12 +60005,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2626 +#: ../src/guestfs.pod:2630 msgid "There are two common places that you might call C<guestfs_user_cancel>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2628 +#: ../src/guestfs.pod:2632 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 " @@ -59723,19 +60019,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2633 +#: ../src/guestfs.pod:2637 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:2637 +#: ../src/guestfs.pod:2641 msgid "PRIVATE DATA AREA" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2639 +#: ../src/guestfs.pod:2643 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 " @@ -59743,12 +60039,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2644 +#: ../src/guestfs.pod:2648 msgid "To attach a named piece of data, use the following call:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2646 +#: ../src/guestfs.pod:2650 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -59758,7 +60054,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2648 +#: ../src/guestfs.pod:2652 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 " @@ -59766,7 +60062,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2652 +#: ../src/guestfs.pod:2656 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 " @@ -59776,12 +60072,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2658 +#: ../src/guestfs.pod:2662 msgid "To retrieve the pointer, use:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2660 +#: ../src/guestfs.pod:2664 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -59791,7 +60087,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2662 +#: ../src/guestfs.pod:2666 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 " @@ -59799,7 +60095,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2666 +#: ../src/guestfs.pod:2670 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 " @@ -59810,12 +60106,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2673 +#: ../src/guestfs.pod:2677 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2675 +#: ../src/guestfs.pod:2679 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -59825,7 +60121,7 @@ msgstr "" "\n" #. type: verbatim -#: ../src/guestfs.pod:2677 +#: ../src/guestfs.pod:2681 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -59835,7 +60131,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2679 +#: ../src/guestfs.pod:2683 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 " @@ -59845,7 +60141,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2689 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 " @@ -59853,18 +60149,18 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2689 +#: ../src/guestfs.pod:2693 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2695 +#: ../src/guestfs.pod:2699 msgid "" "You must not call C<guestfs_set_private> while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2700 +#: ../src/guestfs.pod:2704 msgid "" "The handle maintains an internal iterator which is reset when you call " "C<guestfs_first_private>. This internal iterator is invalidated when you " @@ -59872,12 +60168,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2706 +#: ../src/guestfs.pod:2710 msgid "If you have set the data pointer associated with a key to C<NULL>, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2708 +#: ../src/guestfs.pod:2712 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -59885,26 +60181,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2710 +#: ../src/guestfs.pod:2714 msgid "then that C<key> is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2714 +#: ../src/guestfs.pod:2718 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:2720 +#: ../src/guestfs.pod:2724 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:2723 +#: ../src/guestfs.pod:2727 #, no-wrap msgid "" " const char *key;\n" @@ -59918,14 +60214,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2731 +#: ../src/guestfs.pod:2735 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:2734 +#: ../src/guestfs.pod:2738 #, no-wrap msgid "" " const char *key;\n" @@ -59940,7 +60236,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2743 +#: ../src/guestfs.pod:2747 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 " @@ -59948,7 +60244,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2747 +#: ../src/guestfs.pod:2751 #, no-wrap msgid "" " const char *key;\n" @@ -59970,7 +60266,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2763 +#: ../src/guestfs.pod:2767 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 " @@ -59979,12 +60275,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2768 +#: ../src/guestfs.pod:2772 msgid "SYSTEMTAP" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2770 +#: ../src/guestfs.pod:2774 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 " @@ -59992,12 +60288,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2774 +#: ../src/guestfs.pod:2778 msgid "You can list all the static markers by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2776 +#: ../src/guestfs.pod:2780 #, no-wrap msgid "" " stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n" @@ -60006,26 +60302,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2779 +#: ../src/guestfs.pod:2783 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:2782 +#: ../src/guestfs.pod:2786 msgid "SYSTEMTAP SCRIPT EXAMPLE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2784 +#: ../src/guestfs.pod:2788 msgid "" "This script contains examples of displaying both the static markers and some " "ordinary C entry points:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2811 +#: ../src/guestfs.pod:2815 #, no-wrap msgid "" " /* Display all calls to guestfs_mkfs* functions. */\n" @@ -60038,7 +60334,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2818 +#: ../src/guestfs.pod:2822 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 " @@ -60047,7 +60343,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2823 +#: ../src/guestfs.pod:2827 #, no-wrap msgid "" " # stap /tmp/test.stap\n" @@ -60059,17 +60355,17 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2826 +#: ../src/guestfs.pod:2830 msgid "In another terminal, run a guestfish command such as this:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2830 +#: ../src/guestfs.pod:2834 msgid "In the first terminal, stap trace output similar to this is shown:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2832 +#: ../src/guestfs.pod:2836 #, no-wrap msgid "" " 1318248056692655 (+0):\tlaunch_start\n" @@ -60089,7 +60385,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2841 +#: ../src/guestfs.pod:2845 msgid "" "<!-- old anchor for the next section --> <a name=" "\"state_machine_and_low_level_event_api\"/>" @@ -60098,12 +60394,12 @@ msgstr "" "\"state_machine_and_low_level_event_api\"/>" #. type: =head1 -#: ../src/guestfs.pod:2846 +#: ../src/guestfs.pod:2850 msgid "ARCHITECTURE" msgstr "АРХІТЕКТУРА" #. type: textblock -#: ../src/guestfs.pod:2848 +#: ../src/guestfs.pod:2852 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 " @@ -60111,7 +60407,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2852 +#: ../src/guestfs.pod:2856 #, no-wrap msgid "" " ___________________\n" @@ -60137,14 +60433,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2872 +#: ../src/guestfs.pod:2876 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:2875 +#: ../src/guestfs.pod:2879 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 " @@ -60156,7 +60452,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2884 +#: ../src/guestfs.pod:2888 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 " @@ -60167,17 +60463,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2891 +#: ../src/guestfs.pod:2895 msgid "STATE MACHINE" msgstr "СКІНЧЕННИЙ АВТОМАТ" #. type: textblock -#: ../src/guestfs.pod:2893 +#: ../src/guestfs.pod:2897 msgid "libguestfs uses a state machine to model the child process:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2895 +#: ../src/guestfs.pod:2899 #, fuzzy, no-wrap #| msgid "" #| " |\n" @@ -60250,7 +60546,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2917 +#: ../src/guestfs.pod:2921 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), " @@ -60259,7 +60555,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2922 +#: ../src/guestfs.pod:2926 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 " @@ -60267,14 +60563,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2926 +#: ../src/guestfs.pod:2930 msgid "" "Configuration commands for qemu such as L</guestfs_set_path> can only be " "issued when in the CONFIG state." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2929 +#: ../src/guestfs.pod:2933 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 " @@ -60283,7 +60579,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2935 +#: ../src/guestfs.pod:2939 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. " @@ -60292,7 +60588,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2940 +#: ../src/guestfs.pod:2944 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -60300,17 +60596,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2944 +#: ../src/guestfs.pod:2948 msgid "INTERNALS" msgstr "ВНУТРІШНІ ПРИНЦИПИ РОБОТИ" #. type: =head2 -#: ../src/guestfs.pod:2946 +#: ../src/guestfs.pod:2950 msgid "APPLIANCE BOOT PROCESS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2948 +#: ../src/guestfs.pod:2952 msgid "" "This process has evolved and continues to evolve. The description here " "corresponds only to the current version of libguestfs and is provided for " @@ -60318,55 +60614,55 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2952 +#: ../src/guestfs.pod:2956 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:2957 +#: ../src/guestfs.pod:2961 msgid "Create the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2959 +#: ../src/guestfs.pod:2963 msgid "" "C<febootstrap-supermin-helper> is invoked to create the kernel, a small " "initrd and the appliance." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2962 +#: ../src/guestfs.pod:2966 msgid "" "The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another " "directory if C<LIBGUESTFS_CACHEDIR> or C<TMPDIR> are set)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2965 +#: ../src/guestfs.pod:2969 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:2969 +#: ../src/guestfs.pod:2973 msgid "Start qemu and boot the kernel" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2971 +#: ../src/guestfs.pod:2975 msgid "qemu is invoked to boot the kernel." msgstr "" #. type: =item -#: ../src/guestfs.pod:2973 +#: ../src/guestfs.pod:2977 msgid "Run the initrd" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2975 +#: ../src/guestfs.pod:2979 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 " @@ -60374,21 +60670,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2979 +#: ../src/guestfs.pod:2983 msgid "" "The initrd is a cpio archive called C</var/tmp/.guestfs-E<lt>UIDE<gt>/" "initrd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2982 +#: ../src/guestfs.pod:2986 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:2985 +#: ../src/guestfs.pod:2989 #, no-wrap msgid "" " febootstrap: ext2 mini initrd starting up\n" @@ -60399,12 +60695,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2990 +#: ../src/guestfs.pod:2994 msgid "Find and mount the appliance device" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2992 +#: ../src/guestfs.pod:2996 msgid "" "The appliance is a sparse file containing an ext2 filesystem which contains " "a familiar (although reduced in size) Linux operating system. It would " @@ -60412,33 +60708,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2996 +#: ../src/guestfs.pod:3000 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:2999 +#: ../src/guestfs.pod:3003 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:3002 +#: ../src/guestfs.pod:3006 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:3006 +#: ../src/guestfs.pod:3010 msgid "If this works successfully you will see messages such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3008 +#: ../src/guestfs.pod:3012 #, no-wrap msgid "" " febootstrap: picked /sys/block/vdb/dev as root device\n" @@ -60450,19 +60746,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3014 +#: ../src/guestfs.pod:3018 msgid "" "Note that C<Starting /init script ...> indicates that the appliance's init " "script is now running." msgstr "" #. type: =item -#: ../src/guestfs.pod:3017 +#: ../src/guestfs.pod:3021 msgid "Initialize the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3019 +#: ../src/guestfs.pod:3023 msgid "" "The appliance itself now initializes itself. This involves starting certain " "processes like C<udev>, possibly printing some debug information, and " @@ -60470,19 +60766,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3023 +#: ../src/guestfs.pod:3027 msgid "The daemon" msgstr "Фонова служба" #. type: textblock -#: ../src/guestfs.pod:3025 +#: ../src/guestfs.pod:3029 msgid "" "Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you " "should see:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3028 +#: ../src/guestfs.pod:3032 #, no-wrap msgid "" " verbose daemon enabled\n" @@ -60490,14 +60786,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3030 +#: ../src/guestfs.pod:3034 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:3033 +#: ../src/guestfs.pod:3037 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 " @@ -60505,19 +60801,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3039 +#: ../src/guestfs.pod:3043 msgid "COMMUNICATION PROTOCOL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3041 +#: ../src/guestfs.pod:3045 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:3044 +#: ../src/guestfs.pod:3048 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 " @@ -60525,14 +60821,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3048 +#: ../src/guestfs.pod:3052 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:3051 +#: ../src/guestfs.pod:3055 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 " @@ -60542,17 +60838,17 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3058 +#: ../src/guestfs.pod:3062 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3060 +#: ../src/guestfs.pod:3064 msgid "For ordinary functions, the request message is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3062 +#: ../src/guestfs.pod:3066 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -60563,7 +60859,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3067 +#: ../src/guestfs.pod:3071 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 " @@ -60572,21 +60868,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3073 +#: ../src/guestfs.pod:3077 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:3076 +#: ../src/guestfs.pod:3080 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:3080 +#: ../src/guestfs.pod:3084 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 " @@ -60598,12 +60894,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3088 +#: ../src/guestfs.pod:3092 msgid "The reply message for ordinary functions is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3090 +#: ../src/guestfs.pod:3094 #, no-wrap msgid "" " total length (header + ret,\n" @@ -60614,27 +60910,27 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3095 +#: ../src/guestfs.pod:3099 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:3098 +#: ../src/guestfs.pod:3102 msgid "" "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3101 +#: ../src/guestfs.pod:3105 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:3104 +#: ../src/guestfs.pod:3108 #, no-wrap msgid "" " total length (header + error,\n" @@ -60645,19 +60941,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3109 +#: ../src/guestfs.pod:3113 msgid "" "The C<guestfs_message_error> structure contains the error message as a " "string." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3112 +#: ../src/guestfs.pod:3116 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3114 +#: ../src/guestfs.pod:3118 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 " @@ -60665,7 +60961,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3118 +#: ../src/guestfs.pod:3122 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -60679,12 +60975,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3126 +#: ../src/guestfs.pod:3130 msgid "The \"sequence of chunks\" is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3128 +#: ../src/guestfs.pod:3132 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -60698,7 +60994,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3136 +#: ../src/guestfs.pod:3140 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 " @@ -60706,7 +61002,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3140 +#: ../src/guestfs.pod:3144 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -60715,7 +61011,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3145 +#: ../src/guestfs.pod:3149 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 " @@ -60724,7 +61020,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3151 +#: ../src/guestfs.pod:3155 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 " @@ -60736,7 +61032,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3160 +#: ../src/guestfs.pod:3164 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 " @@ -60746,19 +61042,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3166 +#: ../src/guestfs.pod:3170 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3168 +#: ../src/guestfs.pod:3172 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:3171 +#: ../src/guestfs.pod:3175 #, no-wrap msgid "" " total length (header + ret,\n" @@ -60772,12 +61068,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3179 +#: ../src/guestfs.pod:3183 msgid "INITIAL MESSAGE" msgstr "ПОЧАТКОВЕ ПОВІДОМЛЕННЯ" #. type: textblock -#: ../src/guestfs.pod:3181 +#: ../src/guestfs.pod:3185 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</" @@ -60785,12 +61081,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:3185 +#: ../src/guestfs.pod:3189 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3187 +#: ../src/guestfs.pod:3191 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -60798,7 +61094,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3191 +#: ../src/guestfs.pod:3195 msgid "" "The library turns them into progress callbacks (see L</" "GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them " @@ -60806,7 +61102,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3195 +#: ../src/guestfs.pod:3199 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C<daemon/proto.c:notify_progress>). Not all calls generate progress " @@ -60814,12 +61110,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3199 +#: ../src/guestfs.pod:3203 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3201 +#: ../src/guestfs.pod:3205 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -60827,7 +61123,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3206 +#: ../src/guestfs.pod:3210 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -60844,12 +61140,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3217 +#: ../src/guestfs.pod:3221 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3219 +#: ../src/guestfs.pod:3223 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 " @@ -60859,26 +61155,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3225 +#: ../src/guestfs.pod:3229 msgid "Our criteria for backporting changes are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3231 +#: ../src/guestfs.pod:3235 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:3237 +#: ../src/guestfs.pod:3241 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3242 +#: ../src/guestfs.pod:3246 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 " @@ -60886,7 +61182,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3248 +#: ../src/guestfs.pod:3252 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 " @@ -60894,7 +61190,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3254 +#: ../src/guestfs.pod:3258 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 " @@ -60905,29 +61201,29 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3262 +#: ../src/guestfs.pod:3266 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3264 +#: ../src/guestfs.pod:3268 msgid "This section is for hackers who want to extend libguestfs itself." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3266 +#: ../src/guestfs.pod:3270 msgid "OVERVIEW OF THE SOURCE CODE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3268 +#: ../src/guestfs.pod:3272 msgid "" "Libguestfs source is located in the github repository L<https://github.com/" "libguestfs/libguestfs>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3271 +#: ../src/guestfs.pod:3275 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated. This means that many source files will appear " @@ -60937,7 +61233,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3277 +#: ../src/guestfs.pod:3281 msgid "" "Libguestfs uses an autotools-based build system, with the main files being " "C<configure.ac> and C<Makefile.am>. The C<generator> subdirectory contains " @@ -60949,7 +61245,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3286 +#: ../src/guestfs.pod:3290 msgid "" "Apart from the fact that all API entry points go via some generated code, " "the library is straightforward. (In fact, even the generated code is " @@ -60960,17 +61256,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3294 +#: ../src/guestfs.pod:3298 msgid "To build from source, first read the C<README> file." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3296 +#: ../src/guestfs.pod:3300 msgid "C<local*> FILES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3298 +#: ../src/guestfs.pod:3302 msgid "" "Files in the top source directory that begin with the prefix C<local*> are " "ignored by git. These files can contain local configuration or scripts that " @@ -60978,7 +61274,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3302 +#: ../src/guestfs.pod:3306 msgid "" "By convention, I have a file called C<localconfigure> which is a simple " "wrapper around C<autogen.sh> containing local configure customizations that " @@ -60986,7 +61282,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3306 +#: ../src/guestfs.pod:3310 #, no-wrap msgid "" " . localenv\n" @@ -61000,14 +61296,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3314 +#: ../src/guestfs.pod:3318 #, fuzzy #| msgid "You can use this to:" msgid "So I can use this to build libguestfs:" msgstr "Ви можете скористатися цим для того, щоб виконати такі завдання:" #. type: verbatim -#: ../src/guestfs.pod:3316 +#: ../src/guestfs.pod:3320 #, no-wrap msgid "" " ./localconfigure && make\n" @@ -61015,7 +61311,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3318 +#: ../src/guestfs.pod:3322 msgid "" "If there is a file in the top build directory called C<localenv>, then it " "will be sourced by C<make>. This file can contain any local environment " @@ -61023,7 +61319,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3322 +#: ../src/guestfs.pod:3326 #, no-wrap msgid "" " # Use an alternate python binary.\n" @@ -61034,7 +61330,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3327 +#: ../src/guestfs.pod:3331 msgid "" "Note that C<localenv> is included by the top Makefile (so it's a Makefile " "fragment). But if it is also sourced by your C<localconfigure> script then " @@ -61042,31 +61338,31 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3331 +#: ../src/guestfs.pod:3335 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3333 +#: ../src/guestfs.pod:3337 msgid "" "Because large amounts of boilerplate code in libguestfs are generated, this " "makes it easy to extend the libguestfs API." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3336 +#: ../src/guestfs.pod:3340 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3342 +#: ../src/guestfs.pod:3346 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C<generator/actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3345 +#: ../src/guestfs.pod:3349 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 " @@ -61077,7 +61373,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3353 +#: ../src/guestfs.pod:3357 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 " @@ -61087,7 +61383,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3359 +#: ../src/guestfs.pod:3363 msgid "" "For library-only actions of the second type, add to the " "C<non_daemon_functions> list. Since these functions are serviced by the " @@ -61097,36 +61393,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3367 +#: ../src/guestfs.pod:3371 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3369 +#: ../src/guestfs.pod:3373 msgid "" "For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the " "C<daemon/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3372 +#: ../src/guestfs.pod:3376 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:3375 +#: ../src/guestfs.pod:3379 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3379 +#: ../src/guestfs.pod:3383 msgid "After making these changes, use C<make> to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3381 +#: ../src/guestfs.pod:3385 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 " @@ -61134,12 +61430,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3385 +#: ../src/guestfs.pod:3389 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3387 +#: ../src/guestfs.pod:3391 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/actions." @@ -61149,61 +61445,61 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3393 +#: ../src/guestfs.pod:3397 msgid "" "The following describes the test environment used when you add an API test " "in C<actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3396 +#: ../src/guestfs.pod:3400 msgid "The test environment has 4 block devices:" msgstr "" #. type: =item -#: ../src/guestfs.pod:3400 +#: ../src/guestfs.pod:3404 msgid "C</dev/sda> 500MB" msgstr "C</dev/sda> 500 МБ" #. type: textblock -#: ../src/guestfs.pod:3402 +#: ../src/guestfs.pod:3406 msgid "General block device for testing." msgstr "" #. type: =item -#: ../src/guestfs.pod:3404 +#: ../src/guestfs.pod:3408 msgid "C</dev/sdb> 50MB" msgstr "C</dev/sdb> 50 МБ" #. type: textblock -#: ../src/guestfs.pod:3406 +#: ../src/guestfs.pod:3410 msgid "" "C</dev/sdb1> is an ext2 filesystem used for testing filesystem write " "operations." msgstr "" #. type: =item -#: ../src/guestfs.pod:3409 +#: ../src/guestfs.pod:3413 msgid "C</dev/sdc> 10MB" msgstr "C</dev/sdc> 10 МБ" #. type: textblock -#: ../src/guestfs.pod:3411 +#: ../src/guestfs.pod:3415 msgid "Used in a few tests where two block devices are needed." msgstr "" #. type: =item -#: ../src/guestfs.pod:3413 +#: ../src/guestfs.pod:3417 msgid "C</dev/sdd>" msgstr "C</dev/sdd>" #. type: textblock -#: ../src/guestfs.pod:3415 +#: ../src/guestfs.pod:3419 msgid "ISO with fixed content (see C<images/test.iso>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3419 +#: ../src/guestfs.pod:3423 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 " @@ -61211,7 +61507,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3423 +#: ../src/guestfs.pod:3427 msgid "" "Each test starts with an initial scenario, selected using one of the " "C<Init*> expressions, described in C<generator/types.ml>. These initialize " @@ -61221,7 +61517,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3429 +#: ../src/guestfs.pod:3433 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 " @@ -61231,14 +61527,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3435 +#: ../src/guestfs.pod:3439 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C<make check>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3438 +#: ../src/guestfs.pod:3442 #, no-wrap msgid "" " SKIP_TEST_<CMD>_<NUM>=1\n" @@ -61246,12 +61542,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3440 +#: ../src/guestfs.pod:3444 msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3444 +#: ../src/guestfs.pod:3448 #, no-wrap msgid "" " SKIP_TEST_<CMD>=1\n" @@ -61261,17 +61557,17 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3446 +#: ../src/guestfs.pod:3450 msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3448 +#: ../src/guestfs.pod:3452 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3450 +#: ../src/guestfs.pod:3454 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -61281,29 +61577,29 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3452 +#: ../src/guestfs.pod:3456 msgid "" "See C<tests/c-api/tests.c> for more details of how these environment " "variables work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3455 +#: ../src/guestfs.pod:3459 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3457 +#: ../src/guestfs.pod:3461 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3459 +#: ../src/guestfs.pod:3463 msgid "You can use guestfish to try out new commands." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3461 +#: ../src/guestfs.pod:3465 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 " @@ -61311,12 +61607,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3465 +#: ../src/guestfs.pod:3469 msgid "FORMATTING CODE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3467 +#: ../src/guestfs.pod:3471 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -61326,14 +61622,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3473 +#: ../src/guestfs.pod:3477 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:3476 +#: ../src/guestfs.pod:3480 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -61349,7 +61645,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3486 +#: ../src/guestfs.pod:3490 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -61367,17 +61663,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3498 +#: ../src/guestfs.pod:3502 msgid "TESTING YOUR CHANGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3500 +#: ../src/guestfs.pod:3504 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3503 +#: ../src/guestfs.pod:3507 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -61387,61 +61683,61 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3505 +#: ../src/guestfs.pod:3509 msgid "Useful targets are:" msgstr "" #. type: =item -#: ../src/guestfs.pod:3509 +#: ../src/guestfs.pod:3513 msgid "C<make check>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3511 +#: ../src/guestfs.pod:3515 msgid "Runs the regular test suite." msgstr "" #. type: =item -#: ../src/guestfs.pod:3513 +#: ../src/guestfs.pod:3517 msgid "C<make syntax-check -j1 -k>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3515 +#: ../src/guestfs.pod:3519 msgid "Checks for various syntax and style problems in the code." msgstr "" #. type: =item -#: ../src/guestfs.pod:3517 +#: ../src/guestfs.pod:3521 msgid "C<make check-valgrind>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3519 +#: ../src/guestfs.pod:3523 msgid "Runs a subset of the test suite under valgrind." msgstr "" #. type: =item -#: ../src/guestfs.pod:3521 +#: ../src/guestfs.pod:3525 msgid "C<make check-valgrind-local-guests>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3523 +#: ../src/guestfs.pod:3527 msgid "" "Runs a subset of the test suite under valgrind using locally installed " "libvirt guests (read-only)." msgstr "" #. type: =item -#: ../src/guestfs.pod:3526 +#: ../src/guestfs.pod:3530 #, fuzzy #| msgid "C<appliance>" msgid "C<make check-with-appliance>" msgstr "C<appliance>" #. type: textblock -#: ../src/guestfs.pod:3528 +#: ../src/guestfs.pod:3532 msgid "" "Runs all tests using default appliance back-end. This only has any effect " "if a non-default attach-method was selected using C<./configure --with-" @@ -61449,12 +61745,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3532 +#: ../src/guestfs.pod:3536 msgid "C<make check-with-upstream-qemu>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3534 +#: ../src/guestfs.pod:3538 msgid "" "Runs all tests using a local qemu binary. It looks for the qemu binary in " "QEMUDIR (defaults to C<$HOME/d/qemu>), but you can set this to another " @@ -61462,7 +61758,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3538 +#: ../src/guestfs.pod:3542 #, no-wrap msgid "" " make check-with-upstream-qemu QEMUDIR=/usr/src/qemu\n" @@ -61470,12 +61766,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3540 +#: ../src/guestfs.pod:3544 msgid "C<make check-with-upstream-libvirt>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3542 +#: ../src/guestfs.pod:3546 msgid "" "Runs all tests using a local libvirt. This only has any effect if the " "libvirt attach-method was selected using C<./configure --with-default-attach-" @@ -61483,14 +61779,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3546 +#: ../src/guestfs.pod:3550 msgid "" "It looks for libvirt in LIBVIRTDIR (defaults to C<$HOME/d/libvirt>), but you " "can set this to another directory on the command line, eg:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3549 +#: ../src/guestfs.pod:3553 #, no-wrap msgid "" " make check-with-upstream-libvirt LIBVIRTDIR=/usr/src/libvirt\n" @@ -61498,66 +61794,66 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3551 +#: ../src/guestfs.pod:3555 msgid "C<make check-slow>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3553 +#: ../src/guestfs.pod:3557 msgid "Runs some slow/long-running tests which are not run by default." msgstr "" #. type: =item -#: ../src/guestfs.pod:3555 +#: ../src/guestfs.pod:3559 #, fuzzy #| msgid "B<--extra-stats>" msgid "C<make extra-tests>" msgstr "B<--extra-stats>" #. type: textblock -#: ../src/guestfs.pod:3557 +#: ../src/guestfs.pod:3561 msgid "" "Equivalent to running all C<make check-*> rules (but not C<make check>)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3562 +#: ../src/guestfs.pod:3566 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3564 +#: ../src/guestfs.pod:3568 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:3569 +#: ../src/guestfs.pod:3573 msgid "%Q" msgstr "%Q" #. type: textblock -#: ../src/guestfs.pod:3571 +#: ../src/guestfs.pod:3575 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." msgstr "" #. type: =item -#: ../src/guestfs.pod:3574 +#: ../src/guestfs.pod:3578 msgid "%R" msgstr "%R" #. type: textblock -#: ../src/guestfs.pod:3576 +#: ../src/guestfs.pod:3580 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:3583 +#: ../src/guestfs.pod:3587 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -61567,12 +61863,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3585 +#: ../src/guestfs.pod:3589 msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3587 +#: ../src/guestfs.pod:3591 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 " @@ -61581,29 +61877,29 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3593 +#: ../src/guestfs.pod:3597 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3595 +#: ../src/guestfs.pod:3599 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:3599 +#: ../src/guestfs.pod:3603 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3601 +#: ../src/guestfs.pod:3605 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3603 +#: ../src/guestfs.pod:3607 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 " @@ -61612,112 +61908,112 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3609 +#: ../src/guestfs.pod:3613 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3612 +#: ../src/guestfs.pod:3616 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "" #. type: =item -#: ../src/guestfs.pod:3616 +#: ../src/guestfs.pod:3620 msgid "C<align>" msgstr "C<align>" #. type: textblock -#: ../src/guestfs.pod:3618 +#: ../src/guestfs.pod:3622 msgid "L<virt-alignment-scan(1)> command and documentation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3622 +#: ../src/guestfs.pod:3626 msgid "The libguestfs appliance, build scripts and so on." msgstr "" #. type: =item -#: ../src/guestfs.pod:3624 +#: ../src/guestfs.pod:3628 msgid "C<build-aux>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3626 +#: ../src/guestfs.pod:3630 msgid "Various build scripts used by autotools." msgstr "" #. type: =item -#: ../src/guestfs.pod:3628 +#: ../src/guestfs.pod:3632 msgid "C<cat>" msgstr "C<cat>" #. type: textblock -#: ../src/guestfs.pod:3630 +#: ../src/guestfs.pod:3634 msgid "" "The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and " "documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3633 +#: ../src/guestfs.pod:3637 msgid "C<contrib>" msgstr "C<contrib>" #. type: textblock -#: ../src/guestfs.pod:3635 +#: ../src/guestfs.pod:3639 msgid "Outside contributions, experimental parts." msgstr "" #. type: =item -#: ../src/guestfs.pod:3637 +#: ../src/guestfs.pod:3641 msgid "C<daemon>" msgstr "C<daemon>" #. type: textblock -#: ../src/guestfs.pod:3639 +#: ../src/guestfs.pod:3643 msgid "" "The daemon that runs inside the libguestfs appliance and carries out actions." msgstr "" #. type: =item -#: ../src/guestfs.pod:3642 +#: ../src/guestfs.pod:3646 msgid "C<df>" msgstr "C<df>" #. type: textblock -#: ../src/guestfs.pod:3644 +#: ../src/guestfs.pod:3648 msgid "L<virt-df(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3646 +#: ../src/guestfs.pod:3650 msgid "C<edit>" msgstr "C<edit>" #. type: textblock -#: ../src/guestfs.pod:3648 +#: ../src/guestfs.pod:3652 msgid "L<virt-edit(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3650 +#: ../src/guestfs.pod:3654 msgid "C<examples>" msgstr "C<examples>" #. type: textblock -#: ../src/guestfs.pod:3652 +#: ../src/guestfs.pod:3656 msgid "C API example code." msgstr "Код прикладів використання програмного інтерфейсу мовою C." #. type: =item -#: ../src/guestfs.pod:3654 +#: ../src/guestfs.pod:3658 msgid "C<fish>" msgstr "C<fish>" #. type: textblock -#: ../src/guestfs.pod:3656 +#: ../src/guestfs.pod:3660 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)>, " @@ -61725,102 +62021,102 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3662 +#: ../src/guestfs.pod:3666 msgid "L<virt-format(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3664 +#: ../src/guestfs.pod:3668 msgid "C<fuse>" msgstr "C<fuse>" #. type: textblock -#: ../src/guestfs.pod:3666 +#: ../src/guestfs.pod:3670 msgid "" "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3668 +#: ../src/guestfs.pod:3672 msgid "C<generator>" msgstr "C<generator>" #. type: textblock -#: ../src/guestfs.pod:3670 +#: ../src/guestfs.pod:3674 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:3673 +#: ../src/guestfs.pod:3677 msgid "C<gnulib>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3675 +#: ../src/guestfs.pod:3679 msgid "" "Gnulib is used as a portability library. A copy of gnulib is included under " "here." msgstr "" #. type: =item -#: ../src/guestfs.pod:3678 +#: ../src/guestfs.pod:3682 msgid "C<html>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3680 +#: ../src/guestfs.pod:3684 msgid "Generated HTML manual pages." msgstr "" #. type: =item -#: ../src/guestfs.pod:3682 +#: ../src/guestfs.pod:3686 msgid "C<inspector>" msgstr "C<inspector>" #. type: textblock -#: ../src/guestfs.pod:3684 +#: ../src/guestfs.pod:3688 msgid "L<virt-inspector(1)>, the virtual machine image inspector." msgstr "" #. type: =item -#: ../src/guestfs.pod:3686 +#: ../src/guestfs.pod:3690 msgid "C<logo>" msgstr "C<logo>" #. type: textblock -#: ../src/guestfs.pod:3688 +#: ../src/guestfs.pod:3692 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:3690 +#: ../src/guestfs.pod:3694 msgid "C<m4>" msgstr "C<m4>" #. type: textblock -#: ../src/guestfs.pod:3692 +#: ../src/guestfs.pod:3696 msgid "M4 macros used by autoconf." msgstr "" #. type: =item -#: ../src/guestfs.pod:3694 +#: ../src/guestfs.pod:3698 msgid "C<po>" msgstr "C<po>" #. type: textblock -#: ../src/guestfs.pod:3696 +#: ../src/guestfs.pod:3700 msgid "Translations of simple gettext strings." msgstr "Переклади простих рядків gettext." #. type: =item -#: ../src/guestfs.pod:3698 +#: ../src/guestfs.pod:3702 msgid "C<po-docs>" msgstr "C<po-docs>" #. type: textblock -#: ../src/guestfs.pod:3700 +#: ../src/guestfs.pod:3704 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 " @@ -61828,84 +62124,84 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3704 +#: ../src/guestfs.pod:3708 msgid "C<rescue>" msgstr "C<rescue>" #. type: textblock -#: ../src/guestfs.pod:3706 +#: ../src/guestfs.pod:3710 msgid "L<virt-rescue(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3708 +#: ../src/guestfs.pod:3712 msgid "C<resize>" msgstr "C<resize>" #. type: textblock -#: ../src/guestfs.pod:3710 +#: ../src/guestfs.pod:3714 msgid "L<virt-resize(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3712 +#: ../src/guestfs.pod:3716 msgid "C<sparsify>" msgstr "C<sparsify>" #. type: textblock -#: ../src/guestfs.pod:3714 +#: ../src/guestfs.pod:3718 msgid "L<virt-sparsify(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3716 +#: ../src/guestfs.pod:3720 msgid "C<src>" msgstr "C<src>" #. type: textblock -#: ../src/guestfs.pod:3718 +#: ../src/guestfs.pod:3722 msgid "Source code to the C library." msgstr "" #. type: =item -#: ../src/guestfs.pod:3720 +#: ../src/guestfs.pod:3724 msgid "C<sysprep>" msgstr "C<sysprep>" #. type: textblock -#: ../src/guestfs.pod:3722 +#: ../src/guestfs.pod:3726 msgid "L<virt-sysprep(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3724 +#: ../src/guestfs.pod:3728 msgid "C<tests>" msgstr "C<tests>" #. type: textblock -#: ../src/guestfs.pod:3726 +#: ../src/guestfs.pod:3730 msgid "Tests." msgstr "Тести." #. type: =item -#: ../src/guestfs.pod:3728 +#: ../src/guestfs.pod:3732 msgid "C<test-tool>" msgstr "C<test-tool>" #. type: textblock -#: ../src/guestfs.pod:3730 +#: ../src/guestfs.pod:3734 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3733 +#: ../src/guestfs.pod:3737 msgid "C<tmp>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3735 +#: ../src/guestfs.pod:3739 msgid "" "Used for temporary files when running the tests (instead of C</tmp> etc). " "The reason is so that you can run multiple parallel tests of libguestfs " @@ -61913,78 +62209,83 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3740 +#: ../src/guestfs.pod:3744 msgid "C<tools>" msgstr "C<tools>" #. type: textblock -#: ../src/guestfs.pod:3742 +#: ../src/guestfs.pod:3746 msgid "" "Command line tools written in Perl (L<virt-win-reg(1)> and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:3744 +#: ../src/guestfs.pod:3748 msgid "C<csharp>" msgstr "C<csharp>" #. type: =item -#: ../src/guestfs.pod:3746 +#: ../src/guestfs.pod:3750 msgid "C<erlang>" msgstr "C<erlang>" #. type: =item -#: ../src/guestfs.pod:3748 +#: ../src/guestfs.pod:3752 msgid "C<gobject>" msgstr "C<gobject>" #. type: =item -#: ../src/guestfs.pod:3750 +#: ../src/guestfs.pod:3754 msgid "C<haskell>" msgstr "C<haskell>" #. type: =item -#: ../src/guestfs.pod:3752 +#: ../src/guestfs.pod:3756 msgid "C<java>" msgstr "C<java>" #. type: =item -#: ../src/guestfs.pod:3754 +#: ../src/guestfs.pod:3758 +msgid "C<lua>" +msgstr "" + +#. type: =item +#: ../src/guestfs.pod:3760 msgid "C<ocaml>" msgstr "C<ocaml>" #. type: =item -#: ../src/guestfs.pod:3756 +#: ../src/guestfs.pod:3762 msgid "C<php>" msgstr "C<php>" #. type: =item -#: ../src/guestfs.pod:3758 +#: ../src/guestfs.pod:3764 msgid "C<perl>" msgstr "C<perl>" #. type: =item -#: ../src/guestfs.pod:3760 +#: ../src/guestfs.pod:3766 msgid "C<python>" msgstr "C<python>" #. type: =item -#: ../src/guestfs.pod:3762 +#: ../src/guestfs.pod:3768 msgid "C<ruby>" msgstr "C<ruby>" #. type: textblock -#: ../src/guestfs.pod:3764 +#: ../src/guestfs.pod:3770 msgid "Language bindings." msgstr "Прив’язки до мов програмування." #. type: =head2 -#: ../src/guestfs.pod:3768 +#: ../src/guestfs.pod:3774 msgid "MAKING A STABLE RELEASE" msgstr "СТВОРЕННЯ СТАБІЛЬНОГО ВИПУСКУ" #. type: textblock -#: ../src/guestfs.pod:3770 +#: ../src/guestfs.pod:3776 msgid "" "When we make a stable release, there are several steps documented here. See " "L</LIBGUESTFS VERSION NUMBERS> for general information about the stable " @@ -61992,33 +62293,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3778 +#: ../src/guestfs.pod:3784 msgid "" "Check C<make && make check> works on at least Fedora, Debian and Ubuntu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3783 +#: ../src/guestfs.pod:3789 msgid "Finalize C<guestfs-release-notes.pod>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3787 +#: ../src/guestfs.pod:3793 msgid "Update ROADMAP." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3791 +#: ../src/guestfs.pod:3797 msgid "Run C<src/api-support/update-from-tarballs.sh>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3795 +#: ../src/guestfs.pod:3801 msgid "Push and pull from Transifex." msgstr "Передавання даних на Transifex та отримання даних з Transifex." #. type: verbatim -#: ../src/guestfs.pod:3799 +#: ../src/guestfs.pod:3805 #, no-wrap msgid "" " tx push -s\n" @@ -62028,13 +62329,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3801 +#: ../src/guestfs.pod:3807 msgid "to push the latest POT files to Transifex. Then run:" msgstr "" "щоб надіслати найсвіжіші файли POT на Transifex. Потім віддайте команду:" #. type: verbatim -#: ../src/guestfs.pod:3803 +#: ../src/guestfs.pod:3809 #, no-wrap msgid "" " ./tx-pull.sh\n" @@ -62044,24 +62345,24 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3805 +#: ../src/guestfs.pod:3811 msgid "which is a wrapper to pull the latest translated C<*.po> files." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3809 +#: ../src/guestfs.pod:3815 msgid "" "Create new stable and development directories under L<http://libguestfs.org/" "download>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3814 +#: ../src/guestfs.pod:3820 msgid "Create the branch in git:" msgstr "Створення гілки у git:" #. type: verbatim -#: ../src/guestfs.pod:3816 +#: ../src/guestfs.pod:3822 #, no-wrap msgid "" " git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n" @@ -62077,17 +62378,17 @@ msgstr "" "\n" #. type: =head1 -#: ../src/guestfs.pod:3823 +#: ../src/guestfs.pod:3829 msgid "LIMITS" msgstr "ОБМЕЖЕННЯ" #. type: =head2 -#: ../src/guestfs.pod:3825 +#: ../src/guestfs.pod:3831 msgid "PROTOCOL LIMITS" msgstr "ОБМЕЖЕННЯ ПРОТОКОЛУ" #. type: textblock -#: ../src/guestfs.pod:3827 +#: ../src/guestfs.pod:3833 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 " @@ -62098,7 +62399,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3835 +#: ../src/guestfs.pod:3841 msgid "" "In libguestfs E<lt> 1.19.32, several calls had to encode either their entire " "argument list or their entire return value (or sometimes both) in a single " @@ -62114,7 +62415,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3848 +#: ../src/guestfs.pod:3854 msgid "" "L</guestfs_cat>, L</guestfs_find>, L</guestfs_read_file>, L</" "guestfs_read_lines>, L</guestfs_write>, L</guestfs_write_append>, L</" @@ -62123,19 +62424,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3853 +#: ../src/guestfs.pod:3859 msgid "" "See also L</UPLOADING> and L</DOWNLOADING> for further information about " "copying large amounts of data into or out of a filesystem." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3856 +#: ../src/guestfs.pod:3862 msgid "MAXIMUM NUMBER OF DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3858 +#: ../src/guestfs.pod:3864 msgid "" "In libguestfs E<ge> 1.19.7, you can query the maximum number of disks that " "may be added by calling L</guestfs_max_disks>. In earlier versions of " @@ -62144,14 +62445,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3863 +#: ../src/guestfs.pod:3869 msgid "" "The rest of this section covers implementation details, which could change " "in future." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3866 +#: ../src/guestfs.pod:3872 msgid "" "When using virtio-scsi disks (the default if available in qemu) the current " "limit is B<255> disks. When using virtio-blk (the old default) the limit is " @@ -62160,26 +62461,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3871 +#: ../src/guestfs.pod:3877 msgid "" "Virtio-scsi as used by libguestfs is configured to use one target per disk, " "and 256 targets are available." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3874 +#: ../src/guestfs.pod:3880 msgid "" "Virtio-blk consumes 1 virtual PCI slot per disk, and PCI is limited to 31 " "slots, but some of these are used for other purposes." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3877 +#: ../src/guestfs.pod:3883 msgid "One virtual disk is used by libguestfs internally." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3879 +#: ../src/guestfs.pod:3885 msgid "" "Before libguestfs 1.19.7, disk names had to be a single character (eg. C</" "dev/sda> through C</dev/sdz>), and since one disk is reserved, that meant " @@ -62187,48 +62488,48 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3884 +#: ../src/guestfs.pod:3890 msgid "" "In libguestfs E<ge> 1.20 it is possible to hot plug disks. See L</" "HOTPLUGGING>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3887 +#: ../src/guestfs.pod:3893 msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3889 +#: ../src/guestfs.pod:3895 msgid "Virtio limits the maximum number of partitions per disk to B<15>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3891 +#: ../src/guestfs.pod:3897 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:3894 +#: ../src/guestfs.pod:3900 msgid "" "If you attach a disk with more than 15 partitions, the extra partitions are " "ignored by libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3897 +#: ../src/guestfs.pod:3903 msgid "MAXIMUM SIZE OF A DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3899 +#: ../src/guestfs.pod:3905 msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3901 +#: ../src/guestfs.pod:3907 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 " @@ -62236,7 +62537,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3905 +#: ../src/guestfs.pod:3911 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 " @@ -62246,19 +62547,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3911 +#: ../src/guestfs.pod:3917 msgid "" "For the hugest disk image files, we recommend using XFS on the host for " "storage." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3914 +#: ../src/guestfs.pod:3920 msgid "MAXIMUM SIZE OF A PARTITION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3916 +#: ../src/guestfs.pod:3922 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 " @@ -62266,7 +62567,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3920 +#: ../src/guestfs.pod:3926 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 " @@ -62274,12 +62575,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3925 +#: ../src/guestfs.pod:3931 msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3927 +#: ../src/guestfs.pod:3933 msgid "" "This depends on the filesystem type. libguestfs itself does not impose any " "known limit. Consult Wikipedia or the filesystem documentation to find out " @@ -62287,12 +62588,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3931 +#: ../src/guestfs.pod:3937 msgid "MAXIMUM UPLOAD AND DOWNLOAD" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3933 +#: ../src/guestfs.pod:3939 msgid "" "The API functions L</guestfs_upload>, L</guestfs_download>, L</" "guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized " @@ -62300,12 +62601,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3937 +#: ../src/guestfs.pod:3943 msgid "INSPECTION LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3939 +#: ../src/guestfs.pod:3945 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 " @@ -62315,69 +62616,70 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3965 +#: ../src/guestfs.pod:3971 msgid "" "Choose the default way to create the appliance. See L</" "guestfs_set_attach_method>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3977 +#: ../src/guestfs.pod:3983 msgid "See also L</LIBGUESTFS_TMPDIR>, L</guestfs_set_cachedir>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3981 +#: ../src/guestfs.pod:3987 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:3993 +#: ../src/guestfs.pod:3999 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:4002 +#: ../src/guestfs.pod:4008 msgid "See also L</QEMU WRAPPERS> above." msgstr "" #. type: textblock -#: ../src/guestfs.pod:4012 +#: ../src/guestfs.pod:4018 #, fuzzy #| msgid "See also C<guestfs_set_e2attrs>." msgid "See also L</LIBGUESTFS_CACHEDIR>, L</guestfs_set_tmpdir>." msgstr "Див. також C<guestfs_set_e2attrs>." #. type: textblock -#: ../src/guestfs.pod:4016 +#: ../src/guestfs.pod:4022 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:4027 +#: ../src/guestfs.pod:4033 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)>, " -"L<guestfish(1)>, L<guestmount(1)>, L<virt-alignment-scan(1)>, L<virt-cat(1)" -">, L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit(1)>, " -"L<virt-filesystems(1)>, L<virt-format(1)>, L<virt-inspector(1)>, L<virt-list-" -"filesystems(1)>, L<virt-list-partitions(1)>, L<virt-ls(1)>, L<virt-make-fs(1)" -">, L<virt-rescue(1)>, L<virt-resize(1)>, L<virt-sparsify(1)>, L<virt-sysprep" -"(1)>, L<virt-tar(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<virt-win-reg" -"(1)>, L<guestfs-faq(1)>, L<guestfs-performance(1)>, L<guestfs-release-notes" -"(1)>, L<guestfs-testing(1)>, L<libguestfs-test-tool(1)>, L<libguestfs-make-" -"fixed-appliance(1)>, L<febootstrap(8)>, L<febootstrap-supermin-helper(8)>, " -"L<qemu(1)>, L<hivex(3)>, L<stap(1)>, L<http://libguestfs.org/>." -msgstr "" - -#. type: textblock -#: ../src/guestfs.pod:4070 +"lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, " +"L<guestfs-ruby(3)>, L<guestfish(1)>, L<guestmount(1)>, L<virt-alignment-scan" +"(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-df(1)" +">, L<virt-edit(1)>, L<virt-filesystems(1)>, L<virt-format(1)>, L<virt-" +"inspector(1)>, L<virt-list-filesystems(1)>, L<virt-list-partitions(1)>, " +"L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-rescue(1)>, L<virt-resize(1)>, " +"L<virt-sparsify(1)>, L<virt-sysprep(1)>, L<virt-tar(1)>, L<virt-tar-in(1)>, " +"L<virt-tar-out(1)>, L<virt-win-reg(1)>, L<guestfs-faq(1)>, L<guestfs-" +"performance(1)>, L<guestfs-release-notes(1)>, L<guestfs-testing(1)>, " +"L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-appliance(1)>, " +"L<febootstrap(8)>, L<febootstrap-supermin-helper(8)>, L<qemu(1)>, L<hivex(3)" +">, L<stap(1)>, L<http://libguestfs.org/>." +msgstr "" + +#. type: textblock +#: ../src/guestfs.pod:4077 msgid "" "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm" "(8)>, L<disktype(1)>." |