diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-05-01 14:08:39 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-05-01 14:08:39 +0100 |
commit | 500cc67f29b43ebb970f6f276967ee5e9959b140 (patch) | |
tree | 1ad94facdb04833241923b4184dd639c92f62363 | |
parent | e6bfb55f65a8248e1d18ac4fd9eb345651a66529 (diff) | |
download | libguestfs-1.17.38.tar.gz libguestfs-1.17.38.tar.xz libguestfs-1.17.38.zip |
Version 1.17.38.1.17.38
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | po-docs/ja.po | 3252 | ||||
-rw-r--r-- | po-docs/libguestfs-docs.pot | 2972 | ||||
-rw-r--r-- | po-docs/podfiles | 1 | ||||
-rw-r--r-- | po-docs/uk.po | 3168 | ||||
-rw-r--r-- | po/libguestfs.pot | 4 |
6 files changed, 6378 insertions, 3021 deletions
diff --git a/configure.ac b/configure.ac index 43b08f1e..dc1f27a8 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ # freeform string. m4_define([libguestfs_major], [1]) m4_define([libguestfs_minor], [17]) -m4_define([libguestfs_release], [37]) +m4_define([libguestfs_release], [38]) AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release) AC_CONFIG_AUX_DIR([build-aux]) diff --git a/po-docs/ja.po b/po-docs/ja.po index ba70873b..9cc17ae8 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-05-01 09:43+0200\n" +"POT-Creation-Date: 2012-05-01 14:06+0200\n" "PO-Revision-Date: 2012-03-30 17:30+0000\n" "Last-Translator: rjones <rjones@redhat.com>\n" "Language-Team: Japanese <trans-ja@lists.fedoraproject.org>\n" @@ -26,18 +26,18 @@ msgstr "" #: ../appliance/libguestfs-make-fixed-appliance.pod:3 ../cat/virt-cat.pod:3 #: ../cat/virt-filesystems.pod:3 ../cat/virt-ls.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-performance.pod:3 -#: ../examples/guestfs-recipes.pod:14 ../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 ../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 +#: ../examples/guestfs-examples.pod:3 ../examples/guestfs-faq.pod:3 +#: ../examples/guestfs-performance.pod:3 ../examples/guestfs-recipes.pod:14 +#: ../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 +#: ../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:35 ../tools/virt-tar.pl:31 #: ../tools/virt-win-reg.pl:35 @@ -541,7 +541,7 @@ msgstr "" #: ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 #: ../fish/guestfish.pod:673 ../format/virt-format.pod:96 #: ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 -#: ../src/guestfs.pod:2962 ../sysprep/virt-sysprep.pod:111 +#: ../src/guestfs.pod:2945 ../sysprep/virt-sysprep.pod:111 msgid "For example:" msgstr "例:" @@ -1183,22 +1183,22 @@ msgstr "このプログラムは以下を返します:" #: ../src/guestfs-actions.pod:3124 ../src/guestfs-actions.pod:3679 #: ../src/guestfs-actions.pod:3685 ../src/guestfs-actions.pod:3693 #: ../src/guestfs-actions.pod:3700 ../src/guestfs-actions.pod:3707 -#: ../src/guestfs.pod:407 ../src/guestfs.pod:412 ../src/guestfs.pod:417 -#: ../src/guestfs.pod:421 ../src/guestfs.pod:426 ../src/guestfs.pod:430 -#: ../src/guestfs.pod:435 ../src/guestfs.pod:440 ../src/guestfs.pod:1194 -#: ../src/guestfs.pod:1198 ../src/guestfs.pod:1202 ../src/guestfs.pod:1207 -#: ../src/guestfs.pod:1215 ../src/guestfs.pod:1234 ../src/guestfs.pod:1242 -#: ../src/guestfs.pod:1264 ../src/guestfs.pod:1268 ../src/guestfs.pod:1272 -#: ../src/guestfs.pod:1276 ../src/guestfs.pod:1280 ../src/guestfs.pod:1284 -#: ../src/guestfs.pod:1774 ../src/guestfs.pod:1779 ../src/guestfs.pod:1783 -#: ../src/guestfs.pod:1885 ../src/guestfs.pod:1890 ../src/guestfs.pod:1894 -#: ../src/guestfs.pod:1904 ../src/guestfs.pod:2193 ../src/guestfs.pod:2198 -#: ../src/guestfs.pod:2204 ../src/guestfs.pod:2212 ../src/guestfs.pod:2729 -#: ../src/guestfs.pod:2735 ../src/guestfs.pod:2740 ../src/guestfs.pod:2746 -#: ../src/guestfs.pod:3137 ../src/guestfs.pod:3142 ../src/guestfs.pod:3146 -#: ../src/guestfs.pod:3150 ../src/guestfs.pod:3154 ../src/guestfs.pod:3168 -#: ../src/guestfs.pod:3173 ../src/guestfs.pod:3409 ../src/guestfs.pod:3413 -#: ../src/guestfs.pod:3417 ../src/guestfs.pod:3421 +#: ../src/guestfs.pod:390 ../src/guestfs.pod:395 ../src/guestfs.pod:400 +#: ../src/guestfs.pod:404 ../src/guestfs.pod:409 ../src/guestfs.pod:413 +#: ../src/guestfs.pod:418 ../src/guestfs.pod:423 ../src/guestfs.pod:1177 +#: ../src/guestfs.pod:1181 ../src/guestfs.pod:1185 ../src/guestfs.pod:1190 +#: ../src/guestfs.pod:1198 ../src/guestfs.pod:1217 ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1247 ../src/guestfs.pod:1251 ../src/guestfs.pod:1255 +#: ../src/guestfs.pod:1259 ../src/guestfs.pod:1263 ../src/guestfs.pod:1267 +#: ../src/guestfs.pod:1757 ../src/guestfs.pod:1762 ../src/guestfs.pod:1766 +#: ../src/guestfs.pod:1868 ../src/guestfs.pod:1873 ../src/guestfs.pod:1877 +#: ../src/guestfs.pod:1887 ../src/guestfs.pod:2176 ../src/guestfs.pod:2181 +#: ../src/guestfs.pod:2187 ../src/guestfs.pod:2195 ../src/guestfs.pod:2712 +#: ../src/guestfs.pod:2718 ../src/guestfs.pod:2723 ../src/guestfs.pod:2729 +#: ../src/guestfs.pod:3120 ../src/guestfs.pod:3125 ../src/guestfs.pod:3129 +#: ../src/guestfs.pod:3133 ../src/guestfs.pod:3137 ../src/guestfs.pod:3151 +#: ../src/guestfs.pod:3156 ../src/guestfs.pod:3393 ../src/guestfs.pod:3397 +#: ../src/guestfs.pod:3401 ../src/guestfs.pod:3405 #: ../sysprep/virt-sysprep.pod:230 ../sysprep/virt-sysprep.pod:234 #: ../sysprep/virt-sysprep.pod:238 ../sysprep/virt-sysprep.pod:242 #: ../sysprep/virt-sysprep.pod:257 ../sysprep/virt-sysprep.pod:261 @@ -1268,17 +1268,17 @@ msgstr "" #: ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:389 #: ../cat/virt-ls.pod:495 ../df/virt-df.pod:253 ../edit/virt-edit.pod:354 #: ../erlang/examples/guestfs-erlang.pod:97 -#: ../examples/guestfs-examples.pod:33 ../examples/guestfs-performance.pod:364 -#: ../examples/guestfs-recipes.pod:384 ../examples/guestfs-testing.pod:291 -#: ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 -#: ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 -#: ../fish/virt-tar-out.pod:41 ../format/virt-format.pod:177 -#: ../fuse/guestmount.pod:317 ../inspector/virt-inspector.pod:501 -#: ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 -#: ../perl/examples/guestfs-perl.pod:39 +#: ../examples/guestfs-examples.pod:33 ../examples/guestfs-faq.pod:530 +#: ../examples/guestfs-performance.pod:364 ../examples/guestfs-recipes.pod:384 +#: ../examples/guestfs-testing.pod:291 ../fish/guestfish.pod:1268 +#: ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 +#: ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 +#: ../format/virt-format.pod:177 ../fuse/guestmount.pod:317 +#: ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 +#: ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39 #: ../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:286 ../src/guestfs.pod:3345 +#: ../sparsify/virt-sparsify.pod:286 ../src/guestfs.pod:3328 #: ../sysprep/virt-sysprep.pod:432 ../test-tool/libguestfs-test-tool.pod:100 #: ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 #: ../tools/virt-make-fs.pl:559 ../tools/virt-tar.pl:296 @@ -1326,17 +1326,17 @@ 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 ../df/virt-df.pod:265 ../edit/virt-edit.pod:372 #: ../erlang/examples/guestfs-erlang.pod:114 -#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-performance.pod:379 -#: ../examples/guestfs-recipes.pod:401 ../examples/guestfs-testing.pod:302 -#: ../fish/guestfish.pod:1300 ../fish/virt-copy-in.pod:64 -#: ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 -#: ../fish/virt-tar-out.pod:55 ../format/virt-format.pod:191 -#: ../fuse/guestmount.pod:332 ../inspector/virt-inspector.pod:524 -#: ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 -#: ../perl/examples/guestfs-perl.pod:56 +#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-faq.pod:540 +#: ../examples/guestfs-performance.pod:379 ../examples/guestfs-recipes.pod:401 +#: ../examples/guestfs-testing.pod:302 ../fish/guestfish.pod:1300 +#: ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 +#: ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 +#: ../format/virt-format.pod:191 ../fuse/guestmount.pod:332 +#: ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:62 +#: ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56 #: ../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:303 ../src/guestfs.pod:3432 +#: ../sparsify/virt-sparsify.pod:303 ../src/guestfs.pod:3416 #: ../sysprep/virt-sysprep.pod:451 ../test-tool/libguestfs-test-tool.pod:110 #: ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 #: ../tools/virt-make-fs.pl:589 ../tools/virt-tar.pl:315 @@ -1677,7 +1677,7 @@ msgstr "" #: ../appliance/libguestfs-make-fixed-appliance.pod:139 #: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119 #: ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:259 -#: ../src/guestfs.pod:3284 ../test-tool/libguestfs-test-tool.pod:95 +#: ../src/guestfs.pod:3267 ../test-tool/libguestfs-test-tool.pod:95 msgid "ENVIRONMENT VARIABLES" msgstr "環境変数" @@ -1699,15 +1699,16 @@ msgstr "" #. type: =head1 #: ../appliance/libguestfs-make-fixed-appliance.pod:153 #: ../erlang/examples/guestfs-erlang.pod:110 -#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-performance.pod:375 -#: ../examples/guestfs-recipes.pod:397 ../examples/guestfs-testing.pod:298 -#: ../fish/guestfish.pod:1296 ../fish/virt-copy-in.pod:60 -#: ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 -#: ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:328 -#: ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:58 -#: ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:52 +#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-faq.pod:536 +#: ../examples/guestfs-performance.pod:375 ../examples/guestfs-recipes.pod:397 +#: ../examples/guestfs-testing.pod:298 ../fish/guestfish.pod:1296 +#: ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 +#: ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 +#: ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:510 +#: ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 +#: ../perl/examples/guestfs-perl.pod:52 #: ../python/examples/guestfs-python.pod:54 -#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3428 +#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3412 #: ../test-tool/libguestfs-test-tool.pod:106 msgid "AUTHORS" msgstr "著者" @@ -1715,15 +1716,15 @@ msgstr "著者" #. type: textblock #: ../appliance/libguestfs-make-fixed-appliance.pod:155 #: ../erlang/examples/guestfs-erlang.pod:112 -#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-performance.pod:377 -#: ../examples/guestfs-recipes.pod:399 ../examples/guestfs-testing.pod:300 -#: ../fish/guestfish.pod:1298 ../fish/virt-copy-in.pod:62 -#: ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 -#: ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:330 -#: ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 -#: ../perl/examples/guestfs-perl.pod:54 +#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-faq.pod:538 +#: ../examples/guestfs-performance.pod:377 ../examples/guestfs-recipes.pod:399 +#: ../examples/guestfs-testing.pod:300 ../fish/guestfish.pod:1298 +#: ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 +#: ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 +#: ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:60 +#: ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54 #: ../python/examples/guestfs-python.pod:56 -#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3430 +#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3414 #: ../test-tool/libguestfs-test-tool.pod:108 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)" msgstr "Richard W.M. Jones (C<rjones at redhat dot com>)" @@ -1731,7 +1732,7 @@ msgstr "Richard W.M. Jones (C<rjones at redhat dot com>)" #. type: textblock #: ../appliance/libguestfs-make-fixed-appliance.pod:159 #: ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:334 -#: ../src/guestfs.pod:3434 ../test-tool/libguestfs-test-tool.pod:112 +#: ../src/guestfs.pod:3418 ../test-tool/libguestfs-test-tool.pod:112 msgid "Copyright (C) 2009-2012 Red Hat Inc. L<http://libguestfs.org/>" msgstr "Copyright (C) 2009-2012 Red Hat Inc. L<http://libguestfs.org/>" @@ -4967,13 +4968,13 @@ msgstr "" #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:121 -#: ../examples/guestfs-examples.pod:56 ../examples/guestfs-performance.pod:383 -#: ../examples/guestfs-recipes.pod:408 ../examples/guestfs-testing.pod:306 -#: ../java/examples/guestfs-java.pod:69 +#: ../examples/guestfs-examples.pod:56 ../examples/guestfs-faq.pod:544 +#: ../examples/guestfs-performance.pod:383 ../examples/guestfs-recipes.pod:408 +#: ../examples/guestfs-testing.pod:306 ../java/examples/guestfs-java.pod:69 #: ../ocaml/examples/guestfs-ocaml.pod:102 #: ../perl/examples/guestfs-perl.pod:63 #: ../python/examples/guestfs-python.pod:65 -#: ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3437 +#: ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3421 msgid "" "This library is free software; you can redistribute it and/or modify it " "under the terms of the GNU Lesser General Public License as published by the " @@ -4987,13 +4988,13 @@ msgstr "" #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:126 -#: ../examples/guestfs-examples.pod:61 ../examples/guestfs-performance.pod:388 -#: ../examples/guestfs-recipes.pod:413 ../examples/guestfs-testing.pod:311 -#: ../java/examples/guestfs-java.pod:74 +#: ../examples/guestfs-examples.pod:61 ../examples/guestfs-faq.pod:549 +#: ../examples/guestfs-performance.pod:388 ../examples/guestfs-recipes.pod:413 +#: ../examples/guestfs-testing.pod:311 ../java/examples/guestfs-java.pod:74 #: ../ocaml/examples/guestfs-ocaml.pod:107 #: ../perl/examples/guestfs-perl.pod:68 #: ../python/examples/guestfs-python.pod:70 -#: ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3442 +#: ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3426 msgid "" "This library is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " @@ -5007,13 +5008,13 @@ msgstr "" #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:131 -#: ../examples/guestfs-examples.pod:66 ../examples/guestfs-performance.pod:393 -#: ../examples/guestfs-recipes.pod:418 ../examples/guestfs-testing.pod:316 -#: ../java/examples/guestfs-java.pod:79 +#: ../examples/guestfs-examples.pod:66 ../examples/guestfs-faq.pod:554 +#: ../examples/guestfs-performance.pod:393 ../examples/guestfs-recipes.pod:418 +#: ../examples/guestfs-testing.pod:316 ../java/examples/guestfs-java.pod:79 #: ../ocaml/examples/guestfs-ocaml.pod:112 #: ../perl/examples/guestfs-perl.pod:73 #: ../python/examples/guestfs-python.pod:75 -#: ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3447 +#: ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3431 msgid "" "You should have received a copy of the GNU Lesser General Public License " "along with this library; if not, write to the Free Software Foundation, " @@ -5094,6 +5095,1169 @@ msgid "Copyright (C) 2010 Red Hat Inc. L<http://libguestfs.org/>" msgstr "Copyright (C) 2010 Red Hat Inc. L<http://libguestfs.org/>" #. type: textblock +#: ../examples/guestfs-faq.pod:5 +msgid "guestfs-faq - libguestfs Frequently Asked Questions (FAQ)" +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:7 +#, fuzzy +#| msgid "LIBGUESTFS_PATH" +msgid "ABOUT LIBGUESTFS" +msgstr "LIBGUESTFS_PATH" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:9 +msgid "What is libguestfs?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:11 +msgid "" +"libguestfs is a way to create, access and modify disk images. You can look " +"inside disk images, modify the files they contain, create them from scratch, " +"resize them, and much more. It's especially useful from scripts and " +"programs and from the command line." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:16 +msgid "" +"libguestfs is a C library (hence \"lib-\"), and a set of tools built on this " +"library, and a set of bindings in many different programming languages." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:20 +msgid "" +"For more information about what libguestfs can do read the introduction on " +"the home page (L<http://libguestfs.org>)." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:23 +msgid "What are the virt tools?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:25 +msgid "" +"Virt tools (website: L<http://virt-tools.org>) are a whole set of " +"virtualization management tools aimed at system administrators. Some of " +"them come from libguestfs, some from libvirt and many others from other open " +"source projects. So virt tools is a superset of libguestfs. However " +"libguestfs comes with many important tools. See L<http://libguestfs.org> " +"for a full list." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:32 +msgid "Does libguestfs need { libvirt / KVM / Red Hat / Fedora }?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:34 +msgid "No!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:36 +msgid "libvirt is not a requirement for libguestfs." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:38 +msgid "" +"libguestfs works with any disk image, including ones created in VMware, KVM, " +"qemu, VirtualBox, Xen, and many other hypervisors, and ones which you have " +"created from scratch." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:42 +msgid "" +"Red Hat sponsors (ie. pays for) development of libguestfs and a huge number " +"of other open source projects. But you can run libguestfs and the virt " +"tools on many different Linux distros and Mac OS X. Some virt tools have " +"been ported to Windows." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:47 +msgid "How does libguestfs compare to other tools?" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:51 +msgid "I<vs. kpartx>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:53 +msgid "" +"Libguestfs takes a different approach from kpartx. kpartx needs root, and " +"mounts filesystems on the host kernel (which can be insecure - see L<guestfs" +"(3)/SECURITY>). Libguestfs isolates your host kernel from guests, is more " +"flexible, scriptable, supports LVM, doesn't require root, is isolated from " +"other processes, and cleans up after itself. Libguestfs is more than just " +"file access because you can use it to create images from scratch." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:61 +#, fuzzy +#| msgid "C<fuse>" +msgid "I<vs. vdfuse>" +msgstr "C<fuse>" + +#. type: textblock +#: ../examples/guestfs-faq.pod:63 +msgid "" +"vdfuse is like kpartx but for VirtualBox images. See the kpartx comparison " +"above. You can use libguestfs on the partition files exposed by vdfuse, " +"although it's not necessary since libguestfs can access VirtualBox images " +"directly." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:68 +msgid "I<vs. qemu-nbd>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:70 +msgid "" +"nbd is like kpartx but for qcow2 images. See the kpartx comparison above. " +"You can use libguestfs and qemu-nbd together for access to block devices " +"over the network." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:74 +msgid "I<vs. mounting filesystems in the host>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:76 +msgid "" +"Mounting guest filesystems in the host is insecure and should be avoided " +"completely for untrusted guests. Use libguestfs to provide a layer of " +"protection against filesystem exploits. See also L<guestmount(1)>." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:81 +#, fuzzy +#| msgid "B<part_end>" +msgid "I<vs. parted>" +msgstr "B<part_end>" + +#. type: textblock +#: ../examples/guestfs-faq.pod:83 +msgid "" +"Libguestfs supports LVM. Libguestfs uses parted and provides most parted " +"features through the libguestfs API." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:88 +msgid "GETTING HELP AND REPORTING BUGS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:90 +msgid "How do I know what version I'm using?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:92 +msgid "The simplest method is:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:94 +#, fuzzy, no-wrap +#| msgid "guestfs_version" +msgid "" +" guestfish --version\n" +"\n" +msgstr "guestfs_version" + +#. type: textblock +#: ../examples/guestfs-faq.pod:96 +msgid "" +"Libguestfs development happens along an unstable branch and we periodically " +"create a stable branch which we backport stable patches to. To find out " +"more, read L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:100 +msgid "How can I get help? What mailing lists or chat rooms are available?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:103 +msgid "" +"If you are a Red Hat customer using Red Hat Enterprise Linux, please contact " +"Red Hat Support: L<http://redhat.com/support>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:106 +msgid "" +"There is a mailing list, mainly for development, but users are also welcome " +"to ask questions about libguestfs and the virt tools: L<https://www.redhat." +"com/mailman/listinfo/libguestfs>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:110 +msgid "" +"You can also talk to us on IRC channel C<#libguestfs> on FreeNode. We're " +"not always around, so please stay in the channel after asking your question " +"and someone will get back to you." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:114 +msgid "" +"For other virt tools (not ones supplied with libguestfs) there is a general " +"virt tools mailing list: L<https://www.redhat.com/mailman/listinfo/virt-" +"tools-list>" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:118 +msgid "How do I report bugs?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:120 +msgid "Please use the following link to enter a bug in Bugzilla:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:122 +#, fuzzy, no-wrap +#| msgid "https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools" +msgid "" +" https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools\n" +"\n" +msgstr "https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools" + +#. type: textblock +#: ../examples/guestfs-faq.pod:124 +msgid "Include as much detail as you can and a way to reproduce the problem." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:126 +#, fuzzy +#| msgid "" +#| "If the command above does not work at all, use L<libguestfs-test-tool(1)>." +msgid "Include the full output of L<libguestfs-test-tool(1)>." +msgstr "" +"上のコマンドがまったく機能しなければ、 L<libguestfs-test-tool(1)> を使用しま" +"す。" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:128 +msgid "DOWNLOADING, INSTALLING, COMPILING LIBGUESTFS" +msgstr "" + +#. type: =end +#: ../examples/guestfs-faq.pod:130 ../examples/guestfs-faq.pod:135 +#: ../examples/guestfs-faq.pod:312 ../examples/guestfs-faq.pod:317 +#: ../src/guestfs.pod:2322 ../src/guestfs.pod:2327 +msgid "html" +msgstr "HTML" + +#. type: textblock +#: ../examples/guestfs-faq.pod:132 +#, fuzzy +#| msgid "" +#| "<!-- old anchor for the next section --> <a name=" +#| "\"state_machine_and_low_level_event_api\"/>" +msgid "<!-- old anchor for the next section --> <a name=\"binaries\"/>" +msgstr "" +"<!-- old anchor for the next section --> <a name=" +"\"state_machine_and_low_level_event_api\"/>" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:137 +msgid "Where can I get the latest binaries for ...?" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:141 +msgid "Fedora E<ge> 11, RHEL E<ge> 5.3, EPEL 5" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:143 +msgid "Use:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:145 +#, no-wrap +msgid "" +" yum install '*guestf*'\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:147 +msgid "" +"For the latest builds, see: L<http://koji.fedoraproject.org/koji/packageinfo?" +"packageID=8391>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:150 +#, fuzzy +#| msgid "Red Hat Enterprise Linux." +msgid "Red Hat Enterprise Linux 6" +msgstr "Red Hat Enterprise Linux." + +#. type: textblock +#: ../examples/guestfs-faq.pod:152 +msgid "" +"It is part of the default install. On RHEL 6 (only) you have to install " +"C<libguestfs-winsupport> to get Windows guest support." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:155 +msgid "RHEL 6.3" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:157 +msgid "" +"Preview packages are available here: L<http://people.redhat.com/~rjones/" +"libguestfs-RHEL-6.3-preview/>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:160 +msgid "Debian Squeeze (6)" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:162 +msgid "" +"Use Hilko Bengen's backport repository: L<http://people.debian.org/~bengen/" +"libguestfs/>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:165 +msgid "Debian Wheezy and later (7+)" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:167 +msgid "" +"Official Debian packages are available: L<http://packages.debian.org/search?" +"keywords=libguestfs> (thanks Hilko Bengen)." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:171 +#, fuzzy +#| msgid "Ubuntu." +msgid "Ubuntu" +msgstr "Ubuntu." + +#. type: textblock +#: ../examples/guestfs-faq.pod:173 +msgid "" +"We don't have an Ubuntu maintainer, and the packages supplied by Canonical " +"(which are outside our control) are broken. Try compiling from source (next " +"section)." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:177 +#, fuzzy +#| msgid "Ubuntu." +msgid "Ubuntu 10.04" +msgstr "Ubuntu." + +#. type: textblock +#: ../examples/guestfs-faq.pod:179 +msgid "See: L<http://libguestfs.org/download/binaries/ubuntu1004-packages/>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:182 +#, fuzzy +#| msgid "Ubuntu." +msgid "Ubuntu 12.04" +msgstr "Ubuntu." + +#. type: textblock +#: ../examples/guestfs-faq.pod:184 +msgid "" +"The packages supplied by Canonical are broken. See: L<https://www.redhat." +"com/archives/libguestfs/2012-April/thread.html#00028>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:187 +msgid "Other Linux distro" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:189 +msgid "Compile from source (next section)." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:191 +msgid "Other non-Linux distro" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:193 +msgid "You'll have to compile from source, and port it." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:197 +msgid "How can I compile and install libguestfs from source?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:199 +msgid "" +"If your Linux distro has a working port of febootstrap (that is, Fedora, Red " +"Hat Enterprise Linux >= 6.3, Debian, Ubuntu and ArchLinux) then you should " +"just be able to compile from source in the usual way. Download the latest " +"tarball from L<http://libguestfs/download>, unpack it, and start by reading " +"the README file." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:205 +msgid "" +"If you I<don't> have febootstrap, you will need to use the \"fixed appliance " +"method\". See: L<http://libguestfs.org/download/binaries/appliance/>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:209 +msgid "Patches to port febootstrap to more Linux distros are welcome." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:211 +msgid "" +"Why do I get an error when I try to rebuild from the source RPMs supplied by " +"Red Hat / Fedora?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:214 +msgid "" +"Because of the complexity of building the libguestfs appliance, the source " +"RPMs provided cannot be rebuilt directly using C<rpmbuild> or C<mock>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:218 +msgid "" +"If you use Koji (which is open source software and may be installed " +"locally), then the SRPMs can be rebuilt in Koji. L<https://fedoraproject." +"org/wiki/Koji>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:222 +msgid "" +"If you don't have or want to use Koji, then you have to give libguestfs " +"access to the network so it can download the RPMs for building the " +"appliance. You also need to set an RPM macro to tell libguestfs to use the " +"network. Put the following line into a file called C<$HOME/.rpmmacros>:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:228 +#, fuzzy, no-wrap +#| msgid "" +#| " libguestfs-test-tool\n" +#| "\n" +msgid "" +" %libguestfs_buildnet 1\n" +"\n" +msgstr "" +" libguestfs-test-tool\n" +"\n" + +#. type: textblock +#: ../examples/guestfs-faq.pod:230 +msgid "If you are using mock, do:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:232 +#, no-wrap +msgid "" +" mock -D '%libguestfs_buildnet 1' [etc]\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:234 +msgid "Libguestfs has a really long list of dependencies!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:236 +msgid "That's because it does a lot of things." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:238 +msgid "How can I speed up libguestfs builds?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:240 +msgid "" +"By far the most important thing you can do is to install and properly " +"configure Squid. Note that the default configuration that ships with Squid " +"is rubbish, so configuring it is not optional." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:244 +msgid "" +"A very good place to start with Squid configuration is here: L<https://" +"fedoraproject.org/wiki/Extras/" +"MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:247 +msgid "" +"Make sure Squid is running, and that the environment variables C<" +"$http_proxy> and C<$ftp_proxy> are pointing to it." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:250 +msgid "" +"With Squid running and correctly configured, appliance builds should be " +"reduced to a few minutes." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:253 +msgid "SPEED, DISK SPACE USED BY LIBGUESTFS" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:255 +msgid "" +"Note: Most of the information in this section has moved: L<guestfs-" +"performance(1)>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:258 +msgid "Upload or write seem very slow." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:260 +msgid "" +"In libguestfs E<lt> 1.13.16, the mount command (L<guestfs(3)/guestfs_mount>) " +"enabled option C<-o sync> implicitly. This causes very poor write " +"performance, and was one of the main gotchas for new libguestfs users." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:265 +msgid "" +"For libguestfs E<lt> 1.13.16, replace mount with C<mount-options>, leaving " +"the first parameter as an empty string." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:268 +msgid "" +"You can also do this with more recent versions of libguestfs, but if you " +"know that you are using libguestfs ≥ 1.13.16 then it's safe to use plain " +"mount." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:272 +msgid "" +"If the underlying disk is not fully allocated (eg. sparse raw or qcow2) then " +"writes can be slow because the host operating system has to do costly disk " +"allocations while you are writing. The solution is to use a fully allocated " +"format instead, ie. non-sparse raw, or qcow2 with the " +"C<preallocation=metadata> option." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:278 +msgid "Libguestfs uses too much disk space!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:280 +msgid "libguestfs caches a large-ish appliance in:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:282 +#, no-wrap +msgid "" +" /var/tmp/.guestfs-<UID>\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:284 +msgid "" +"If the environment variable C<TMPDIR> is defined, then C<$TMPDIR/.guestfs-" +"E<lt>UIDE<gt>> is used instead." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:287 +msgid "It is safe to delete this directory when you are not using libguestfs." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:289 +msgid "USING LIBGUESTFS IN YOUR OWN PROGRAMS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:291 +msgid "The API has hundreds of methods, where do I start?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:293 +msgid "" +"We recommend you start by reading the API overview: L<guestfs(3)/API " +"OVERVIEW>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:296 +msgid "" +"Although the API overview covers the C API, it is still worth reading even " +"if you are going to use another programming language, because the API is the " +"same, just with simple logical changes to the names of the calls:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:301 +#, no-wrap +msgid "" +" C guestfs_ln_sf (g, target, linkname);\n" +" Python g.ln_sf (target, linkname);\n" +" OCaml g#ln_sf target linkname;\n" +" Perl $g->ln_sf (target, linkname);\n" +" Shell (guestfish) ln-sf target linkname\n" +" PHP guestfs_ln_sf ($g, $target, $linkname);\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:308 +msgid "" +"Once you're familiar with the API overview, you should look at this list of " +"starting points for other language bindings: L<guestfs(3)/USING LIBGUESTFS " +"WITH OTHER PROGRAMMING LANGUAGES>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:314 +#, fuzzy +#| msgid "" +#| "<!-- old anchor for the next section --> <a name=" +#| "\"state_machine_and_low_level_event_api\"/>" +msgid "<!-- old anchor for the next section --> <a name=\"debug\"/>" +msgstr "" +"<!-- old anchor for the next section --> <a name=" +"\"state_machine_and_low_level_event_api\"/>" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:319 +#, fuzzy +#| msgid "USING GUESTFISH" +msgid "DEBUGGING LIBGUESTFS" +msgstr "guestfish の使用法" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:321 +msgid "" +"How do I debug when using any libguestfs program or tool (eg. virt-v2v or " +"virt-df)?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:324 +msgid "" +"There are two C<LIBGUESTFS_*> environment variables you can set in order to " +"get more information from libguestfs." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:329 +#, fuzzy +#| msgid "LIBGUESTFS_TRACE" +msgid "C<LIBGUESTFS_TRACE>" +msgstr "LIBGUESTFS_TRACE" + +#. type: textblock +#: ../examples/guestfs-faq.pod:331 +msgid "" +"Set this to 1 and libguestfs will print out each command / API call in a " +"format which is similar to guestfish commands." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:334 +#, fuzzy +#| msgid "LIBGUESTFS_DEBUG" +msgid "C<LIBGUESTFS_DEBUG>" +msgstr "LIBGUESTFS_DEBUG" + +#. type: textblock +#: ../examples/guestfs-faq.pod:336 +msgid "" +"Set this to 1 in order to enable massive amounts of debug messages. If you " +"think there is some problem inside the libguestfs appliance, then you should " +"use this option." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:342 +msgid "To set these from the shell, do this before running the program:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:344 +#, no-wrap +msgid "" +" export LIBGUESTFS_TRACE=1\n" +" export LIBGUESTFS_DEBUG=1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:347 +msgid "For csh/tcsh the equivalent commands would be:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:349 +#, no-wrap +msgid "" +" setenv LIBGUESTFS_TRACE 1\n" +" setenv LIBGUESTFS_DEBUG 1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:352 +#, fuzzy +#| msgid "" +#| "For other environment variables, see L<guestfs(3)/ENVIRONMENT VARIABLES>." +msgid "For further information, see: L<guestfs(3)/ENVIRONMENT VARIABLES>." +msgstr "他の環境変数は L<guestfs(3)/環境変数> を参照してください。" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:354 +msgid "How do I debug when using guestfish?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:356 +msgid "" +"You can use the same environment variables above. Alternatively use the " +"guestfish options -x (to trace commands) or -v (to get the full debug " +"output), or both." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:360 +#, fuzzy +#| msgid "For more information about umask, see L<umask(2)>." +msgid "For further information, see: L<guestfish(1)>." +msgstr "umask に関する詳細は L<umask(2)> を参照してください。" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:362 +msgid "How do I debug when using the API?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:364 +msgid "" +"Call L<guestfs(3)/guestfs_set_trace> to enable command traces, and/or " +"L<guestfs(3)/guestfs_set_verbose> to enable debug messages." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:367 +msgid "" +"For best results, call these functions as early as possible, just after " +"creating the guestfs handle if you can, and definitely before calling launch." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:371 +msgid "How do I capture debug output and put it into my logging system?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:373 +msgid "" +"Use the event API. For examples, see: L<guestfs(3)/SETTING CALLBACKS TO " +"HANDLE EVENTS>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:376 +msgid "Digging deeper into the appliance boot process." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:378 +msgid "" +"Enable debugging and then read this documentation on the appliance boot " +"process: L<guestfs(3)/INTERNALS>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:381 +msgid "libguestfs hangs or fails during run/launch." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:383 +msgid "" +"Enable debugging and look at the full output. If you cannot work out what " +"is going on, file a bug report, including the I<complete> output of " +"L<libguestfs-test-tool(1)>." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:387 +msgid "DESIGN/INTERNALS OF LIBGUESTFS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:389 +msgid "Why don't you do everything through the FUSE / filesystem interface?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:392 +msgid "" +"We offer a command called L<guestmount(1)> which lets you mount guest " +"filesystems on the host. This is implemented as a FUSE module. Why don't " +"we just implement the whole of libguestfs using this mechanism, instead of " +"having the large and rather complicated API?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:397 +msgid "" +"The reasons are twofold. Firstly, libguestfs offers API calls for doing " +"things like creating and deleting partitions and logical volumes, which " +"don't fit into a filesystem model very easily. Or rather, you could fit " +"them in: for example, creating a partition could be mapped to C<mkdir /fs/" +"hda1> but then you'd have to specify some method to choose the size of the " +"partition (maybe C<echo 100M E<gt> /fs/hda1/.size>), and the partition type, " +"start and end sectors etc., but once you've done that the filesystem-based " +"API starts to look more complicated than the call-based API we currently " +"have." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:407 +msgid "" +"The second reason is for efficiency. FUSE itself is reasonably efficient, " +"but it does make lots of small, independent calls into the FUSE module. In " +"guestmount these have to be translated into messages to the libguestfs " +"appliance which has a big overhead (in time and round trips). For example, " +"reading a file in 64 KB chunks is inefficient because each chunk would turn " +"into a single round trip. In the libguestfs API it is much more efficient " +"to download an entire file or directory through one of the streaming calls " +"like C<guestfs_download> or C<guestfs_tar_out>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:417 +msgid "Why don't you do everything through GVFS?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:419 +msgid "The problems are similar to the problems with FUSE." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:421 +msgid "" +"GVFS is a better abstraction than POSIX/FUSE. There is an FTP backend for " +"GVFS, which is encouraging because FTP is conceptually similar to the " +"libguestfs API. However the GVFS FTP backend makes multiple simultaneous " +"connections in order to keep interactivity, which we can't easily do with " +"libguestfs." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:427 +msgid "Can I use C<guestfish --ro> as a way to backup my virtual machines?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:429 +msgid "" +"Usually this is not a good idea. The question is answered in more detail in " +"this mailing list posting: L<https://www.redhat.com/archives/libguestfs/2010-" +"August/msg00024.html>" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:433 +msgid "What's the difference between guestfish and virt-rescue?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:435 +msgid "" +"A lot of people are confused by the two superficially similar tools we " +"provide:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:438 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +#| "\n" +msgid "" +" $ guestfish --ro -a guest.img\n" +" ><fs> run\n" +" ><fs> fsck /dev/sda1\n" +"\n" +msgstr "" +" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +"\n" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:442 +#, no-wrap +msgid "" +" $ virt-rescue --ro guest.img\n" +" ><rescue> /sbin/fsck /dev/sda1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:445 +msgid "" +"And the related question which then arises is why you can't type in full " +"shell commands with all the --options in guestfish (but you can in L<virt-" +"rescue(1)>)." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:449 +msgid "" +"L<guestfish(1)> is a program providing structured access to the L<guestfs(3)" +"> API. It happens to be a nice interactive shell too, but its primary " +"purpose is structured access from shell scripts. Think of it more like a " +"language binding, like Python and other bindings, but for shell. The key " +"differentiating factor of guestfish (and the libguestfs API in general) is " +"the ability to automate changes." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:456 +msgid "" +"L<virt-rescue(1)> is a free-for-all freeform way to boot the libguestfs " +"appliance and make arbitrary changes to your VM. It's not structured, you " +"can't automate it, but for making quick ad-hoc fixes to your guests, it can " +"be quite useful." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:461 +msgid "" +"But, libguestfs also has a \"backdoor\" into the appliance allowing you to " +"send arbitrary shell commands. It's not as flexible as virt-rescue, because " +"you can't interact with the shell commands, but here it is anyway:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:466 +#, no-wrap +msgid "" +" ><fs> debug sh \"cmd arg1 arg2 ...\"\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:468 +msgid "" +"Note that you should B<not> rely on this. It could be removed or changed in " +"future. If your program needs some operation, please add it to the " +"libguestfs API instead." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:472 +msgid "" +"What's the deal with C<guestfish -i>? Why does virt-cat only work on a real " +"VM image, but virt-df works on any disk image? What does \"no root device " +"found in this operating system image\" mean?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:477 +msgid "" +"These questions are all related at a fundamental level which may not be " +"immediately obvious." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:480 +msgid "" +"At the L<guestfs(3)> API level, a \"disk image\" is just a pile of " +"partitions and filesystems." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:483 +msgid "" +"In contrast, when the virtual machine boots, it mounts those filesystems " +"into a consistent hierarchy such as:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:486 +#, no-wrap +msgid "" +" / (/dev/sda2)\n" +" |\n" +" +-- /boot (/dev/sda1)\n" +" |\n" +" +-- /home (/dev/vg_external/Homes)\n" +" |\n" +" +-- /usr (/dev/vg_os/lv_usr)\n" +" |\n" +" +-- /var (/dev/vg_os/lv_var)\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:496 +msgid "(or drive letters on Windows)." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:498 +msgid "" +"The API first of all sees the disk image at the \"pile of filesystems\" " +"level. But it also has a way to inspect the disk image to see if it " +"contains an operating system, and how the disks are mounted when the " +"operating system boots: L<guestfs(3)/INSPECTION>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:503 +msgid "Users expect some tools (like L<virt-cat(1)>) to work with VM paths:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:505 +#, fuzzy, no-wrap +#| msgid "" +#| " virt-cat -a disk.img /var/log/messages | tail\n" +#| "\n" +msgid "" +" virt-cat fedora.img /var/log/messages\n" +"\n" +msgstr "" +" virt-cat -a disk.img /var/log/messages | tail\n" +"\n" + +#. type: textblock +#: ../examples/guestfs-faq.pod:507 +msgid "" +"How does virt-cat know that C</var> is a separate partition? The trick is " +"that virt-cat performs inspection on the disk image, and uses that to " +"translate the path correctly." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:511 +msgid "" +"Some tools (including L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)>) use " +"inspection to map VM paths. Other tools, such as L<virt-df(1)> and L<virt-" +"filesystems(1)> operate entirely at the raw \"big pile of filesystems\" " +"level of the libguestfs API, and don't use inspection." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:516 +msgid "" +"L<guestfish(1)> is in an interesting middle ground. If you use the I<-a> " +"and I<-m> command line options, then you have to tell guestfish exactly how " +"to add disk images and where to mount partitions. This is the raw API level." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:521 +msgid "" +"If you use the I<-i> option, libguestfs performs inspection and mounts the " +"filesystems for you." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:524 +msgid "" +"The error C<no root device found in this operating system image> is related " +"to this. It means inspection was unable to locate an operating system " +"within the disk image you gave it. You might see this from programs like " +"virt-cat if you try to run them on something which is just a disk image, not " +"a virtual machine disk image." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:532 +#, fuzzy +#| msgid "" +#| "L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<http://" +#| "libguestfs.org/>." +msgid "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>." +msgstr "" +"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<http://libguestfs." +"org/>." + +#. type: textblock +#: ../examples/guestfs-faq.pod:542 ../examples/guestfs-performance.pod:381 +#, fuzzy +#| msgid "Copyright (C) 2011 Red Hat Inc. L<http://libguestfs.org/>" +msgid "Copyright (C) 2012 Red Hat Inc. L<http://libguestfs.org/>" +msgstr "Copyright (C) 2011 Red Hat Inc. L<http://libguestfs.org/>" + +#. type: textblock #: ../examples/guestfs-performance.pod:5 msgid "guestfs-performance - engineering libguestfs for greatest performance" msgstr "" @@ -5407,8 +6571,8 @@ msgstr "" #: ../examples/guestfs-performance.pod:162 #: ../examples/guestfs-performance.pod:211 ../resize/virt-resize.pod:31 #: ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:230 -#: ../src/guestfs.pod:488 ../src/guestfs.pod:1387 ../src/guestfs.pod:1526 -#: ../src/guestfs.pod:2774 +#: ../src/guestfs.pod:471 ../src/guestfs.pod:1370 ../src/guestfs.pod:1509 +#: ../src/guestfs.pod:2757 msgid "1." msgstr "1." @@ -5423,8 +6587,8 @@ msgstr "" #: ../examples/guestfs-performance.pod:168 #: ../examples/guestfs-performance.pod:218 ../resize/virt-resize.pod:44 #: ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:237 -#: ../src/guestfs.pod:494 ../src/guestfs.pod:1391 ../src/guestfs.pod:1530 -#: ../src/guestfs.pod:2799 +#: ../src/guestfs.pod:477 ../src/guestfs.pod:1374 ../src/guestfs.pod:1513 +#: ../src/guestfs.pod:2782 msgid "2." msgstr "2." @@ -5442,7 +6606,7 @@ msgstr "" #: ../examples/guestfs-performance.pod:176 #: ../examples/guestfs-performance.pod:224 ../resize/virt-resize.pod:52 #: ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:243 -#: ../src/guestfs.pod:505 ../src/guestfs.pod:1536 +#: ../src/guestfs.pod:488 ../src/guestfs.pod:1519 msgid "3." msgstr "3." @@ -5667,7 +6831,7 @@ msgid "Save the following script as C<time.stap>:" msgstr "以下をファイル C<list-apps.sh> に保存します:" #. type: verbatim -#: ../examples/guestfs-performance.pod:305 ../src/guestfs.pod:2287 +#: ../examples/guestfs-performance.pod:305 ../src/guestfs.pod:2270 #, no-wrap msgid "" " global last;\n" @@ -5677,7 +6841,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-performance.pod:307 ../src/guestfs.pod:2289 +#: ../examples/guestfs-performance.pod:307 ../src/guestfs.pod:2272 #, no-wrap msgid "" " function display_time () {\n" @@ -5697,7 +6861,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-performance.pod:314 ../src/guestfs.pod:2296 +#: ../examples/guestfs-performance.pod:314 ../src/guestfs.pod:2279 #, no-wrap msgid "" " printf (\"%d (+%d):\", now, delta);\n" @@ -5709,7 +6873,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-performance.pod:317 ../src/guestfs.pod:2299 +#: ../examples/guestfs-performance.pod:317 ../src/guestfs.pod:2282 #, no-wrap msgid "" " probe begin {\n" @@ -5725,7 +6889,7 @@ msgstr "" " \n" #. type: verbatim -#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2304 +#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2287 #, no-wrap msgid "" " /* Display all calls to static markers. */\n" @@ -5850,13 +7014,6 @@ msgstr "" "L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<http://libguestfs." "org/>." -#. type: textblock -#: ../examples/guestfs-performance.pod:381 -#, fuzzy -#| msgid "Copyright (C) 2011 Red Hat Inc. L<http://libguestfs.org/>" -msgid "Copyright (C) 2012 Red Hat Inc. L<http://libguestfs.org/>" -msgstr "Copyright (C) 2011 Red Hat Inc. L<http://libguestfs.org/>" - #. type: =end #: ../examples/guestfs-recipes.pod:3 ../examples/guestfs-recipes.pod:12 msgid "comment" @@ -6199,7 +7356,7 @@ msgstr "" #: ../fish/guestfish-actions.pod:1576 ../fish/guestfish-actions.pod:1967 #: ../fish/guestfish-actions.pod:2394 ../src/guestfs-actions.pod:18 #: ../src/guestfs-actions.pod:2547 ../src/guestfs-actions.pod:3106 -#: ../src/guestfs-actions.pod:3675 ../src/guestfs.pod:1770 +#: ../src/guestfs-actions.pod:3675 ../src/guestfs.pod:1753 #: ../tools/virt-win-reg.pl:717 msgid "Notes:" msgstr "注:" @@ -7021,7 +8178,7 @@ msgstr "" #. type: textblock #: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161 #: ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234 -#: ../src/guestfs.pod:2877 +#: ../src/guestfs.pod:2860 msgid "or:" msgstr "または:" @@ -7209,7 +8366,7 @@ msgid "Try importing virt-df CSV output into a spreadsheet or database." msgstr "" #. type: textblock -#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3158 +#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3141 msgid "Run:" msgstr "次を実行します:" @@ -8048,7 +9205,7 @@ msgstr "" #. type: =item #: ../fish/guestfish-actions.pod:171 ../src/guestfs-actions.pod:231 -#: ../src/guestfs.pod:3037 +#: ../src/guestfs.pod:3020 msgid "C<format>" msgstr "C<format>" @@ -19000,7 +20157,7 @@ msgstr "" #. type: =item #: ../fish/guestfish-actions.pod:4848 ../src/guestfs-actions.pod:7570 -#: ../src/guestfs.pod:3001 +#: ../src/guestfs.pod:2984 msgid "C<appliance>" msgstr "C<appliance>" @@ -23287,7 +24444,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2328 +#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2311 #, no-wrap msgid "" " guestfish -N fs\n" @@ -24861,7 +26018,7 @@ msgstr "" "\n" #. type: =head2 -#: ../fish/guestfish.pod:825 ../src/guestfs.pod:538 +#: ../fish/guestfish.pod:825 ../src/guestfs.pod:521 msgid "ENCRYPTED DISKS" msgstr "暗号化ディスク" @@ -25272,7 +26429,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:982 ../src/guestfs.pod:1065 +#: ../fish/guestfish.pod:982 ../src/guestfs.pod:1048 #, no-wrap msgid "" " #!/bin/bash -\n" @@ -25601,7 +26758,7 @@ msgid "COMMANDS" msgstr "コマンド" #. type: textblock -#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1605 +#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1588 msgid "@ACTIONS@" msgstr "@ACTIONS@" @@ -25629,17 +26786,17 @@ msgstr "" "と、C<vi> を使用します。" #. type: =item -#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3288 +#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3271 msgid "FEBOOTSTRAP_KERNEL" msgstr "FEBOOTSTRAP_KERNEL" #. type: =item -#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3290 +#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3273 msgid "FEBOOTSTRAP_MODULES" msgstr "FEBOOTSTRAP_MODULES" #. type: textblock -#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3292 +#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3275 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 " @@ -25699,17 +26856,17 @@ msgstr "" "さまざまなファイルを使用できます。 L</ファイル> 参照。" #. type: =item -#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3298 +#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3281 msgid "LIBGUESTFS_APPEND" msgstr "LIBGUESTFS_APPEND" #. type: textblock -#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3300 +#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3283 msgid "Pass additional options to the guest kernel." msgstr "仮想マシンのカーネルに追加のオプションを渡します。" #. type: =item -#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3302 +#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3285 msgid "LIBGUESTFS_DEBUG" msgstr "LIBGUESTFS_DEBUG" @@ -25721,18 +26878,18 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3307 +#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3290 msgid "LIBGUESTFS_MEMSIZE" msgstr "LIBGUESTFS_MEMSIZE" #. type: textblock -#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3309 +#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3292 msgid "" "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3312 +#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3295 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -25742,7 +26899,7 @@ msgstr "" "\n" #. type: =item -#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3314 +#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3297 msgid "LIBGUESTFS_PATH" msgstr "LIBGUESTFS_PATH" @@ -25754,19 +26911,19 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3319 +#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3302 msgid "LIBGUESTFS_QEMU" msgstr "LIBGUESTFS_QEMU" #. type: textblock -#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3321 +#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3304 msgid "" "Set the default qemu binary that libguestfs uses. If not set, then the qemu " "which was found at compile time by the configure script is used." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3327 +#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3310 msgid "LIBGUESTFS_TRACE" msgstr "LIBGUESTFS_TRACE" @@ -25790,12 +26947,12 @@ msgstr "" #. type: =item #: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:263 -#: ../src/guestfs.pod:3332 +#: ../src/guestfs.pod:3315 msgid "TMPDIR" msgstr "TMPDIR" #. type: textblock -#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3334 +#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3317 msgid "" "Location of temporary directory, defaults to C</tmp> except for the cached " "supermin appliance which defaults to C</var/tmp>." @@ -25804,7 +26961,7 @@ msgstr "" "あるキャッシュされた supermin アプライアンスは除きます。" #. type: textblock -#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3337 +#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3320 msgid "" "If libguestfs was compiled to use the supermin appliance then the real " "appliance is cached in this directory, shared between all handles belonging " @@ -44618,88 +45775,47 @@ msgstr "" #. type: textblock #: ../src/guestfs.pod:25 +#, fuzzy +#| msgid "guestfs - Library for accessing and modifying virtual machine images" msgid "" -"Libguestfs is a library for accessing and modifying guest disk images. " -"Amongst the things this is good for: making batch configuration changes to " -"guests, getting disk used/free statistics (see also: virt-df), migrating " -"between virtualization systems (see also: virt-p2v), performing partial " -"backups, performing partial guest clones, cloning guests and changing " -"registry/UUID/hostname info, and much else besides." -msgstr "" -"libguestfs は仮想マシンのディスクイメージにアクセスおよび修正するためのライブ" -"ラリーです。 以下のことに適してします: 仮想マシンの設定変更バッチを作成す" -"る、ディスクの使用済み・空き容量を取得する (関連項目: virt-df)、仮想化システ" -"ム間を移行する (関連項目: virt-p2v)、部分的なバックアップを実行する、仮想マシ" -"ンの部分的なクローンを実行する、仮想マシンをクローンしてレジストリ/UUID/ホス" -"ト名の情報を変更する、さらに他にもあります。" - -#. type: textblock -#: ../src/guestfs.pod:33 -msgid "" -"Libguestfs uses Linux kernel and qemu code, and can access any type of guest " -"filesystem that Linux and qemu can, including but not limited to: ext2/3/4, " -"btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, " -"qcow2, vmdk." -msgstr "" -"libguestfs は Linux カーネルと QEMU コードを使用します。 Linux と QEMU がアク" -"セスできるすべての形式の仮想マシンファイルシステムにアクセスできますが、これ" -"に制限されるわけではありません: ext2/3/4, btrfs, FAT and NTFS, LVM, 多くの" -"ディスクパーティションスキーマ, qcow, qcow2, vmdk." - -#. type: textblock -#: ../src/guestfs.pod:38 -msgid "" -"Libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, " -"what filesystem is in each LV, etc.). It can also run commands in the " -"context of the guest. Also you can access filesystems over FUSE." -msgstr "" -"libguestfs は仮想マシンストレージ (例: パーティション、論理ボリューム、各論理" -"ボリュームにあるファイルシステムなど) を列挙する方法を提供します。仮想マシン" -"のコンテキストにおいてコマンドを実行することもできます。また FUSE 上でファイ" -"ルシステムにアクセスできます。" +"Libguestfs is a library for accessing and modifying disk images and virtual " +"machines. This manual page documents the C API." +msgstr "guestfs - 仮想マシンイメージのアクセスまたは変更のためのライブラリ" #. type: textblock -#: ../src/guestfs.pod:43 +#: ../src/guestfs.pod:28 msgid "" -"Libguestfs is a library that can be linked with C and C++ management " -"programs (or management programs written in OCaml, Perl, Python, Ruby, Java, " -"PHP, Erlang, Haskell or C#). You can also use it from shell scripts or the " -"command line." +"If you are looking for an introduction to libguestfs, see the web site: " +"L<http://libguestfs.org/>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:48 +#: ../src/guestfs.pod:31 msgid "" -"You don't need to be root to use libguestfs, although obviously you do need " -"enough permissions to access the disk images." +"Each virt tool has its own man page (for a full list, go to L</SEE ALSO> at " +"the end of this file)." msgstr "" -"libguestfs を使用するために root になる必要はありませんが、もちろんディスクイ" -"メージにアクセスするパーミッションが必要になります。" #. type: textblock -#: ../src/guestfs.pod:51 -msgid "" -"Libguestfs is a large API because it can do many things. For a gentle " -"introduction, please read the L</API OVERVIEW> section next." +#: ../src/guestfs.pod:34 +msgid "The libguestfs FAQ contains many useful answers: L<guestfs-faq(1)>." msgstr "" -"libguestfs は多くのことができるので大きな API です。簡単な概要は L</API 概要" -"> セクションを参照してください。" #. type: textblock -#: ../src/guestfs.pod:54 +#: ../src/guestfs.pod:36 msgid "" -"There are also some example programs in the L<guestfs-examples(3)> manual " -"page." +"For examples of using the API from C, see L<guestfs-examples(3)>. For " +"examples in other languages, see L</USING LIBGUESTFS WITH OTHER PROGRAMMING " +"LANGUAGES> below." msgstr "" -"L<guestfs-examples(3)> マニュアルページにいくつかのプログラム例があります。" #. type: =head1 -#: ../src/guestfs.pod:57 +#: ../src/guestfs.pod:40 msgid "API OVERVIEW" msgstr "API 概要" #. type: textblock -#: ../src/guestfs.pod:59 +#: ../src/guestfs.pod:42 msgid "" "This section provides a gentler overview of the libguestfs API. We also try " "to group API calls together, where that may not be obvious from reading " @@ -44710,12 +45826,12 @@ msgstr "" "呼び出しに関して読む必要が無くなります。" #. type: =head2 -#: ../src/guestfs.pod:64 +#: ../src/guestfs.pod:47 msgid "HANDLES" msgstr "ハンドル" #. type: textblock -#: ../src/guestfs.pod:66 +#: ../src/guestfs.pod:49 msgid "" "Before you can use libguestfs calls, you have to create a handle. Then you " "must add at least one disk image to the handle, followed by launching the " @@ -44730,14 +45846,14 @@ msgstr "" "前を使うことができます。" #. type: textblock -#: ../src/guestfs.pod:73 +#: ../src/guestfs.pod:56 msgid "The general structure of all libguestfs-using programs looks like this:" msgstr "" "libguestfs を使用しているすべてのプログラムの一般的な構造はこのようなもので" "す:" #. type: verbatim -#: ../src/guestfs.pod:76 +#: ../src/guestfs.pod:59 #, no-wrap msgid "" " guestfs_h *g = guestfs_create ();\n" @@ -44747,7 +45863,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:78 +#: ../src/guestfs.pod:61 #, no-wrap msgid "" " /* Call guestfs_add_drive additional times if there are\n" @@ -44763,7 +45879,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:83 +#: ../src/guestfs.pod:66 #, no-wrap msgid "" " /* Most manipulation calls won't work until you've launched\n" @@ -44781,7 +45897,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:89 +#: ../src/guestfs.pod:72 #, no-wrap msgid "" " /* Now you can examine what partitions, LVs etc are available.\n" @@ -44797,7 +45913,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:94 +#: ../src/guestfs.pod:77 #, no-wrap msgid "" " /* To access a filesystem in the image, you must mount it.\n" @@ -44812,7 +45928,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:98 +#: ../src/guestfs.pod:81 #, no-wrap msgid "" " /* Now you can perform filesystem actions on the guest\n" @@ -44828,7 +45944,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:103 +#: ../src/guestfs.pod:86 #, no-wrap msgid "" " /* This is only needed for libguestfs < 1.5.24. Since then\n" @@ -44846,7 +45962,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:109 +#: ../src/guestfs.pod:92 #, no-wrap msgid "" " /* Close the handle 'g'. */\n" @@ -44858,7 +45974,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:112 +#: ../src/guestfs.pod:95 msgid "" "The code above doesn't include any error checking. In real code you should " "check return values carefully for errors. In general all functions that " @@ -44877,12 +45993,12 @@ msgstr "" "動作する例は L<guestfs-examples(3)> を参照してください。" #. type: =head2 -#: ../src/guestfs.pod:121 +#: ../src/guestfs.pod:104 msgid "DISK IMAGES" msgstr "ディスクイメージ" #. type: textblock -#: ../src/guestfs.pod:123 +#: ../src/guestfs.pod:106 msgid "" "The image filename (C<\"guest.img\"> in the example above) could be a disk " "image from a virtual machine, a L<dd(1)> copy of a physical hard disk, an " @@ -44896,7 +46012,7 @@ msgstr "" "これらすべてに役に立つことをさせます。" #. type: textblock -#: ../src/guestfs.pod:129 +#: ../src/guestfs.pod:112 msgid "" "The call you should use in modern code for adding drives is L</" "guestfs_add_drive_opts>. To add a disk image, allowing writes, and " @@ -44907,7 +46023,7 @@ msgstr "" "ジを追加するには、次を実行します:" #. type: verbatim -#: ../src/guestfs.pod:133 +#: ../src/guestfs.pod:116 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -44921,12 +46037,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:137 +#: ../src/guestfs.pod:120 msgid "You can add a disk read-only using:" msgstr "以下を使用して、読み込み専用のディスクを追加できます:" #. type: verbatim -#: ../src/guestfs.pod:139 +#: ../src/guestfs.pod:122 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -44942,7 +46058,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:144 +#: ../src/guestfs.pod:127 msgid "" "or by calling the older function L</guestfs_add_drive_ro>. In either case " "libguestfs won't modify the file." @@ -44951,7 +46067,7 @@ msgstr "" "らの場合も libguestfs はファイルを変更できません。" #. type: textblock -#: ../src/guestfs.pod:147 +#: ../src/guestfs.pod:130 msgid "" "Be extremely cautious if the disk image is in use, eg. if it is being used " "by a virtual machine. Adding it read-write will almost certainly cause disk " @@ -44962,7 +46078,7 @@ msgstr "" "ク破損を引き起こします。一方、読み込み専用で追加することは安全です。" #. type: textblock -#: ../src/guestfs.pod:151 +#: ../src/guestfs.pod:134 msgid "" "You must add at least one disk image, and you may add multiple disk images. " "In the API, the disk images are usually referred to as C</dev/sda> (for the " @@ -44974,7 +46090,7 @@ msgstr "" "参照されます。" #. type: textblock -#: ../src/guestfs.pod:156 +#: ../src/guestfs.pod:139 msgid "" "Once L</guestfs_launch> has been called you cannot add any more images. You " "can call L</guestfs_list_devices> to get a list of the device names, in the " @@ -44986,12 +46102,12 @@ msgstr "" "照してください。" #. type: =head2 -#: ../src/guestfs.pod:161 +#: ../src/guestfs.pod:144 msgid "MOUNTING" msgstr "マウント" #. type: textblock -#: ../src/guestfs.pod:163 +#: ../src/guestfs.pod:146 msgid "" "Before you can read or write files, create directories and so on in a disk " "image that contains filesystems, you have to mount those filesystems using " @@ -45007,7 +46123,7 @@ msgstr "" "それを直接マウントできます:" #. type: verbatim -#: ../src/guestfs.pod:170 +#: ../src/guestfs.pod:153 #, no-wrap msgid "" " guestfs_mount_options (g, \"\", \"/dev/sda1\", \"/\");\n" @@ -45017,7 +46133,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:172 +#: ../src/guestfs.pod:155 msgid "" "where C</dev/sda1> means literally the first partition (C<1>) of the first " "disk image that we added (C</dev/sda>). If the disk contains Linux LVM2 " @@ -45032,7 +46148,7 @@ msgstr "" "してください。" #. type: textblock -#: ../src/guestfs.pod:178 +#: ../src/guestfs.pod:161 msgid "" "If you are given a disk image and you don't know what it contains then you " "have to find out. Libguestfs can do that too: use L</" @@ -45050,7 +46166,7 @@ msgstr "" "guestfs_list_filesystems> を使用します。" #. type: textblock -#: ../src/guestfs.pod:186 +#: ../src/guestfs.pod:169 msgid "" "Libguestfs also has a set of APIs for inspection of unknown disk images (see " "L</INSPECTION> below). But you might find it easier to look at higher level " @@ -45061,7 +46177,7 @@ msgstr "" "くに L<virt-inspector(1)> は、より簡単に見ることができます。" #. type: textblock -#: ../src/guestfs.pod:191 +#: ../src/guestfs.pod:174 msgid "" "To mount a filesystem read-only, use L</guestfs_mount_ro>. There are " "several other variations of the C<guestfs_mount_*> call." @@ -45070,12 +46186,12 @@ msgstr "" "します。いくつかの他の変種 C<guestfs_mount_*> 呼び出しがあります。" #. type: =head2 -#: ../src/guestfs.pod:194 +#: ../src/guestfs.pod:177 msgid "FILESYSTEM ACCESS AND MODIFICATION" msgstr "ファイルシステムのアクセスおよび変更" #. type: textblock -#: ../src/guestfs.pod:196 +#: ../src/guestfs.pod:179 msgid "" "The majority of the libguestfs API consists of fairly low-level calls for " "accessing and modifying the files, directories, symlinks etc on mounted " @@ -45090,7 +46206,7 @@ msgstr "" "扱うことは考えていません。" #. type: textblock -#: ../src/guestfs.pod:202 +#: ../src/guestfs.pod:185 msgid "" "Specify filenames as full paths, starting with C<\"/\"> and including the " "mount point." @@ -45099,7 +46215,7 @@ msgstr "" "す。" #. type: textblock -#: ../src/guestfs.pod:205 +#: ../src/guestfs.pod:188 msgid "" "For example, if you mounted a filesystem at C<\"/\"> and you want to read " "the file called C<\"etc/passwd\"> then you could do:" @@ -45108,7 +46224,7 @@ msgstr "" "ファイルを読み込みたければ、次のようにできます:" #. type: verbatim -#: ../src/guestfs.pod:208 +#: ../src/guestfs.pod:191 #, no-wrap msgid "" " char *data = guestfs_cat (g, \"/etc/passwd\");\n" @@ -45118,7 +46234,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:210 +#: ../src/guestfs.pod:193 msgid "" "This would return C<data> as a newly allocated buffer containing the full " "content of that file (with some conditions: see also L</DOWNLOADING> below), " @@ -45129,7 +46245,7 @@ msgstr "" "は、エラーがあれば C<NULL> を返します。" #. type: textblock -#: ../src/guestfs.pod:214 +#: ../src/guestfs.pod:197 msgid "" "As another example, to create a top-level directory on that filesystem " "called C<\"var\"> you would do:" @@ -45138,7 +46254,7 @@ msgstr "" "トリーを作成するには、次のようにします:" #. type: verbatim -#: ../src/guestfs.pod:217 +#: ../src/guestfs.pod:200 #, no-wrap msgid "" " guestfs_mkdir (g, \"/var\");\n" @@ -45148,12 +46264,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:219 +#: ../src/guestfs.pod:202 msgid "To create a symlink you could do:" msgstr "シンボリックリンクを作成するには次のようにできます:" #. type: verbatim -#: ../src/guestfs.pod:221 +#: ../src/guestfs.pod:204 #, no-wrap msgid "" " guestfs_ln_s (g, \"/etc/init.d/portmap\",\n" @@ -45165,7 +46281,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:224 +#: ../src/guestfs.pod:207 msgid "" "Libguestfs will reject attempts to use relative paths and there is no " "concept of a current working directory." @@ -45174,7 +46290,7 @@ msgstr "" "ありません。" #. type: textblock -#: ../src/guestfs.pod:227 +#: ../src/guestfs.pod:210 msgid "" "Libguestfs can return errors in many situations: for example if the " "filesystem isn't writable, or if a file or directory that you requested " @@ -45189,7 +46305,7 @@ msgstr "" "ドは、これらのエラーを例外の中に含めてください。)" #. type: textblock -#: ../src/guestfs.pod:233 +#: ../src/guestfs.pod:216 msgid "" "File writes are affected by the per-handle umask, set by calling L</" "guestfs_umask> and defaulting to 022. See L</UMASK>." @@ -45199,19 +46315,19 @@ msgstr "" "照。" #. type: textblock -#: ../src/guestfs.pod:236 +#: ../src/guestfs.pod:219 msgid "" "Since libguestfs 1.18, it is possible to mount the libguestfs filesystem on " "a local directory, subject to some restrictions. See L</MOUNT LOCAL> below." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:240 +#: ../src/guestfs.pod:223 msgid "PARTITIONING" msgstr "パーティション" #. type: textblock -#: ../src/guestfs.pod:242 +#: ../src/guestfs.pod:225 msgid "" "Libguestfs contains API calls to read, create and modify partition tables on " "disk images." @@ -45220,7 +46336,7 @@ msgstr "" "更するための API 呼び出しがあります。" #. type: textblock -#: ../src/guestfs.pod:245 +#: ../src/guestfs.pod:228 msgid "" "In the common case where you want to create a single partition covering the " "whole disk, you should use the L</guestfs_part_disk> call:" @@ -45229,7 +46345,7 @@ msgstr "" "guestfs_part_disk> 呼び出しを使用できます:" #. type: verbatim -#: ../src/guestfs.pod:249 +#: ../src/guestfs.pod:232 #, no-wrap msgid "" " const char *parttype = \"mbr\";\n" @@ -45245,19 +46361,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:254 +#: ../src/guestfs.pod:237 msgid "" "Obviously this effectively wipes anything that was on that disk image before." msgstr "" "以前ディスクイメージにあったものを明示的にすべて効果的に完全消去します。" #. type: =head2 -#: ../src/guestfs.pod:257 +#: ../src/guestfs.pod:240 msgid "LVM2" msgstr "LVM2" #. type: textblock -#: ../src/guestfs.pod:259 +#: ../src/guestfs.pod:242 msgid "" "Libguestfs provides access to a large part of the LVM2 API, such as L</" "guestfs_lvcreate> and L</guestfs_vgremove>. It won't make much sense unless " @@ -45269,7 +46385,7 @@ msgstr "" "リュームの概念になじみがなければ、役に立たないかもしれません。" #. type: textblock -#: ../src/guestfs.pod:264 +#: ../src/guestfs.pod:247 msgid "" "This author strongly recommends reading the LVM HOWTO, online at L<http://" "tldp.org/HOWTO/LVM-HOWTO/>." @@ -45278,12 +46394,12 @@ msgstr "" "を読むことを強く推奨します。" #. type: =head2 -#: ../src/guestfs.pod:267 +#: ../src/guestfs.pod:250 msgid "DOWNLOADING" msgstr "ダウンロード" #. type: textblock -#: ../src/guestfs.pod:269 +#: ../src/guestfs.pod:252 msgid "" "Use L</guestfs_cat> to download small, text only files. This call is " "limited to files which are less than 2 MB and which cannot contain any ASCII " @@ -45294,7 +46410,7 @@ msgstr "" "制限されます。しかしながら、API は非常に簡単に使用できます。" #. type: textblock -#: ../src/guestfs.pod:273 +#: ../src/guestfs.pod:256 msgid "" "L</guestfs_read_file> can be used to read files which contain arbitrary 8 " "bit data, since it returns a (pointer, size) pair. However it is still " @@ -45305,7 +46421,7 @@ msgstr "" "MB 未満の「小さな」ファイルに制限されています。" #. type: textblock -#: ../src/guestfs.pod:277 +#: ../src/guestfs.pod:260 msgid "" "L</guestfs_download> can be used to download any file, with no limits on " "content or size (even files larger than 4 GB)." @@ -45315,7 +46431,7 @@ msgstr "" "きます。" #. type: textblock -#: ../src/guestfs.pod:280 +#: ../src/guestfs.pod:263 msgid "" "To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>." msgstr "" @@ -45323,18 +46439,18 @@ msgstr "" "guestfs_tgz_out> を参照してください。" #. type: =head2 -#: ../src/guestfs.pod:283 +#: ../src/guestfs.pod:266 msgid "UPLOADING" msgstr "アップロード方法" #. type: textblock -#: ../src/guestfs.pod:285 +#: ../src/guestfs.pod:268 msgid "" "It's often the case that you want to write a file or files to the disk image." msgstr "頻繁にディスクイメージへのファイルを書き込みたいという場合です。" #. type: textblock -#: ../src/guestfs.pod:288 +#: ../src/guestfs.pod:271 msgid "" "To write a small file with fixed content, use L</guestfs_write>. To create " "a file of all zeroes, use L</guestfs_truncate_size> (sparse) or L</" @@ -45349,7 +46465,7 @@ msgstr "" "L</guestfs_fill> や L</guestfs_fill_pattern> があります。" #. type: textblock -#: ../src/guestfs.pod:294 +#: ../src/guestfs.pod:277 msgid "" "To upload a single file, use L</guestfs_upload>. This call has no limits on " "file content or size (even files larger than 4 GB)." @@ -45359,7 +46475,7 @@ msgstr "" "りません。" #. type: textblock -#: ../src/guestfs.pod:297 +#: ../src/guestfs.pod:280 msgid "" "To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>." msgstr "" @@ -45367,7 +46483,7 @@ msgstr "" "guestfs_tgz_in> を参照してください。" #. type: textblock -#: ../src/guestfs.pod:299 +#: ../src/guestfs.pod:282 msgid "" "However the fastest way to upload I<large numbers of arbitrary files> is to " "turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and L<mkisofs(8)" @@ -45381,12 +46497,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:310 +#: ../src/guestfs.pod:293 msgid "COPYING" msgstr "コピー方法" #. type: textblock -#: ../src/guestfs.pod:312 +#: ../src/guestfs.pod:295 msgid "" "There are various different commands for copying between files and devices " "and in and out of the guest filesystem. These are summarised in the table " @@ -45396,12 +46512,12 @@ msgstr "" "ための、さまざまなコマンドがあります。以下の表はその概要です。" #. type: =item -#: ../src/guestfs.pod:318 +#: ../src/guestfs.pod:301 msgid "B<file> to B<file>" msgstr "B<ファイル>からB<ファイル>" #. type: textblock -#: ../src/guestfs.pod:320 +#: ../src/guestfs.pod:303 msgid "" "Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy " "directories recursively." @@ -45410,28 +46526,28 @@ msgstr "" "リーを再帰的にコピーするには L</guestfs_cp_a> を使用します。" #. type: textblock -#: ../src/guestfs.pod:323 +#: ../src/guestfs.pod:306 msgid "" "To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>." msgstr "" #. type: =item -#: ../src/guestfs.pod:326 +#: ../src/guestfs.pod:309 msgid "B<file> to B<device>" msgstr "B<ファイル>からB<デバイス>" #. type: =item -#: ../src/guestfs.pod:328 +#: ../src/guestfs.pod:311 msgid "B<device> to B<file>" msgstr "B<デバイス>からB<ファイル>" #. type: =item -#: ../src/guestfs.pod:330 +#: ../src/guestfs.pod:313 msgid "B<device> to B<device>" msgstr "B<デバイス>からB<デバイス>" #. type: textblock -#: ../src/guestfs.pod:332 +#: ../src/guestfs.pod:315 msgid "" "Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or L</" "guestfs_copy_device_to_device>." @@ -45440,12 +46556,12 @@ msgstr "" "guestfs_copy_device_to_device> を使用してください。" #. type: textblock -#: ../src/guestfs.pod:335 +#: ../src/guestfs.pod:318 msgid "Example: duplicate the contents of an LV:" msgstr "例: 論理ボリュームの内容の複製:" #. type: verbatim -#: ../src/guestfs.pod:337 +#: ../src/guestfs.pod:320 #, no-wrap msgid "" " guestfs_copy_device_to_device (g,\n" @@ -45461,7 +46577,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:342 +#: ../src/guestfs.pod:325 msgid "" "The destination (C</dev/VG/Copy>) must be at least as large as the source " "(C</dev/VG/Original>). To copy less than the whole source device, use the " @@ -45472,7 +46588,7 @@ msgstr "" "optional C<size> parameter:" #. type: verbatim -#: ../src/guestfs.pod:346 +#: ../src/guestfs.pod:329 #, no-wrap msgid "" " guestfs_copy_device_to_device (g,\n" @@ -45488,32 +46604,32 @@ msgstr "" "\n" #. type: =item -#: ../src/guestfs.pod:351 +#: ../src/guestfs.pod:334 msgid "B<file on the host> to B<file or device>" msgstr "B<ホストのファイル>からB<ファイルまたはデバイス>" #. type: textblock -#: ../src/guestfs.pod:353 +#: ../src/guestfs.pod:336 msgid "Use L</guestfs_upload>. See L</UPLOADING> above." msgstr "L</guestfs_upload> を使用します。上の L</アップロード方法> 参照。" #. type: =item -#: ../src/guestfs.pod:355 +#: ../src/guestfs.pod:338 msgid "B<file or device> to B<file on the host>" msgstr "B<ファイルまたはデバイス>からB<ホストのファイル>" #. type: textblock -#: ../src/guestfs.pod:357 +#: ../src/guestfs.pod:340 msgid "Use L</guestfs_download>. See L</DOWNLOADING> above." msgstr "L</guestfs_download> を使用します。上の L</ダウンロード方法> 参照。" #. type: =head2 -#: ../src/guestfs.pod:361 +#: ../src/guestfs.pod:344 msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:363 +#: ../src/guestfs.pod:346 msgid "" "Calls like L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, L</" "guestfs_tar_out> etc appear to only take filenames as arguments, so it " @@ -45524,12 +46640,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:371 +#: ../src/guestfs.pod:354 msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:374 +#: ../src/guestfs.pod:357 #, no-wrap msgid "" " guestfs_download (g, filename, \"/dev/stdout\");\n" @@ -45539,12 +46655,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:376 +#: ../src/guestfs.pod:359 msgid "and you can write tar output to a file descriptor C<fd> by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:378 +#: ../src/guestfs.pod:361 #, no-wrap msgid "" " char devfd[64];\n" @@ -45558,12 +46674,12 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:382 +#: ../src/guestfs.pod:365 msgid "LISTING FILES" msgstr "ファイルの一覧表示方法" #. type: textblock -#: ../src/guestfs.pod:384 +#: ../src/guestfs.pod:367 msgid "" "L</guestfs_ll> is just designed for humans to read (mainly when using the " "L<guestfish(1)>-equivalent command C<ll>)." @@ -45572,7 +46688,7 @@ msgstr "" "> の同等なコマンド C<ll> を使用するとき)。" #. type: textblock -#: ../src/guestfs.pod:387 +#: ../src/guestfs.pod:370 msgid "" "L</guestfs_ls> is a quick way to get a list of files in a directory from " "programs, as a flat list of strings." @@ -45581,7 +46697,7 @@ msgstr "" "覧をプログラムから取得する素早い方法です。" #. type: textblock -#: ../src/guestfs.pod:390 +#: ../src/guestfs.pod:373 msgid "" "L</guestfs_readdir> is a programmatic way to get a list of files in a " "directory, plus additional information about each one. It is more " @@ -45592,7 +46708,7 @@ msgstr "" "る L<readdir(3)> 呼び出しを使用することとほぼ同様です。" #. type: textblock -#: ../src/guestfs.pod:394 +#: ../src/guestfs.pod:377 msgid "" "L</guestfs_find> and L</guestfs_find0> can be used to recursively list files." msgstr "" @@ -45600,12 +46716,12 @@ msgstr "" "使用できます。" #. type: =head2 -#: ../src/guestfs.pod:397 +#: ../src/guestfs.pod:380 msgid "RUNNING COMMANDS" msgstr "コマンドの実行法" #. type: textblock -#: ../src/guestfs.pod:399 +#: ../src/guestfs.pod:382 msgid "" "Although libguestfs is primarily an API for manipulating files inside guest " "images, we also provide some limited facilities for running commands inside " @@ -45616,12 +46732,12 @@ msgstr "" "あります。" #. type: textblock -#: ../src/guestfs.pod:403 +#: ../src/guestfs.pod:386 msgid "There are many limitations to this:" msgstr "これには多くの制限があります:" #. type: textblock -#: ../src/guestfs.pod:409 +#: ../src/guestfs.pod:392 msgid "" "The kernel version that the command runs under will be different from what " "it expects." @@ -45629,19 +46745,19 @@ msgstr "" "コマンドを実行するカーネルのバージョンは、期待するものにより異なります。" #. type: textblock -#: ../src/guestfs.pod:414 +#: ../src/guestfs.pod:397 msgid "" "If the command needs to communicate with daemons, then most likely they " "won't be running." msgstr "コマンドがデーモンと通信する必要があれば、ほとんど動作しないでしょう。" #. type: textblock -#: ../src/guestfs.pod:419 +#: ../src/guestfs.pod:402 msgid "The command will be running in limited memory." msgstr "コマンドは制限されたメモリーにおいて実行されます。" #. type: textblock -#: ../src/guestfs.pod:423 +#: ../src/guestfs.pod:406 msgid "" "The network may not be available unless you enable it (see L</" "guestfs_set_network>)." @@ -45650,19 +46766,19 @@ msgstr "" "照)。" #. type: textblock -#: ../src/guestfs.pod:428 +#: ../src/guestfs.pod:411 msgid "Only supports Linux guests (not Windows, BSD, etc)." msgstr "Linux ゲストのみがサポートされます(Windows, BSD など)。" #. type: textblock -#: ../src/guestfs.pod:432 +#: ../src/guestfs.pod:415 msgid "" "Architecture limitations (eg. won't work for a PPC guest on an X86 host)." msgstr "" "アーキテクチャーの制限(例: x86 ホストにおいて PPC ゲストは動作しません)。" #. type: textblock -#: ../src/guestfs.pod:437 +#: ../src/guestfs.pod:420 msgid "" "For SELinux guests, you may need to enable SELinux and load policy first. " "See L</SELINUX> in this manpage." @@ -45671,7 +46787,7 @@ msgstr "" "要があります。このマニュアルページにおいて L</SELinux> を参照してください。" #. type: textblock -#: ../src/guestfs.pod:442 +#: ../src/guestfs.pod:425 msgid "" "I<Security:> It is not safe to run commands from untrusted, possibly " "malicious guests. These commands may attempt to exploit your program by " @@ -45683,7 +46799,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:451 +#: ../src/guestfs.pod:434 msgid "" "A secure alternative is to use libguestfs to install a \"firstboot\" script " "(a script which runs when the guest next boots normally), and to have this " @@ -45693,26 +46809,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:459 +#: ../src/guestfs.pod:442 msgid "" "The two main API calls to run commands are L</guestfs_command> and L</" "guestfs_sh> (there are also variations)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:462 +#: ../src/guestfs.pod:445 msgid "" "The difference is that L</guestfs_sh> runs commands using the shell, so any " "shell globs, redirections, etc will work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:465 +#: ../src/guestfs.pod:448 msgid "CONFIGURATION FILES" msgstr "設定ファイル" #. type: textblock -#: ../src/guestfs.pod:467 +#: ../src/guestfs.pod:450 msgid "" "To read and write configuration files in Linux guest filesystems, we " "strongly recommend using Augeas. For example, Augeas understands how to " @@ -45721,7 +46837,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:472 +#: ../src/guestfs.pod:455 msgid "" "The main Augeas calls are bound through the C<guestfs_aug_*> APIs. We don't " "document Augeas itself here because there is excellent documentation on the " @@ -45729,7 +46845,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:476 +#: ../src/guestfs.pod:459 msgid "" "If you don't want to use Augeas (you fool!) then try calling L</" "guestfs_read_lines> to get the file as a list of lines which you can iterate " @@ -45737,12 +46853,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:480 +#: ../src/guestfs.pod:463 msgid "SELINUX" msgstr "SELinux" #. type: textblock -#: ../src/guestfs.pod:482 +#: ../src/guestfs.pod:465 msgid "" "We support SELinux guests. To ensure that labeling happens correctly in " "SELinux guests, you need to enable SELinux and load the guest's policy:" @@ -45752,12 +46868,12 @@ msgstr "" "要があります:" #. type: textblock -#: ../src/guestfs.pod:490 +#: ../src/guestfs.pod:473 msgid "Before launching, do:" msgstr "起動前に次を実行します:" #. type: verbatim -#: ../src/guestfs.pod:492 +#: ../src/guestfs.pod:475 #, no-wrap msgid "" " guestfs_set_selinux (g, 1);\n" @@ -45767,7 +46883,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:496 +#: ../src/guestfs.pod:479 msgid "" "After mounting the guest's filesystem(s), load the policy. This is best " "done by running the L<load_policy(8)> command in the guest itself:" @@ -45776,7 +46892,7 @@ msgstr "" "自身において L<load_policy(8)> コマンドを実行することが一番です:" #. type: verbatim -#: ../src/guestfs.pod:500 +#: ../src/guestfs.pod:483 #, no-wrap msgid "" " guestfs_sh (g, \"/usr/sbin/load_policy\");\n" @@ -45786,7 +46902,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:502 +#: ../src/guestfs.pod:485 msgid "" "(Older versions of C<load_policy> require you to specify the name of the " "policy file)." @@ -45795,7 +46911,7 @@ msgstr "" "ります)。" #. type: textblock -#: ../src/guestfs.pod:507 +#: ../src/guestfs.pod:490 msgid "" "Optionally, set the security context for the API. The correct security " "context to use can only be known by inspecting the guest. As an example:" @@ -45805,7 +46921,7 @@ msgstr "" "ます。 以下の例のようです:" #. type: verbatim -#: ../src/guestfs.pod:511 +#: ../src/guestfs.pod:494 #, no-wrap msgid "" " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n" @@ -45815,24 +46931,24 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:515 +#: ../src/guestfs.pod:498 msgid "This will work for running commands and editing existing files." msgstr "コマンドを実行し、既存のファイルを編集するために機能します。" #. type: textblock -#: ../src/guestfs.pod:517 +#: ../src/guestfs.pod:500 msgid "" "When new files are created, you may need to label them explicitly, for " "example by running the external command C<restorecon pathname>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:521 +#: ../src/guestfs.pod:504 msgid "UMASK" msgstr "umask" #. type: textblock -#: ../src/guestfs.pod:523 +#: ../src/guestfs.pod:506 msgid "" "Certain calls are affected by the current file mode creation mask (the " "\"umask\"). In particular ones which create files or directories, such as " @@ -45842,7 +46958,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:529 +#: ../src/guestfs.pod:512 msgid "" "The default umask is C<022>, so files are created with modes such as C<0644> " "and directories with C<0755>." @@ -45851,7 +46967,7 @@ msgstr "" "され、ディレクトリーは C<0755> です。" #. type: textblock -#: ../src/guestfs.pod:532 +#: ../src/guestfs.pod:515 msgid "" "There are two ways to avoid being affected by umask. Either set umask to 0 " "(call C<guestfs_umask (g, 0)> early after launching). Or call L</" @@ -45863,12 +46979,12 @@ msgstr "" "び出すことです。" #. type: textblock -#: ../src/guestfs.pod:536 +#: ../src/guestfs.pod:519 msgid "For more information about umask, see L<umask(2)>." msgstr "umask に関する詳細は L<umask(2)> を参照してください。" #. type: textblock -#: ../src/guestfs.pod:540 +#: ../src/guestfs.pod:523 msgid "" "Libguestfs allows you to access Linux guests which have been encrypted using " "whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) " @@ -45877,7 +46993,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:546 +#: ../src/guestfs.pod:529 msgid "" "Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it " "returns the string C<crypto_LUKS>)." @@ -45886,7 +47002,7 @@ msgstr "" "るには L</guestfs_vfs_type> を使用します。" #. type: textblock -#: ../src/guestfs.pod:549 +#: ../src/guestfs.pod:532 msgid "" "Then open these devices by calling L</guestfs_luks_open>. Obviously you " "will require the passphrase!" @@ -45895,7 +47011,7 @@ msgstr "" "す。明示的にパスフレーズが必要です。" #. type: textblock -#: ../src/guestfs.pod:552 +#: ../src/guestfs.pod:535 msgid "" "Opening a LUKS device creates a new device mapper device called C</dev/" "mapper/mapname> (where C<mapname> is the string you supply to L</" @@ -45904,7 +47020,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:558 +#: ../src/guestfs.pod:541 msgid "" "LVM volume groups on the device can be made visible by calling L</" "guestfs_vgscan> followed by L</guestfs_vg_activate_all>. The logical volume" @@ -45912,7 +47028,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:562 +#: ../src/guestfs.pod:545 msgid "" "Use the reverse process to close a LUKS device. Unmount any logical volumes " "on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, " @@ -45922,19 +47038,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:569 +#: ../src/guestfs.pod:552 msgid "MOUNT LOCAL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:571 +#: ../src/guestfs.pod:554 msgid "" "In libguestfs E<ge> 1.18, it is possible to mount the libguestfs filesystem " "on a local directory and access it using ordinary POSIX calls and programs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:575 +#: ../src/guestfs.pod:558 msgid "" "Availability of this is subject to a number of restrictions: it requires " "FUSE (the Filesystem in USErspace), and libfuse must also have been " @@ -45945,7 +47061,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:582 +#: ../src/guestfs.pod:565 msgid "" "The call to mount the libguestfs filesystem on a local directory is L</" "guestfs_mount_local> (q.v.) followed by L</guestfs_mount_local_run>. The " @@ -45958,7 +47074,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:592 +#: ../src/guestfs.pod:575 msgid "" "L</guestfs_mount_local> needs a certain amount of time to set up the " "mountpoint. The mountpoint is not ready to use until the call returns. At " @@ -45969,12 +47085,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:600 +#: ../src/guestfs.pod:583 msgid "MOUNT LOCAL COMPATIBILITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:602 +#: ../src/guestfs.pod:585 msgid "" "Since local mounting was only added in libguestfs 1.18, and may not be " "available even in these builds, you should consider writing code so that it " @@ -45983,7 +47099,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:607 +#: ../src/guestfs.pod:590 msgid "" "If libguestfs was compiled without support for L</guestfs_mount_local> then " "calling it will return an error with errno set to C<ENOTSUP> (see L</" @@ -45991,12 +47107,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:611 +#: ../src/guestfs.pod:594 msgid "MOUNT LOCAL PERFORMANCE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:613 +#: ../src/guestfs.pod:596 msgid "" "Libguestfs on top of FUSE performs quite poorly. For best performance do " "not use it. Use ordinary libguestfs filesystem calls, upload, download etc. " @@ -46004,12 +47120,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:617 +#: ../src/guestfs.pod:600 msgid "INSPECTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:619 +#: ../src/guestfs.pod:602 msgid "" "Libguestfs has APIs for inspecting an unknown disk image to find out if it " "contains operating systems, an install CD or a live CD. (These APIs used to " @@ -46019,14 +47135,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:626 +#: ../src/guestfs.pod:609 msgid "" "Add all disks belonging to the unknown virtual machine and call L</" "guestfs_launch> in the usual way." msgstr "" #. type: textblock -#: ../src/guestfs.pod:629 +#: ../src/guestfs.pod:612 msgid "" "Then call L</guestfs_inspect_os>. This function uses other libguestfs calls " "and certain heuristics, and returns a list of operating systems that were " @@ -46039,7 +47155,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:638 +#: ../src/guestfs.pod:621 msgid "" "For each root, you can then call various C<guestfs_inspect_get_*> functions " "to get additional details about that operating system. For example, call L</" @@ -46048,7 +47164,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:644 +#: ../src/guestfs.pod:627 msgid "" "Un*x-like and Linux-based operating systems usually consist of several " "filesystems which are mounted at boot time (for example, a separate boot " @@ -46059,7 +47175,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:651 +#: ../src/guestfs.pod:634 #, no-wrap msgid "" " /boot => /dev/sda1\n" @@ -46073,21 +47189,21 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:655 +#: ../src/guestfs.pod:638 msgid "" "The caller can then make calls to L</guestfs_mount_options> to mount the " "filesystems as suggested." msgstr "" #. type: textblock -#: ../src/guestfs.pod:658 +#: ../src/guestfs.pod:641 msgid "" "Be careful to mount filesystems in the right order (eg. C</> before C</" "usr>). Sorting the keys of the hash by length, shortest first, should work." msgstr "" #. type: textblock -#: ../src/guestfs.pod:662 +#: ../src/guestfs.pod:645 msgid "" "Inspection currently only works for some common operating systems. " "Contributors are welcome to send patches for other operating systems that we " @@ -46095,7 +47211,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:666 +#: ../src/guestfs.pod:649 msgid "" "Encrypted disks must be opened before inspection. See L</ENCRYPTED DISKS> " "for more details. The L</guestfs_inspect_os> function just ignores any " @@ -46103,7 +47219,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:670 +#: ../src/guestfs.pod:653 msgid "" "A note on the implementation: The call L</guestfs_inspect_os> performs " "inspection and caches the results in the guest handle. Subsequent calls to " @@ -46118,12 +47234,12 @@ msgstr "" "を使用してください。" #. type: =head3 -#: ../src/guestfs.pod:679 +#: ../src/guestfs.pod:662 msgid "INSPECTING INSTALL DISKS" msgstr "インストールディスクの検査方法" #. type: textblock -#: ../src/guestfs.pod:681 +#: ../src/guestfs.pod:664 msgid "" "Libguestfs (since 1.9.4) can detect some install disks, install CDs, live " "CDs and more." @@ -46132,7 +47248,7 @@ msgstr "" "live CD などを検知できます。" #. type: textblock -#: ../src/guestfs.pod:684 +#: ../src/guestfs.pod:667 msgid "" "Call L</guestfs_inspect_get_format> to return the format of the operating " "system, which currently can be C<installed> (a regular operating system) or " @@ -46140,7 +47256,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:688 +#: ../src/guestfs.pod:671 msgid "" "Further information is available about the operating system that can be " "installed using the regular inspection APIs like L</" @@ -46148,7 +47264,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:693 +#: ../src/guestfs.pod:676 msgid "" "Some additional information specific to installer disks is also available " "from the L</guestfs_inspect_is_live>, L</guestfs_inspect_is_netinst> and L</" @@ -46159,12 +47275,12 @@ msgstr "" "guestfs_inspect_is_multipart> 呼び出しからも取得可能です。" #. type: =head2 -#: ../src/guestfs.pod:698 +#: ../src/guestfs.pod:681 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:700 +#: ../src/guestfs.pod:683 msgid "" "Libguestfs can mount NTFS partitions. It does this using the L<http://www." "ntfs-3g.org/> driver." @@ -46173,12 +47289,12 @@ msgstr "" "www.ntfs-3g.org/> ドライバーを使用します。" #. type: =head3 -#: ../src/guestfs.pod:703 +#: ../src/guestfs.pod:686 msgid "DRIVE LETTERS AND PATHS" msgstr "ドライブレターとパス" #. type: textblock -#: ../src/guestfs.pod:705 +#: ../src/guestfs.pod:688 msgid "" "DOS and Windows still use drive letters, and the filesystems are always " "treated as case insensitive by Windows itself, and therefore you might find " @@ -46188,14 +47304,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:711 +#: ../src/guestfs.pod:694 msgid "" "Drive letter mappings can be found using inspection (see L</INSPECTION> and " "L</guestfs_inspect_get_drive_mappings>)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:714 +#: ../src/guestfs.pod:697 msgid "" "Dealing with separator characters (backslash vs forward slash) is outside " "the scope of libguestfs, but usually a simple character replacement will " @@ -46203,19 +47319,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:718 +#: ../src/guestfs.pod:701 msgid "" "To resolve the case insensitivity of paths, call L</" "guestfs_case_sensitive_path>." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:721 +#: ../src/guestfs.pod:704 msgid "ACCESSING THE WINDOWS REGISTRY" msgstr "Windows レジストリのアクセス方法" #. type: textblock -#: ../src/guestfs.pod:723 +#: ../src/guestfs.pod:706 msgid "" "Libguestfs also provides some help for decoding Windows Registry \"hive\" " "files, through the library C<hivex> which is part of the libguestfs project " @@ -46228,12 +47344,12 @@ msgstr "" "してください。" #. type: =head3 -#: ../src/guestfs.pod:731 +#: ../src/guestfs.pod:714 msgid "SYMLINKS ON NTFS-3G FILESYSTEMS" msgstr "NTFS-3G ファイルシステムにおけるシンボリックリンク" #. type: textblock -#: ../src/guestfs.pod:733 +#: ../src/guestfs.pod:716 msgid "" "Ntfs-3g tries to rewrite \"Junction Points\" and NTFS \"symbolic links\" to " "provide something which looks like a Linux symlink. The way it tries to do " @@ -46241,7 +47357,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:737 +#: ../src/guestfs.pod:720 msgid "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-" "symbolic-links/>" @@ -46250,7 +47366,7 @@ msgstr "" "symbolic-links/>" #. type: textblock -#: ../src/guestfs.pod:739 +#: ../src/guestfs.pod:722 msgid "" "The essential problem is that ntfs-3g simply does not have enough " "information to do a correct job. NTFS links can contain drive letters and " @@ -46260,7 +47376,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:746 +#: ../src/guestfs.pod:729 msgid "" "Instead if you encounter a symbolic link on an ntfs-3g filesystem, use L</" "guestfs_lgetxattr> to read the C<system.ntfs_reparse_data> extended " @@ -46269,38 +47385,38 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:751 +#: ../src/guestfs.pod:734 msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:753 +#: ../src/guestfs.pod:736 msgid "" "There are other useful extended attributes that can be read from ntfs-3g " "filesystems (using L</guestfs_getxattr>). See:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:756 +#: ../src/guestfs.pod:739 msgid "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>" msgstr "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>" #. type: =head2 -#: ../src/guestfs.pod:758 +#: ../src/guestfs.pod:741 msgid "RESIZE2FS ERRORS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:760 +#: ../src/guestfs.pod:743 msgid "" "The L</guestfs_resize2fs>, L</guestfs_resize2fs_size> and L</" "guestfs_resize2fs_M> calls are used to resize ext2/3/4 filesystems." msgstr "" #. type: textblock -#: ../src/guestfs.pod:763 +#: ../src/guestfs.pod:746 msgid "" "The underlying program (L<resize2fs(8)>) requires that the filesystem is " "clean and recently fsck'd before you can resize it. Also, if the resize " @@ -46309,7 +47425,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:768 +#: ../src/guestfs.pod:751 msgid "" "In libguestfs C<lt> 1.17.14, you usually had to call L</guestfs_e2fsck_f> " "before the resize. However, in C<ge> 1.17.14, L<e2fsck(8)> is called " @@ -46317,14 +47433,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:773 +#: ../src/guestfs.pod:756 msgid "" "The L<resize2fs(8)> program can still fail, in which case it prints an error " "message similar to:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:776 +#: ../src/guestfs.pod:759 #, no-wrap msgid "" " Please run 'e2fsck -fy <device>' to fix the filesystem\n" @@ -46333,7 +47449,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:779 +#: ../src/guestfs.pod:762 msgid "" "You can do this by calling L</guestfs_e2fsck> with the C<forceall> option. " "However in the context of disk images, it is usually better to avoid this " @@ -46342,19 +47458,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:784 +#: ../src/guestfs.pod:767 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:786 +#: ../src/guestfs.pod:769 msgid "" "Although we don't want to discourage you from using the C API, we will " "mention here that the same API is also available in other languages." msgstr "" #. type: textblock -#: ../src/guestfs.pod:789 +#: ../src/guestfs.pod:772 msgid "" "The API is broadly identical in all supported languages. This means that " "the C call C<guestfs_add_drive_ro(g,file)> is C<$g-E<gt>add_drive_ro($file)> " @@ -46364,14 +47480,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:795 +#: ../src/guestfs.pod:778 msgid "" "Error messages are automatically transformed into exceptions if the language " "supports it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:798 +#: ../src/guestfs.pod:781 msgid "" "We don't try to \"object orientify\" parts of the API in OO languages, " "although contributors are welcome to write higher level APIs above what we " @@ -46379,12 +47495,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:804 +#: ../src/guestfs.pod:787 msgid "B<C++>" msgstr "B<C++>" #. type: textblock -#: ../src/guestfs.pod:806 +#: ../src/guestfs.pod:789 msgid "" "You can use the I<guestfs.h> header file from C++ programs. The C++ API is " "identical to the C API. C++ classes and exceptions are not used." @@ -46393,12 +47509,12 @@ msgstr "" "C API と同一です。 C++ のクラスと例外は使用されません。" #. type: =item -#: ../src/guestfs.pod:810 +#: ../src/guestfs.pod:793 msgid "B<C#>" msgstr "B<C#>" #. type: textblock -#: ../src/guestfs.pod:812 +#: ../src/guestfs.pod:795 msgid "" "The C# bindings are highly experimental. Please read the warnings at the " "top of C<csharp/Libguestfs.cs>." @@ -46407,34 +47523,34 @@ msgstr "" "る警告を参照してください。" #. type: =item -#: ../src/guestfs.pod:815 +#: ../src/guestfs.pod:798 msgid "B<Erlang>" msgstr "B<Erlang>" #. type: textblock -#: ../src/guestfs.pod:817 +#: ../src/guestfs.pod:800 msgid "See L<guestfs-erlang(3)>." msgstr "L<guestfs-erlang(3)> 参照。" #. type: =item -#: ../src/guestfs.pod:819 +#: ../src/guestfs.pod:802 msgid "B<GObject>" msgstr "B<GObject>" #. type: textblock -#: ../src/guestfs.pod:821 +#: ../src/guestfs.pod:804 msgid "" "Experimental GObject bindings (with GObject Introspection support) are " "available. See the C<gobject> directory in the source." msgstr "" #. type: =item -#: ../src/guestfs.pod:824 +#: ../src/guestfs.pod:807 msgid "B<Haskell>" msgstr "B<Haskell>" #. type: textblock -#: ../src/guestfs.pod:826 +#: ../src/guestfs.pod:809 msgid "" "This is the only language binding that is working but incomplete. Only " "calls which return simple integers have been bound in Haskell, and we are " @@ -46442,96 +47558,96 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:830 +#: ../src/guestfs.pod:813 msgid "B<Java>" msgstr "B<Java>" #. type: textblock -#: ../src/guestfs.pod:832 +#: ../src/guestfs.pod:815 msgid "" "Full documentation is contained in the Javadoc which is distributed with " "libguestfs. For examples, see L<guestfs-java(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:835 +#: ../src/guestfs.pod:818 msgid "B<OCaml>" msgstr "B<OCaml>" #. type: textblock -#: ../src/guestfs.pod:837 +#: ../src/guestfs.pod:820 msgid "See L<guestfs-ocaml(3)>." msgstr "L<guestfs-ocaml(3)> 参照。" #. type: =item -#: ../src/guestfs.pod:839 +#: ../src/guestfs.pod:822 msgid "B<Perl>" msgstr "B<Perl>" #. type: textblock -#: ../src/guestfs.pod:841 +#: ../src/guestfs.pod:824 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:843 +#: ../src/guestfs.pod:826 msgid "B<PHP>" msgstr "B<PHP>" #. type: textblock -#: ../src/guestfs.pod:845 +#: ../src/guestfs.pod:828 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:848 +#: ../src/guestfs.pod:831 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "PHP バインドは 64 ビットマシンにおいてのみ正しく動作します。" #. type: =item -#: ../src/guestfs.pod:850 +#: ../src/guestfs.pod:833 msgid "B<Python>" msgstr "B<Python>" #. type: textblock -#: ../src/guestfs.pod:852 +#: ../src/guestfs.pod:835 msgid "See L<guestfs-python(3)>." msgstr "L<guestfs-python(3)> 参照。" #. type: =item -#: ../src/guestfs.pod:854 +#: ../src/guestfs.pod:837 msgid "B<Ruby>" msgstr "B<Ruby>" #. type: textblock -#: ../src/guestfs.pod:856 +#: ../src/guestfs.pod:839 msgid "See L<guestfs-ruby(3)>." msgstr "L<guestfs-ruby(3)> 参照。" #. type: textblock -#: ../src/guestfs.pod:858 +#: ../src/guestfs.pod:841 msgid "For JRuby, use the Java bindings." msgstr "JRuby に対しては Java バインドを使用します。" #. type: =item -#: ../src/guestfs.pod:860 +#: ../src/guestfs.pod:843 msgid "B<shell scripts>" msgstr "B<シェルスクリプト>" #. type: textblock -#: ../src/guestfs.pod:862 +#: ../src/guestfs.pod:845 msgid "See L<guestfish(1)>." msgstr "L<guestfish(1)> 参照。" #. type: =head2 -#: ../src/guestfs.pod:866 +#: ../src/guestfs.pod:849 msgid "LIBGUESTFS GOTCHAS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:868 +#: ../src/guestfs.pod:851 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 " @@ -46539,7 +47655,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:872 +#: ../src/guestfs.pod:855 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -46548,19 +47664,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:880 +#: ../src/guestfs.pod:863 msgid "Autosync / forgetting to sync." msgstr "" #. type: textblock -#: ../src/guestfs.pod:882 +#: ../src/guestfs.pod:865 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:885 +#: ../src/guestfs.pod:868 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 " @@ -46568,7 +47684,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:889 +#: ../src/guestfs.pod:872 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -46578,14 +47694,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:891 +#: ../src/guestfs.pod:874 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:895 +#: ../src/guestfs.pod:878 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 " @@ -46593,7 +47709,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:899 +#: ../src/guestfs.pod:882 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 " @@ -46601,19 +47717,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:903 +#: ../src/guestfs.pod:886 msgid "Mount option C<-o sync> should not be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:905 +#: ../src/guestfs.pod:888 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:908 +#: ../src/guestfs.pod:891 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 " @@ -46621,19 +47737,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:912 +#: ../src/guestfs.pod:895 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:915 +#: ../src/guestfs.pod:898 msgid "Read-only should be the default." msgstr "初期値は読み込み専用です。" #. type: textblock -#: ../src/guestfs.pod:917 +#: ../src/guestfs.pod:900 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." @@ -46642,12 +47758,12 @@ msgstr "" "rw> を指定する必要があります。" #. type: textblock -#: ../src/guestfs.pod:920 +#: ../src/guestfs.pod:903 msgid "This would reduce the potential to corrupt live VM images." msgstr "これにより、動作中の仮想マシンのイメージを破壊する可能性を減らします。" #. type: textblock -#: ../src/guestfs.pod:922 +#: ../src/guestfs.pod:905 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</" @@ -46655,12 +47771,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:926 +#: ../src/guestfs.pod:909 msgid "guestfish command line is hard to use." msgstr "guestfish コマンドラインは使うのが難しいです。" #. type: textblock -#: ../src/guestfs.pod:928 +#: ../src/guestfs.pod:911 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 " @@ -46670,12 +47786,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:935 +#: ../src/guestfs.pod:918 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" #. type: textblock -#: ../src/guestfs.pod:937 +#: ../src/guestfs.pod:920 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 " @@ -46685,12 +47801,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:944 +#: ../src/guestfs.pod:927 msgid "The most common is L</guestfs_lvcreate>. The guestfish command:" msgstr "最も一般的な L</guestfs_lvcreate> です。 guestfish コマンド:" #. type: verbatim -#: ../src/guestfs.pod:946 +#: ../src/guestfs.pod:929 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -46700,7 +47816,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:948 +#: ../src/guestfs.pod:931 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 " @@ -46709,19 +47825,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:936 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:956 +#: ../src/guestfs.pod:939 msgid "Ambiguity between devices and paths" msgstr "" #. type: textblock -#: ../src/guestfs.pod:958 +#: ../src/guestfs.pod:941 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 " @@ -46729,7 +47845,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:963 +#: ../src/guestfs.pod:946 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>. " @@ -46738,7 +47854,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:969 +#: ../src/guestfs.pod:952 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 " @@ -46748,7 +47864,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:975 +#: ../src/guestfs.pod:958 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -46758,12 +47874,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:977 +#: ../src/guestfs.pod:960 msgid "which would allow you to pass arguments like:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:979 +#: ../src/guestfs.pod:962 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -46779,19 +47895,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:984 +#: ../src/guestfs.pod:967 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:989 +#: ../src/guestfs.pod:972 msgid "KEYS AND PASSPHRASES" msgstr "キーとパスフレーズ" #. type: textblock -#: ../src/guestfs.pod:991 +#: ../src/guestfs.pod:974 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." @@ -46800,7 +47916,7 @@ msgstr "" "を含むパラメーターをとります。" #. type: textblock -#: ../src/guestfs.pod:994 +#: ../src/guestfs.pod:977 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 " @@ -46809,7 +47925,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:999 +#: ../src/guestfs.pod:982 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, " @@ -46817,19 +47933,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1004 +#: ../src/guestfs.pod:987 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1006 +#: ../src/guestfs.pod:989 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:1009 +#: ../src/guestfs.pod:992 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 " @@ -46837,26 +47953,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1013 +#: ../src/guestfs.pod:996 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1016 +#: ../src/guestfs.pod:999 msgid "PATH" msgstr "パス" #. type: textblock -#: ../src/guestfs.pod:1018 +#: ../src/guestfs.pod:1001 msgid "" "Libguestfs needs a supermin appliance, which it finds by looking along an " "internal path." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1021 +#: ../src/guestfs.pod:1004 msgid "" "By default it looks for these in the directory C<$libdir/guestfs> (eg. C</" "usr/local/lib/guestfs> or C</usr/lib64/guestfs>)." @@ -46865,7 +47981,7 @@ msgstr "" "(例: C</usr/local/lib/guestfs> または C</usr/lib64/guestfs>)。" #. type: textblock -#: ../src/guestfs.pod:1024 +#: ../src/guestfs.pod:1007 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 " @@ -46876,12 +47992,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1031 +#: ../src/guestfs.pod:1014 msgid "QEMU WRAPPERS" msgstr "QEMU ラッパー" #. type: textblock -#: ../src/guestfs.pod:1033 +#: ../src/guestfs.pod:1016 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 " @@ -46892,7 +48008,7 @@ msgstr "" "す。" #. type: textblock -#: ../src/guestfs.pod:1037 +#: ../src/guestfs.pod:1020 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 " @@ -46901,14 +48017,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1042 +#: ../src/guestfs.pod:1025 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:1045 +#: ../src/guestfs.pod:1028 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -46922,7 +48038,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1049 +#: ../src/guestfs.pod:1032 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 " @@ -46930,7 +48046,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1053 +#: ../src/guestfs.pod:1036 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -46940,14 +48056,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1055 +#: ../src/guestfs.pod:1038 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1058 +#: ../src/guestfs.pod:1041 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 " @@ -46957,7 +48073,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1067 +#: ../src/guestfs.pod:1050 #, no-wrap msgid "" " i=0\n" @@ -46987,7 +48103,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1079 +#: ../src/guestfs.pod:1062 #, no-wrap msgid "" " exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n" @@ -46997,19 +48113,19 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:1081 +#: ../src/guestfs.pod:1064 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1083 +#: ../src/guestfs.pod:1066 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:1086 +#: ../src/guestfs.pod:1069 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 " @@ -47017,12 +48133,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1090 +#: ../src/guestfs.pod:1073 msgid "Using guestfs_set_attach_method" msgstr "guestfs_set_attach_method の使用法" #. type: textblock -#: ../src/guestfs.pod:1092 +#: ../src/guestfs.pod:1075 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</" @@ -47030,14 +48146,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1096 +#: ../src/guestfs.pod:1079 msgid "" "The normal attach method is C<appliance>, where a small appliance is created " "containing the daemon, and then the library connects to this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1099 +#: ../src/guestfs.pod:1082 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 " @@ -47045,7 +48161,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1103 +#: ../src/guestfs.pod:1086 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 " @@ -47053,12 +48169,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1107 +#: ../src/guestfs.pod:1090 msgid "Using guestfs_add_domain with live flag" msgstr "live フラグを用いた guestfs_add_domain の使用方法" #. type: textblock -#: ../src/guestfs.pod:1109 +#: ../src/guestfs.pod:1092 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 " @@ -47069,7 +48185,7 @@ msgstr "" "を使用してください。" #. type: verbatim -#: ../src/guestfs.pod:1115 +#: ../src/guestfs.pod:1098 #, no-wrap msgid "" " <domain>\n" @@ -47099,7 +48215,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1127 +#: ../src/guestfs.pod:1110 msgid "" "L</guestfs_add_domain> extracts C</path/to/socket> and sets the attach " "method to C<unix:/path/to/socket>." @@ -47108,7 +48224,7 @@ msgstr "" "path/to/socket> に設定します。" #. type: textblock -#: ../src/guestfs.pod:1130 +#: ../src/guestfs.pod:1113 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 " @@ -47116,19 +48232,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1134 +#: ../src/guestfs.pod:1117 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:1138 +#: ../src/guestfs.pod:1121 msgid "ABI GUARANTEE" msgstr "ABI 保証" #. type: textblock -#: ../src/guestfs.pod:1140 +#: ../src/guestfs.pod:1123 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -47138,12 +48254,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1146 +#: ../src/guestfs.pod:1129 msgid "BLOCK DEVICE NAMING" msgstr "ブロックデバイスの命名法" #. type: textblock -#: ../src/guestfs.pod:1148 +#: ../src/guestfs.pod:1131 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 " @@ -47157,7 +48273,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1160 +#: ../src/guestfs.pod:1143 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 " @@ -47165,7 +48281,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1164 +#: ../src/guestfs.pod:1147 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 " @@ -47173,7 +48289,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1169 +#: ../src/guestfs.pod:1152 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 " @@ -47182,7 +48298,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1175 +#: ../src/guestfs.pod:1158 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 " @@ -47190,12 +48306,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1163 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1182 +#: ../src/guestfs.pod:1165 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 " @@ -47204,7 +48320,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1188 +#: ../src/guestfs.pod:1171 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</" @@ -47212,17 +48328,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1196 +#: ../src/guestfs.pod:1179 msgid "Is the string a parameter which is a device or partition name?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1200 +#: ../src/guestfs.pod:1183 msgid "Does the string begin with C</dev/sd>?" msgstr "文字列が C</dev/sd> で始まっていますか?" #. type: textblock -#: ../src/guestfs.pod:1204 +#: ../src/guestfs.pod:1187 msgid "" "Does the named device exist? If so, we use that device. However if I<not> " "then we continue with this algorithm." @@ -47231,38 +48347,38 @@ msgstr "" "し、そうで I<なければ> 、この手順を続けます。" #. type: textblock -#: ../src/guestfs.pod:1209 +#: ../src/guestfs.pod:1192 msgid "Replace initial C</dev/sd> string with C</dev/hd>." msgstr "最初の C</dev/sd> 文字列を C</dev/hd> で置き換えます。" #. type: textblock -#: ../src/guestfs.pod:1211 +#: ../src/guestfs.pod:1194 msgid "For example, change C</dev/sda2> to C</dev/hda2>." msgstr "たとえば、 C</dev/sda2> を C</dev/hda2> に変更します。" #. type: textblock -#: ../src/guestfs.pod:1213 +#: ../src/guestfs.pod:1196 msgid "If that named device exists, use it. If not, continue." msgstr "名前付きデバイスが存在すれば、それを使用します。なければ、続けます。" #. type: textblock -#: ../src/guestfs.pod:1217 +#: ../src/guestfs.pod:1200 msgid "Replace initial C</dev/sd> string with C</dev/vd>." msgstr "最初の C</dev/sd> 文字列を C</dev/vd> で置き換えます。" #. type: textblock -#: ../src/guestfs.pod:1219 +#: ../src/guestfs.pod:1202 msgid "If that named device exists, use it. If not, return an error." msgstr "" "名前付きデバイスが存在すれば、それを使用します。なければ、エラーを返します。" #. type: =head3 -#: ../src/guestfs.pod:1223 +#: ../src/guestfs.pod:1206 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1208 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 " @@ -47270,14 +48386,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1229 +#: ../src/guestfs.pod:1212 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1236 +#: ../src/guestfs.pod:1219 msgid "" "Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual " "device names, and then use those names directly." @@ -47286,14 +48402,14 @@ msgstr "" "guestfs_list_partitions> を使用します。そして、それらの名前を直接使用します。" #. type: textblock -#: ../src/guestfs.pod:1239 +#: ../src/guestfs.pod:1222 msgid "" "Since those device names exist by definition, they will never be translated." msgstr "" "それらのデバイス名が定義により存在しているので、それらは変換されません。" #. type: textblock -#: ../src/guestfs.pod:1244 +#: ../src/guestfs.pod:1227 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." @@ -47302,12 +48418,12 @@ msgstr "" "るための高レベルの方法を使用します。" #. type: =head1 -#: ../src/guestfs.pod:1249 ../sysprep/virt-sysprep.pod:376 +#: ../src/guestfs.pod:1232 ../sysprep/virt-sysprep.pod:376 msgid "SECURITY" msgstr "セキュリティ" #. type: textblock -#: ../src/guestfs.pod:1251 +#: ../src/guestfs.pod:1234 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." @@ -47317,12 +48433,12 @@ msgstr "" "ます。" #. type: =head2 -#: ../src/guestfs.pod:1254 +#: ../src/guestfs.pod:1237 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "一般的なセキュリティ考慮事項" #. type: textblock -#: ../src/guestfs.pod:1256 +#: ../src/guestfs.pod:1239 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 " @@ -47332,42 +48448,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1266 +#: ../src/guestfs.pod:1249 msgid "the data (file etc) not being present" msgstr "データ(ファイルなど)が存在しない場合" #. type: textblock -#: ../src/guestfs.pod:1270 +#: ../src/guestfs.pod:1253 msgid "being present but empty" msgstr "存在するが空の場合" #. type: textblock -#: ../src/guestfs.pod:1274 +#: ../src/guestfs.pod:1257 msgid "being much larger than normal" msgstr "通常よりもかなり大きい場合" #. type: textblock -#: ../src/guestfs.pod:1278 +#: ../src/guestfs.pod:1261 msgid "containing arbitrary 8 bit data" msgstr "任意の 8 ビットのデータを含む場合" #. type: textblock -#: ../src/guestfs.pod:1282 +#: ../src/guestfs.pod:1265 msgid "being in an unexpected character encoding" msgstr "予期しない文字エンコードを使用している場合" #. type: textblock -#: ../src/guestfs.pod:1286 +#: ../src/guestfs.pod:1269 msgid "containing homoglyphs." msgstr "同型異義語を含む場合" #. type: =head2 -#: ../src/guestfs.pod:1290 +#: ../src/guestfs.pod:1273 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1292 +#: ../src/guestfs.pod:1275 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -47383,7 +48499,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1305 +#: ../src/guestfs.pod:1288 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 " @@ -47397,19 +48513,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1299 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:1319 +#: ../src/guestfs.pod:1302 msgid "PROTOCOL SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1321 +#: ../src/guestfs.pod:1304 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 " @@ -47419,12 +48535,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1327 +#: ../src/guestfs.pod:1310 msgid "INSPECTION SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1329 +#: ../src/guestfs.pod:1312 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 " @@ -47433,7 +48549,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1335 +#: ../src/guestfs.pod:1318 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -47444,7 +48560,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1343 +#: ../src/guestfs.pod:1326 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -47454,12 +48570,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1349 +#: ../src/guestfs.pod:1332 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1334 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 " @@ -47469,17 +48585,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1357 +#: ../src/guestfs.pod:1340 msgid "CVE-2010-3851" msgstr "CVE-2010-3851" #. type: textblock -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1342 msgid "https://bugzilla.redhat.com/642934" msgstr "https://bugzilla.redhat.com/642934" #. type: textblock -#: ../src/guestfs.pod:1361 +#: ../src/guestfs.pod:1344 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." @@ -47488,7 +48604,7 @@ msgstr "" "フォーマット検出に関するものです。" #. type: textblock -#: ../src/guestfs.pod:1364 +#: ../src/guestfs.pod:1347 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 " @@ -47497,7 +48613,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1369 +#: ../src/guestfs.pod:1352 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 " @@ -47506,7 +48622,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1374 +#: ../src/guestfs.pod:1357 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 " @@ -47518,27 +48634,27 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1365 msgid "" "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1389 +#: ../src/guestfs.pod:1372 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" "ネットワークを有効化しているか、もしくは書き込みモードでディスクを開いていま" "す。" #. type: textblock -#: ../src/guestfs.pod:1393 +#: ../src/guestfs.pod:1376 msgid "" "You are also running untrusted code from the guest (see L</RUNNING " "COMMANDS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1398 +#: ../src/guestfs.pod:1381 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 " @@ -47547,31 +48663,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1403 +#: ../src/guestfs.pod:1386 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:1406 +#: ../src/guestfs.pod:1389 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1409 +#: ../src/guestfs.pod:1392 msgid "CONNECTION MANAGEMENT" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1411 +#: ../src/guestfs.pod:1394 msgid "guestfs_h *" msgstr "guestfs_h *" #. type: textblock -#: ../src/guestfs.pod:1413 +#: ../src/guestfs.pod:1396 msgid "" "C<guestfs_h> is the opaque type representing a connection handle. Create a " "handle by calling L</guestfs_create>. Call L</guestfs_close> to free the " @@ -47579,19 +48695,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1417 +#: ../src/guestfs.pod:1400 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:1420 +#: ../src/guestfs.pod:1403 msgid "guestfs_create" msgstr "guestfs_create" #. type: verbatim -#: ../src/guestfs.pod:1422 +#: ../src/guestfs.pod:1405 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -47601,19 +48717,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1424 +#: ../src/guestfs.pod:1407 msgid "Create a connection handle." msgstr "接続ハンドルを作成します。" #. type: textblock -#: ../src/guestfs.pod:1426 +#: ../src/guestfs.pod:1409 msgid "" "On success this returns a non-NULL pointer to a handle. On error it returns " "NULL." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1429 +#: ../src/guestfs.pod:1412 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 " @@ -47621,24 +48737,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1433 +#: ../src/guestfs.pod:1416 msgid "After configuring the handle, you have to call L</guestfs_launch>." msgstr "ハンドルを設定後、 L</guestfs_launch> を呼び出す必要があります。" #. type: textblock -#: ../src/guestfs.pod:1435 +#: ../src/guestfs.pod:1418 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:1438 +#: ../src/guestfs.pod:1421 msgid "guestfs_close" msgstr "guestfs_close" #. type: verbatim -#: ../src/guestfs.pod:1440 +#: ../src/guestfs.pod:1423 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -47648,12 +48764,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1442 +#: ../src/guestfs.pod:1425 msgid "This closes the connection handle and frees up all resources used." msgstr "これにより、接続ハンドルを閉じ、すべての使用資源を解放します。" #. type: textblock -#: ../src/guestfs.pod:1444 +#: ../src/guestfs.pod:1427 msgid "" "If autosync was set on the handle and the handle was launched, then this " "implicitly calls various functions to unmount filesystems and sync the " @@ -47661,17 +48777,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1448 +#: ../src/guestfs.pod:1431 msgid "If a close callback was set on the handle, then it is called." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1450 +#: ../src/guestfs.pod:1433 msgid "ERROR HANDLING" msgstr "エラー処理" #. type: textblock -#: ../src/guestfs.pod:1452 +#: ../src/guestfs.pod:1435 msgid "" "API functions can return errors. For example, almost all functions that " "return C<int> will return C<-1> to indicate an error." @@ -47680,7 +48796,7 @@ msgstr "" "ラーを意味するために C<-1> を返します。" #. type: textblock -#: ../src/guestfs.pod:1455 +#: ../src/guestfs.pod:1438 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 " @@ -47690,7 +48806,7 @@ msgstr "" "エラーメッセージ文字列およびオプションのエラー番号(errno)です。" #. type: textblock -#: ../src/guestfs.pod:1459 +#: ../src/guestfs.pod:1442 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 " @@ -47698,7 +48814,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1464 +#: ../src/guestfs.pod:1447 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 " @@ -47706,7 +48822,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1468 +#: ../src/guestfs.pod:1451 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -47718,21 +48834,21 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1471 +#: ../src/guestfs.pod:1454 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:1474 +#: ../src/guestfs.pod:1457 msgid "" "For other programs the caller will almost certainly want to install an " "alternate error handler or do error handling in-line like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1477 +#: ../src/guestfs.pod:1460 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -47746,7 +48862,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1481 +#: ../src/guestfs.pod:1464 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -47774,7 +48890,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1492 +#: ../src/guestfs.pod:1475 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</" @@ -47782,7 +48898,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1496 +#: ../src/guestfs.pod:1479 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 " @@ -47792,12 +48908,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1502 +#: ../src/guestfs.pod:1485 msgid "guestfs_last_error" msgstr "guestfs_last_error" #. type: verbatim -#: ../src/guestfs.pod:1504 +#: ../src/guestfs.pod:1487 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -47807,14 +48923,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1506 +#: ../src/guestfs.pod:1489 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:1510 +#: ../src/guestfs.pod:1493 msgid "" "The lifetime of the returned string is until the next error occurs, or L</" "guestfs_close> is called." @@ -47823,12 +48939,12 @@ msgstr "" "guestfs_close> が呼び出されるまでです。" #. type: =head2 -#: ../src/guestfs.pod:1513 +#: ../src/guestfs.pod:1496 msgid "guestfs_last_errno" msgstr "guestfs_last_errno" #. type: verbatim -#: ../src/guestfs.pod:1515 +#: ../src/guestfs.pod:1498 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -47838,17 +48954,17 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1517 +#: ../src/guestfs.pod:1500 msgid "This returns the last error number (errno) that happened on C<g>." msgstr "これは C<g> において発生した最後のエラー番号(errno)を返します。" #. type: textblock -#: ../src/guestfs.pod:1519 +#: ../src/guestfs.pod:1502 msgid "If successful, an errno integer not equal to zero is returned." msgstr "もし成功すると、0 以外のエラー番号の整数が返されます。" #. type: textblock -#: ../src/guestfs.pod:1521 +#: ../src/guestfs.pod:1504 msgid "" "If no error, this returns 0. This call can return 0 in three situations:" msgstr "" @@ -47856,12 +48972,12 @@ msgstr "" "0 を返す可能性があります:" #. type: textblock -#: ../src/guestfs.pod:1528 +#: ../src/guestfs.pod:1511 msgid "There has not been any error on the handle." msgstr "ハンドルにおいて何もエラーがありませんでした。" #. type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1515 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 " @@ -47871,7 +48987,7 @@ msgstr "" "コールの失敗により発生しましたが、何か他の理由による場合に対応します。" #. type: textblock -#: ../src/guestfs.pod:1538 +#: ../src/guestfs.pod:1521 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." @@ -47880,7 +48996,7 @@ msgstr "" "より捕捉されず返されました。これは通常 libguestfs のバグを意味します。" #. type: textblock -#: ../src/guestfs.pod:1544 +#: ../src/guestfs.pod:1527 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -47891,12 +49007,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1552 +#: ../src/guestfs.pod:1535 msgid "guestfs_set_error_handler" msgstr "guestfs_set_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1554 +#: ../src/guestfs.pod:1537 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -47916,7 +49032,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1561 +#: ../src/guestfs.pod:1544 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 " @@ -47924,14 +49040,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1565 +#: ../src/guestfs.pod:1548 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:1568 +#: ../src/guestfs.pod:1551 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 " @@ -47939,22 +49055,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1572 +#: ../src/guestfs.pod:1555 msgid "The default handler prints messages on C<stderr>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1574 +#: ../src/guestfs.pod:1557 msgid "If you set C<cb> to C<NULL> then I<no> handler is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1576 +#: ../src/guestfs.pod:1559 msgid "guestfs_get_error_handler" msgstr "guestfs_get_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1578 +#: ../src/guestfs.pod:1561 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -47966,17 +49082,17 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1581 +#: ../src/guestfs.pod:1564 msgid "Returns the current error handler callback." msgstr "現在のエラーハンドラのコールバックを返します。" #. type: =head2 -#: ../src/guestfs.pod:1583 +#: ../src/guestfs.pod:1566 msgid "guestfs_set_out_of_memory_handler" msgstr "guestfs_set_out_of_memory_handler" #. type: verbatim -#: ../src/guestfs.pod:1585 +#: ../src/guestfs.pod:1568 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -47990,31 +49106,31 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1589 +#: ../src/guestfs.pod:1572 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:1592 +#: ../src/guestfs.pod:1575 msgid "The default is to call L<abort(3)>." msgstr "デフォルトでは L<abort(3)> を呼び出します。" #. type: textblock -#: ../src/guestfs.pod:1594 +#: ../src/guestfs.pod:1577 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:1597 +#: ../src/guestfs.pod:1580 msgid "guestfs_get_out_of_memory_handler" msgstr "guestfs_get_out_of_memory_handler" #. type: verbatim -#: ../src/guestfs.pod:1599 +#: ../src/guestfs.pod:1582 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -48024,37 +49140,37 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1601 +#: ../src/guestfs.pod:1584 msgid "This returns the current out of memory handler." msgstr "アウトオブメモリーハンドラーを返します。" #. type: =head1 -#: ../src/guestfs.pod:1603 +#: ../src/guestfs.pod:1586 msgid "API CALLS" msgstr "API 呼び出し" #. type: =head1 -#: ../src/guestfs.pod:1607 +#: ../src/guestfs.pod:1590 msgid "STRUCTURES" msgstr "構造" #. type: textblock -#: ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1592 msgid "@STRUCTS@" msgstr "@STRUCTS@" #. type: =head1 -#: ../src/guestfs.pod:1611 +#: ../src/guestfs.pod:1594 msgid "AVAILABILITY" msgstr "可用性" #. type: =head2 -#: ../src/guestfs.pod:1613 +#: ../src/guestfs.pod:1596 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "アプライアンスの機能のグループ" #. type: textblock -#: ../src/guestfs.pod:1615 +#: ../src/guestfs.pod:1598 msgid "" "Using L</guestfs_available> you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -48064,17 +49180,17 @@ msgstr "" "してください。" #. type: textblock -#: ../src/guestfs.pod:1620 +#: ../src/guestfs.pod:1603 msgid "@AVAILABILITY@" msgstr "@AVAILABILITY@" #. type: =head2 -#: ../src/guestfs.pod:1622 +#: ../src/guestfs.pod:1605 msgid "GUESTFISH supported COMMAND" msgstr "guestfish がサポートするコマンド" #. type: textblock -#: ../src/guestfs.pod:1624 +#: ../src/guestfs.pod:1607 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 " @@ -48082,12 +49198,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1629 +#: ../src/guestfs.pod:1612 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1631 +#: ../src/guestfs.pod:1614 msgid "" "Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API " "function, such as:" @@ -48096,7 +49212,7 @@ msgstr "" "数があります。次のようなものがあります:" #. type: verbatim -#: ../src/guestfs.pod:1634 +#: ../src/guestfs.pod:1617 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -48106,12 +49222,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1636 +#: ../src/guestfs.pod:1619 msgid "if L</guestfs_dd> is available." msgstr "L</guestfs_dd> が利用可能な場合。" #. type: textblock -#: ../src/guestfs.pod:1638 +#: ../src/guestfs.pod:1621 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 " @@ -48119,7 +49235,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1643 +#: ../src/guestfs.pod:1626 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -48131,19 +49247,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1646 +#: ../src/guestfs.pod:1629 msgid "" "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined " "in your program." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1649 +#: ../src/guestfs.pod:1632 msgid "SINGLE CALLS AT RUN TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1651 +#: ../src/guestfs.pod:1634 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 " @@ -48155,7 +49271,7 @@ msgstr "" "してください。" #. type: textblock -#: ../src/guestfs.pod:1658 +#: ../src/guestfs.pod:1641 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 " @@ -48165,7 +49281,7 @@ msgstr "" "ください。" #. type: verbatim -#: ../src/guestfs.pod:1662 +#: ../src/guestfs.pod:1645 #, no-wrap msgid "" " #include <stdio.h>\n" @@ -48183,7 +49299,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1651 #, no-wrap msgid "" " main ()\n" @@ -48201,7 +49317,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1674 +#: ../src/guestfs.pod:1657 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -48225,7 +49341,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1683 +#: ../src/guestfs.pod:1666 #, no-wrap msgid "" " if (!has_function)\n" @@ -48257,7 +49373,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1696 +#: ../src/guestfs.pod:1679 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 " @@ -48265,7 +49381,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1701 +#: ../src/guestfs.pod:1684 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -48275,12 +49391,12 @@ msgstr "" "\n" #. type: =head1 -#: ../src/guestfs.pod:1703 +#: ../src/guestfs.pod:1686 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1705 +#: ../src/guestfs.pod:1688 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 " @@ -48288,7 +49404,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1710 +#: ../src/guestfs.pod:1693 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -48298,14 +49414,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1712 +#: ../src/guestfs.pod:1695 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:1715 +#: ../src/guestfs.pod:1698 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -48315,12 +49431,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1717 +#: ../src/guestfs.pod:1700 msgid "With a single optional argument:" msgstr "単一の引数の場合:" #. type: verbatim -#: ../src/guestfs.pod:1719 +#: ../src/guestfs.pod:1702 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -48334,12 +49450,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1723 +#: ../src/guestfs.pod:1706 msgid "With two:" msgstr "2つの引数の場合:" #. type: verbatim -#: ../src/guestfs.pod:1725 +#: ../src/guestfs.pod:1708 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -48355,19 +49471,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1730 +#: ../src/guestfs.pod:1713 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1733 +#: ../src/guestfs.pod:1716 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1735 +#: ../src/guestfs.pod:1718 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 " @@ -48377,7 +49493,7 @@ msgstr "" "guestfs_add_drive_opts> を使用してください。" #. type: verbatim -#: ../src/guestfs.pod:1739 +#: ../src/guestfs.pod:1722 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -48389,12 +49505,12 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:1742 +#: ../src/guestfs.pod:1725 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1744 +#: ../src/guestfs.pod:1727 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 " @@ -48404,7 +49520,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1750 +#: ../src/guestfs.pod:1733 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -48428,12 +49544,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1759 +#: ../src/guestfs.pod:1742 msgid "You could call it like this:" msgstr "次のように呼び出すことができます。" #. type: verbatim -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1744 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -48453,7 +49569,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1768 +#: ../src/guestfs.pod:1751 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -48463,29 +49579,29 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1776 +#: ../src/guestfs.pod:1759 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1781 +#: ../src/guestfs.pod:1764 msgid "You do not need to fill in all fields of the structure." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1768 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:1790 +#: ../src/guestfs.pod:1773 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1792 +#: ../src/guestfs.pod:1775 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -48493,17 +49609,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1796 +#: ../src/guestfs.pod:1779 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>." msgstr "guestfish は L<guestfish(1)/OPTIONAL ARGUMENTS> を参照してください。" #. type: =head2 -#: ../src/guestfs.pod:1798 +#: ../src/guestfs.pod:1781 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1800 +#: ../src/guestfs.pod:1783 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 " @@ -48515,7 +49631,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1809 +#: ../src/guestfs.pod:1792 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -48527,7 +49643,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1817 +#: ../src/guestfs.pod:1800 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 " @@ -48536,31 +49652,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1822 +#: ../src/guestfs.pod:1805 msgid "" "Events may contain a payload, usually nothing (void), an array of 64 bit " "unsigned integers, or a message buffer. Payloads are discussed later on." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1826 +#: ../src/guestfs.pod:1809 msgid "CLASSES OF EVENTS" msgstr "イベントのクラス" #. type: =item -#: ../src/guestfs.pod:1830 +#: ../src/guestfs.pod:1813 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "GUESTFS_EVENT_CLOSE (ペイロード形式: void)" #. type: textblock -#: ../src/guestfs.pod:1833 +#: ../src/guestfs.pod:1816 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L</guestfs_close>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1836 +#: ../src/guestfs.pod:1819 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 " @@ -48573,19 +49689,19 @@ msgstr "" "guestfs_fallocate64> を使用してください。" #. type: textblock -#: ../src/guestfs.pod:1843 +#: ../src/guestfs.pod:1826 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:1846 +#: ../src/guestfs.pod:1829 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "GUESTFS_EVENT_SUBPROCESS_QUIT (ペイロード形式: void)" #. type: textblock -#: ../src/guestfs.pod:1849 +#: ../src/guestfs.pod:1832 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L</guestfs_kill_subprocess>. (This " @@ -48593,17 +49709,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1853 ../src/guestfs.pod:1862 ../src/guestfs.pod:1979 +#: ../src/guestfs.pod:1836 ../src/guestfs.pod:1845 ../src/guestfs.pod:1962 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:1855 +#: ../src/guestfs.pod:1838 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "GUESTFS_EVENT_LAUNCH_DONE (ペイロード形式: void)" #. type: textblock -#: ../src/guestfs.pod:1858 +#: ../src/guestfs.pod:1841 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 " @@ -48611,12 +49727,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1864 +#: ../src/guestfs.pod:1847 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:1867 +#: ../src/guestfs.pod:1850 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -48626,14 +49742,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1873 +#: ../src/guestfs.pod:1856 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:1876 +#: ../src/guestfs.pod:1859 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 " @@ -48641,24 +49757,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1881 +#: ../src/guestfs.pod:1864 msgid "The only defined and stable parts of the API are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1887 +#: ../src/guestfs.pod:1870 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:1892 +#: ../src/guestfs.pod:1875 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:1896 +#: ../src/guestfs.pod:1879 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 " @@ -48666,7 +49782,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1900 +#: ../src/guestfs.pod:1883 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 " @@ -48674,7 +49790,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1906 +#: ../src/guestfs.pod:1889 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 " @@ -48683,7 +49799,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1911 +#: ../src/guestfs.pod:1894 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 " @@ -48691,14 +49807,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1915 +#: ../src/guestfs.pod:1898 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:1920 +#: ../src/guestfs.pod:1903 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 " @@ -48707,31 +49823,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:1909 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:1928 +#: ../src/guestfs.pod:1911 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "GUESTFS_EVENT_APPLIANCE (ペイロード形式: メッセージバッファー)" #. type: textblock -#: ../src/guestfs.pod:1931 +#: ../src/guestfs.pod:1914 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:1934 +#: ../src/guestfs.pod:1917 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:1937 ../src/guestfs.pod:1951 +#: ../src/guestfs.pod:1920 ../src/guestfs.pod:1934 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 " @@ -48739,63 +49855,63 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1942 +#: ../src/guestfs.pod:1925 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1945 +#: ../src/guestfs.pod:1928 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1948 +#: ../src/guestfs.pod:1931 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:1956 +#: ../src/guestfs.pod:1939 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "GUESTFS_EVENT_TRACE (ペイロード形式: メッセージバッファー)" #. type: textblock -#: ../src/guestfs.pod:1959 +#: ../src/guestfs.pod:1942 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:1962 +#: ../src/guestfs.pod:1945 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:1966 +#: ../src/guestfs.pod:1949 msgid "GUESTFS_EVENT_ENTER (payload type: function name)" msgstr "GUESTFS_EVENT_ENTER (payload type: function name)" #. type: textblock -#: ../src/guestfs.pod:1969 +#: ../src/guestfs.pod:1952 msgid "" "The callback function is called whenever a libguestfs function is entered." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1972 +#: ../src/guestfs.pod:1955 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:1975 +#: ../src/guestfs.pod:1958 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 " @@ -48803,12 +49919,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1983 +#: ../src/guestfs.pod:1966 msgid "guestfs_set_event_callback" msgstr "guestfs_set_event_callback" #. type: verbatim -#: ../src/guestfs.pod:1985 +#: ../src/guestfs.pod:1968 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -48826,14 +49942,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1991 +#: ../src/guestfs.pod:1974 msgid "" "This function registers a callback (C<cb>) for all event classes in the " "C<event_bitmask>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1994 +#: ../src/guestfs.pod:1977 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>. " @@ -48842,40 +49958,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2000 +#: ../src/guestfs.pod:1983 msgid "C<flags> should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2002 +#: ../src/guestfs.pod:1985 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:2005 +#: ../src/guestfs.pod:1988 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:2008 +#: ../src/guestfs.pod:1991 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:2011 +#: ../src/guestfs.pod:1994 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2014 +#: ../src/guestfs.pod:1997 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 " @@ -48883,12 +49999,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2018 +#: ../src/guestfs.pod:2001 msgid "guestfs_delete_event_callback" msgstr "guestfs_delete_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2020 +#: ../src/guestfs.pod:2003 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -48898,7 +50014,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2022 +#: ../src/guestfs.pod:2005 msgid "" "Delete a callback that was previously registered. C<event_handle> should be " "the integer that was returned by a previous call to " @@ -48906,12 +50022,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2026 +#: ../src/guestfs.pod:2009 msgid "guestfs_event_callback" msgstr "guestfs_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2028 +#: ../src/guestfs.pod:2011 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -48935,13 +50051,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2037 +#: ../src/guestfs.pod:2020 msgid "" "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2040 +#: ../src/guestfs.pod:2023 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 " @@ -48949,7 +50065,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2044 +#: ../src/guestfs.pod:2027 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 " @@ -48958,7 +50074,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2049 +#: ../src/guestfs.pod:2032 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 " @@ -48966,19 +50082,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2053 +#: ../src/guestfs.pod:2036 msgid "" "C<array> and C<array_len> is an array of 64 bit unsigned integers. At the " "moment this is only used for progress messages." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2056 +#: ../src/guestfs.pod:2039 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2058 +#: ../src/guestfs.pod:2041 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 " @@ -48986,7 +50102,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2062 +#: ../src/guestfs.pod:2045 msgid "" "Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, " "C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error " @@ -48994,14 +50110,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2067 +#: ../src/guestfs.pod:2050 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2070 +#: ../src/guestfs.pod:2053 #, no-wrap msgid "" " int eh =\n" @@ -49027,14 +50143,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2080 +#: ../src/guestfs.pod:2063 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:2083 +#: ../src/guestfs.pod:2066 #, no-wrap msgid "" " static void\n" @@ -49070,12 +50186,12 @@ msgstr "" "\n" #. type: =head1 -#: ../src/guestfs.pod:2098 +#: ../src/guestfs.pod:2081 msgid "CANCELLING LONG TRANSFERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2100 +#: ../src/guestfs.pod:2083 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 " @@ -49084,12 +50200,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2105 +#: ../src/guestfs.pod:2088 msgid "guestfs_user_cancel" msgstr "guestfs_user_cancel" #. type: verbatim -#: ../src/guestfs.pod:2107 +#: ../src/guestfs.pod:2090 #, no-wrap msgid "" " void guestfs_user_cancel (guestfs_h *g);\n" @@ -49099,13 +50215,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2109 +#: ../src/guestfs.pod:2092 msgid "" "C<guestfs_user_cancel> cancels the current upload or download operation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2112 +#: ../src/guestfs.pod:2095 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 " @@ -49113,7 +50229,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2116 +#: ../src/guestfs.pod:2099 msgid "" "The transfer that was in progress (if there is one) will stop shortly " "afterwards, and will return an error. The errno (see L</" @@ -49122,7 +50238,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2122 +#: ../src/guestfs.pod:2105 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 " @@ -49130,12 +50246,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2126 +#: ../src/guestfs.pod:2109 msgid "There are two common places that you might call C<guestfs_user_cancel>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2128 +#: ../src/guestfs.pod:2111 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 " @@ -49144,19 +50260,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2133 +#: ../src/guestfs.pod:2116 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:2137 +#: ../src/guestfs.pod:2120 msgid "PRIVATE DATA AREA" msgstr "プライベートデータ領域" #. type: textblock -#: ../src/guestfs.pod:2139 +#: ../src/guestfs.pod:2122 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 " @@ -49164,12 +50280,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2144 +#: ../src/guestfs.pod:2127 msgid "To attach a named piece of data, use the following call:" msgstr "データの名前付き部分を接続するには、以下の呼び出しを使用します:" #. type: verbatim -#: ../src/guestfs.pod:2146 +#: ../src/guestfs.pod:2129 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -49179,7 +50295,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2148 +#: ../src/guestfs.pod:2131 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 " @@ -49187,7 +50303,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2152 +#: ../src/guestfs.pod:2135 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 " @@ -49197,12 +50313,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2158 +#: ../src/guestfs.pod:2141 msgid "To retrieve the pointer, use:" msgstr "ポインターを取り出すには、次を使用します:" #. type: verbatim -#: ../src/guestfs.pod:2160 +#: ../src/guestfs.pod:2143 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -49212,7 +50328,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2162 +#: ../src/guestfs.pod:2145 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 " @@ -49222,7 +50338,7 @@ msgstr "" "guestfs_vfs_label> を使用してください。" #. type: textblock -#: ../src/guestfs.pod:2166 +#: ../src/guestfs.pod:2149 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 " @@ -49233,12 +50349,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2173 +#: ../src/guestfs.pod:2156 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2175 +#: ../src/guestfs.pod:2158 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -49248,7 +50364,7 @@ msgstr "" "\n" #. type: verbatim -#: ../src/guestfs.pod:2177 +#: ../src/guestfs.pod:2160 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -49258,7 +50374,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2179 +#: ../src/guestfs.pod:2162 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 " @@ -49268,7 +50384,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2185 +#: ../src/guestfs.pod:2168 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 " @@ -49276,18 +50392,18 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2189 +#: ../src/guestfs.pod:2172 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2195 +#: ../src/guestfs.pod:2178 msgid "" "You must not call C<guestfs_set_private> while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2200 +#: ../src/guestfs.pod:2183 msgid "" "The handle maintains an internal iterator which is reset when you call " "C<guestfs_first_private>. This internal iterator is invalidated when you " @@ -49295,12 +50411,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2206 +#: ../src/guestfs.pod:2189 msgid "If you have set the data pointer associated with a key to C<NULL>, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2208 +#: ../src/guestfs.pod:2191 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -49310,26 +50426,26 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2210 +#: ../src/guestfs.pod:2193 msgid "then that C<key> is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2214 +#: ../src/guestfs.pod:2197 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:2220 +#: ../src/guestfs.pod:2203 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:2223 +#: ../src/guestfs.pod:2206 #, no-wrap msgid "" " const char *key;\n" @@ -49351,14 +50467,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2231 +#: ../src/guestfs.pod:2214 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:2234 +#: ../src/guestfs.pod:2217 #, no-wrap msgid "" " const char *key;\n" @@ -49382,7 +50498,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2226 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 " @@ -49390,7 +50506,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2247 +#: ../src/guestfs.pod:2230 #, no-wrap msgid "" " const char *key;\n" @@ -49428,7 +50544,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2263 +#: ../src/guestfs.pod:2246 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 " @@ -49437,12 +50553,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2268 +#: ../src/guestfs.pod:2251 msgid "SYSTEMTAP" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2270 +#: ../src/guestfs.pod:2253 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 " @@ -49450,12 +50566,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2274 +#: ../src/guestfs.pod:2257 msgid "You can list all the static markers by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2276 +#: ../src/guestfs.pod:2259 #, no-wrap msgid "" " stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n" @@ -49467,26 +50583,26 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2279 +#: ../src/guestfs.pod:2262 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:2282 +#: ../src/guestfs.pod:2265 msgid "SYSTEMTAP SCRIPT EXAMPLE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2284 +#: ../src/guestfs.pod:2267 msgid "" "This script contains examples of displaying both the static markers and some " "ordinary C entry points:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2311 +#: ../src/guestfs.pod:2294 #, no-wrap msgid "" " /* Display all calls to guestfs_mkfs* functions. */\n" @@ -49506,7 +50622,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2318 +#: ../src/guestfs.pod:2301 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 " @@ -49515,7 +50631,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2323 +#: ../src/guestfs.pod:2306 #, no-wrap msgid "" " # stap /tmp/test.stap\n" @@ -49527,17 +50643,17 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2326 +#: ../src/guestfs.pod:2309 msgid "In another terminal, run a guestfish command such as this:" msgstr "他の端末において、このように guestfish コマンドを実行します:" #. type: textblock -#: ../src/guestfs.pod:2330 +#: ../src/guestfs.pod:2313 msgid "In the first terminal, stap trace output similar to this is shown:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2332 +#: ../src/guestfs.pod:2315 #, no-wrap msgid "" " 1318248056692655 (+0):\tlaunch_start\n" @@ -49556,13 +50672,8 @@ msgstr "" " 1318248061280324 (+209157): guestfs_mkfs g=0x1024ab0 fstype=0x46116f device=0x1024e60\n" "\n" -#. type: =end -#: ../src/guestfs.pod:2339 ../src/guestfs.pod:2344 -msgid "html" -msgstr "HTML" - #. type: textblock -#: ../src/guestfs.pod:2341 +#: ../src/guestfs.pod:2324 msgid "" "<!-- old anchor for the next section --> <a name=" "\"state_machine_and_low_level_event_api\"/>" @@ -49571,12 +50682,12 @@ msgstr "" "\"state_machine_and_low_level_event_api\"/>" #. type: =head1 -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2329 msgid "ARCHITECTURE" msgstr "アーキテクチャー" #. type: textblock -#: ../src/guestfs.pod:2348 +#: ../src/guestfs.pod:2331 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 " @@ -49587,7 +50698,7 @@ msgstr "" "ロセスとして実行します。" #. type: verbatim -#: ../src/guestfs.pod:2352 +#: ../src/guestfs.pod:2335 #, no-wrap msgid "" " ___________________\n" @@ -49633,14 +50744,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2372 +#: ../src/guestfs.pod:2355 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:2375 +#: ../src/guestfs.pod:2358 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 " @@ -49652,7 +50763,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2384 +#: ../src/guestfs.pod:2367 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 " @@ -49663,17 +50774,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2391 +#: ../src/guestfs.pod:2374 msgid "STATE MACHINE" msgstr "状態マシン" #. type: textblock -#: ../src/guestfs.pod:2393 +#: ../src/guestfs.pod:2376 msgid "libguestfs uses a state machine to model the child process:" msgstr "libguestfs は子プロセスをモデル化するために状態マシンを使用します:" #. type: verbatim -#: ../src/guestfs.pod:2395 +#: ../src/guestfs.pod:2378 #, fuzzy, no-wrap #| msgid "" #| " |\n" @@ -49746,7 +50857,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2417 +#: ../src/guestfs.pod:2400 #, fuzzy #| msgid "" #| "The normal transitions are (1) CONFIG (when the handle is created, but " @@ -49765,7 +50876,7 @@ msgstr "" "(READY) とビジー (BUSY) の間の変更。" #. type: textblock -#: ../src/guestfs.pod:2422 +#: ../src/guestfs.pod:2405 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 " @@ -49776,7 +50887,7 @@ msgstr "" "ため)、状態を設定 (CONFIG) に切り戻します。" #. type: textblock -#: ../src/guestfs.pod:2426 +#: ../src/guestfs.pod:2409 msgid "" "Configuration commands for qemu such as L</guestfs_add_drive> can only be " "issued when in the CONFIG state." @@ -49785,7 +50896,7 @@ msgstr "" "態にあるときのみ発行できます。" #. type: textblock -#: ../src/guestfs.pod:2429 +#: ../src/guestfs.pod:2412 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 " @@ -49794,7 +50905,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2435 +#: ../src/guestfs.pod:2418 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. " @@ -49803,7 +50914,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2440 +#: ../src/guestfs.pod:2423 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -49811,17 +50922,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2444 +#: ../src/guestfs.pod:2427 msgid "INTERNALS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2446 +#: ../src/guestfs.pod:2429 msgid "APPLIANCE BOOT PROCESS" msgstr "アプライアンスの起動プロセス" #. type: textblock -#: ../src/guestfs.pod:2448 +#: ../src/guestfs.pod:2431 msgid "" "This process has evolved and continues to evolve. The description here " "corresponds only to the current version of libguestfs and is provided for " @@ -49831,7 +50942,7 @@ msgstr "" "バージョンの libguestfs にのみ対応していて、参考情報としてのみ提供されます。" #. type: textblock -#: ../src/guestfs.pod:2452 +#: ../src/guestfs.pod:2435 msgid "" "In order to follow the stages involved below, enable libguestfs debugging " "(set the environment variable C<LIBGUESTFS_DEBUG=1>)." @@ -49840,12 +50951,12 @@ msgstr "" "C<LIBGUESTFS_DEBUG=1> を設定します)。" #. type: =item -#: ../src/guestfs.pod:2457 +#: ../src/guestfs.pod:2440 msgid "Create the appliance" msgstr "アプライアンスを作成します" #. type: textblock -#: ../src/guestfs.pod:2459 +#: ../src/guestfs.pod:2442 msgid "" "C<febootstrap-supermin-helper> is invoked to create the kernel, a small " "initrd and the appliance." @@ -49854,7 +50965,7 @@ msgstr "" "を作成するために呼び出されます。" #. type: textblock -#: ../src/guestfs.pod:2462 +#: ../src/guestfs.pod:2445 msgid "" "The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another " "directory if C<TMPDIR> is set)." @@ -49863,7 +50974,7 @@ msgstr "" "たは C<TMPDIR> を設定していると他の場所です)。" #. type: textblock -#: ../src/guestfs.pod:2465 +#: ../src/guestfs.pod:2448 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." @@ -49873,22 +50984,22 @@ msgstr "" "参照してください。" #. type: =item -#: ../src/guestfs.pod:2469 +#: ../src/guestfs.pod:2452 msgid "Start qemu and boot the kernel" msgstr "QEMU を開始してカーネルを起動します" #. type: textblock -#: ../src/guestfs.pod:2471 +#: ../src/guestfs.pod:2454 msgid "qemu is invoked to boot the kernel." msgstr "カーネルを起動するために QEMU が呼び出されます。" #. type: =item -#: ../src/guestfs.pod:2473 +#: ../src/guestfs.pod:2456 msgid "Run the initrd" msgstr "initrd を実行します" #. type: textblock -#: ../src/guestfs.pod:2475 +#: ../src/guestfs.pod:2458 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 " @@ -49899,7 +51010,7 @@ msgstr "" "始できるために、十分なカーネルモジュールを読み込むことです。" #. type: textblock -#: ../src/guestfs.pod:2479 +#: ../src/guestfs.pod:2462 msgid "" "The initrd is a cpio archive called C</var/tmp/.guestfs-E<lt>UIDE<gt>/" "initrd>." @@ -49908,7 +51019,7 @@ msgstr "" "す。" #. type: textblock -#: ../src/guestfs.pod:2482 +#: ../src/guestfs.pod:2465 msgid "" "When the initrd has started you will see messages showing that kernel " "modules are being loaded, similar to this:" @@ -49917,7 +51028,7 @@ msgstr "" "メッセージが表示されます:" #. type: verbatim -#: ../src/guestfs.pod:2485 +#: ../src/guestfs.pod:2468 #, no-wrap msgid "" " febootstrap: ext2 mini initrd starting up\n" @@ -49933,12 +51044,12 @@ msgstr "" "\n" #. type: =item -#: ../src/guestfs.pod:2490 +#: ../src/guestfs.pod:2473 msgid "Find and mount the appliance device" msgstr "アプライアンスデバイスを検索およびマウントします" #. type: textblock -#: ../src/guestfs.pod:2492 +#: ../src/guestfs.pod:2475 msgid "" "The appliance is a sparse file containing an ext2 filesystem which contains " "a familiar (although reduced in size) Linux operating system. It would " @@ -49946,33 +51057,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2496 +#: ../src/guestfs.pod:2479 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:2499 +#: ../src/guestfs.pod:2482 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:2502 +#: ../src/guestfs.pod:2485 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:2506 +#: ../src/guestfs.pod:2489 msgid "If this works successfully you will see messages such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2508 +#: ../src/guestfs.pod:2491 #, no-wrap msgid "" " febootstrap: picked /sys/block/vdb/dev as root device\n" @@ -49990,19 +51101,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2514 +#: ../src/guestfs.pod:2497 msgid "" "Note that C<Starting /init script ...> indicates that the appliance's init " "script is now running." msgstr "" #. type: =item -#: ../src/guestfs.pod:2517 +#: ../src/guestfs.pod:2500 msgid "Initialize the appliance" msgstr "アプライアンスを初期化します" #. type: textblock -#: ../src/guestfs.pod:2519 +#: ../src/guestfs.pod:2502 msgid "" "The appliance itself now initializes itself. This involves starting certain " "processes like C<udev>, possibly printing some debug information, and " @@ -50010,19 +51121,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2523 +#: ../src/guestfs.pod:2506 msgid "The daemon" msgstr "デーモン" #. type: textblock -#: ../src/guestfs.pod:2525 +#: ../src/guestfs.pod:2508 msgid "" "Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you " "should see:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2528 +#: ../src/guestfs.pod:2511 #, no-wrap msgid "" " verbose daemon enabled\n" @@ -50032,14 +51143,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2530 +#: ../src/guestfs.pod:2513 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:2533 +#: ../src/guestfs.pod:2516 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 " @@ -50047,19 +51158,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2539 +#: ../src/guestfs.pod:2522 msgid "COMMUNICATION PROTOCOL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2541 +#: ../src/guestfs.pod:2524 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:2544 +#: ../src/guestfs.pod:2527 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 " @@ -50067,14 +51178,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2548 +#: ../src/guestfs.pod:2531 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:2551 +#: ../src/guestfs.pod:2534 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 " @@ -50084,17 +51195,17 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2558 +#: ../src/guestfs.pod:2541 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2560 +#: ../src/guestfs.pod:2543 msgid "For ordinary functions, the request message is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2562 +#: ../src/guestfs.pod:2545 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -50105,7 +51216,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2567 +#: ../src/guestfs.pod:2550 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 " @@ -50114,21 +51225,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2573 +#: ../src/guestfs.pod:2556 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:2576 +#: ../src/guestfs.pod:2559 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:2580 +#: ../src/guestfs.pod:2563 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 " @@ -50140,12 +51251,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2588 +#: ../src/guestfs.pod:2571 msgid "The reply message for ordinary functions is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2590 +#: ../src/guestfs.pod:2573 #, no-wrap msgid "" " total length (header + ret,\n" @@ -50161,27 +51272,27 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2595 +#: ../src/guestfs.pod:2578 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:2598 +#: ../src/guestfs.pod:2581 msgid "" "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2601 +#: ../src/guestfs.pod:2584 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:2604 +#: ../src/guestfs.pod:2587 #, no-wrap msgid "" " total length (header + error,\n" @@ -50192,7 +51303,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2609 +#: ../src/guestfs.pod:2592 msgid "" "The C<guestfs_message_error> structure contains the error message as a " "string." @@ -50200,12 +51311,12 @@ msgstr "" "C<guestfs_message_error> の構造は、文字列としてエラーメッセージを含みます。" #. type: =head3 -#: ../src/guestfs.pod:2612 +#: ../src/guestfs.pod:2595 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2614 +#: ../src/guestfs.pod:2597 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 " @@ -50213,7 +51324,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2618 +#: ../src/guestfs.pod:2601 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -50235,12 +51346,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2626 +#: ../src/guestfs.pod:2609 msgid "The \"sequence of chunks\" is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2628 +#: ../src/guestfs.pod:2611 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -50262,7 +51373,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2636 +#: ../src/guestfs.pod:2619 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 " @@ -50270,7 +51381,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2640 +#: ../src/guestfs.pod:2623 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -50279,7 +51390,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2645 +#: ../src/guestfs.pod:2628 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 " @@ -50288,7 +51399,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2651 +#: ../src/guestfs.pod:2634 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 " @@ -50300,7 +51411,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2660 +#: ../src/guestfs.pod:2643 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 " @@ -50310,19 +51421,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2666 +#: ../src/guestfs.pod:2649 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2668 +#: ../src/guestfs.pod:2651 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:2671 +#: ../src/guestfs.pod:2654 #, no-wrap msgid "" " total length (header + ret,\n" @@ -50336,12 +51447,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2679 +#: ../src/guestfs.pod:2662 msgid "INITIAL MESSAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2681 +#: ../src/guestfs.pod:2664 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</" @@ -50349,12 +51460,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2668 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2687 +#: ../src/guestfs.pod:2670 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -50362,7 +51473,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2691 +#: ../src/guestfs.pod:2674 msgid "" "The library turns them into progress callbacks (see L</" "GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them " @@ -50370,7 +51481,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2695 +#: ../src/guestfs.pod:2678 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C<daemon/proto.c:notify_progress>). Not all calls generate progress " @@ -50378,12 +51489,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2699 +#: ../src/guestfs.pod:2682 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2701 +#: ../src/guestfs.pod:2684 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -50391,7 +51502,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2706 +#: ../src/guestfs.pod:2689 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -50419,12 +51530,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2717 +#: ../src/guestfs.pod:2700 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2719 +#: ../src/guestfs.pod:2702 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 " @@ -50434,26 +51545,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2725 +#: ../src/guestfs.pod:2708 msgid "Our criteria for backporting changes are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2731 +#: ../src/guestfs.pod:2714 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:2737 +#: ../src/guestfs.pod:2720 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2742 +#: ../src/guestfs.pod:2725 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 " @@ -50461,7 +51572,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2748 +#: ../src/guestfs.pod:2731 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 " @@ -50469,7 +51580,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2754 +#: ../src/guestfs.pod:2737 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 " @@ -50480,17 +51591,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2762 +#: ../src/guestfs.pod:2745 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2764 +#: ../src/guestfs.pod:2747 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2766 +#: ../src/guestfs.pod:2749 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated, and this makes it easy to extend the " @@ -50498,19 +51609,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2770 +#: ../src/guestfs.pod:2753 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2776 +#: ../src/guestfs.pod:2759 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C<generator/generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2779 +#: ../src/guestfs.pod:2762 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 " @@ -50521,7 +51632,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2787 +#: ../src/guestfs.pod:2770 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 " @@ -50531,7 +51642,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2793 +#: ../src/guestfs.pod:2776 msgid "" "For library-only actions of the second type, add to the " "C<non_daemon_functions> list. Since these functions are serviced by the " @@ -50541,36 +51652,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2801 +#: ../src/guestfs.pod:2784 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2803 +#: ../src/guestfs.pod:2786 msgid "" "For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the " "C<daemon/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2806 +#: ../src/guestfs.pod:2789 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:2809 +#: ../src/guestfs.pod:2792 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2813 +#: ../src/guestfs.pod:2796 msgid "After making these changes, use C<make> to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2815 +#: ../src/guestfs.pod:2798 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 " @@ -50578,12 +51689,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2819 +#: ../src/guestfs.pod:2802 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2821 +#: ../src/guestfs.pod:2804 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/" @@ -50593,34 +51704,34 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2828 +#: ../src/guestfs.pod:2811 msgid "" "The following describes the test environment used when you add an API test " "in C<generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2831 +#: ../src/guestfs.pod:2814 msgid "The test environment has 4 block devices:" msgstr "テスト環境は 4 個のブロックデバイスを持ちます:" #. type: =item -#: ../src/guestfs.pod:2835 +#: ../src/guestfs.pod:2818 msgid "C</dev/sda> 500MB" msgstr "C</dev/sda> 500MB" #. type: textblock -#: ../src/guestfs.pod:2837 +#: ../src/guestfs.pod:2820 msgid "General block device for testing." msgstr "テスト用の一般的なブロックデバイス。" #. type: =item -#: ../src/guestfs.pod:2839 +#: ../src/guestfs.pod:2822 msgid "C</dev/sdb> 50MB" msgstr "C</dev/sdb> 50MB" #. type: textblock -#: ../src/guestfs.pod:2841 +#: ../src/guestfs.pod:2824 msgid "" "C</dev/sdb1> is an ext2 filesystem used for testing filesystem write " "operations." @@ -50629,28 +51740,28 @@ msgstr "" "ext2 ファイルシステムです。" #. type: =item -#: ../src/guestfs.pod:2844 +#: ../src/guestfs.pod:2827 msgid "C</dev/sdc> 10MB" msgstr "C</dev/sdc> 10MB" #. type: textblock -#: ../src/guestfs.pod:2846 +#: ../src/guestfs.pod:2829 msgid "Used in a few tests where two block devices are needed." msgstr "" "2 つのブロックデバイスが必要となるいくつかのテストにおいて使用されます。" #. type: =item -#: ../src/guestfs.pod:2848 +#: ../src/guestfs.pod:2831 msgid "C</dev/sdd>" msgstr "C</dev/sdd>" #. type: textblock -#: ../src/guestfs.pod:2850 +#: ../src/guestfs.pod:2833 msgid "ISO with fixed content (see C<images/test.iso>)." msgstr "固定的な内容を持つ ISO (C<images/test.iso> 参照)。" #. type: textblock -#: ../src/guestfs.pod:2854 +#: ../src/guestfs.pod:2837 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 " @@ -50658,7 +51769,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2858 +#: ../src/guestfs.pod:2841 msgid "" "Each test starts with an initial scenario, selected using one of the " "C<Init*> expressions, described in C<generator/generator_types.ml>. These " @@ -50668,7 +51779,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2864 +#: ../src/guestfs.pod:2847 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 " @@ -50678,14 +51789,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2870 +#: ../src/guestfs.pod:2853 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C<make check>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2873 +#: ../src/guestfs.pod:2856 #, no-wrap msgid "" " SKIP_TEST_<CMD>_<NUM>=1\n" @@ -50695,14 +51806,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2875 +#: ../src/guestfs.pod:2858 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:2879 +#: ../src/guestfs.pod:2862 #, no-wrap msgid "" " SKIP_TEST_<CMD>=1\n" @@ -50712,19 +51823,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2881 +#: ../src/guestfs.pod:2864 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:2883 +#: ../src/guestfs.pod:2866 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2885 +#: ../src/guestfs.pod:2868 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -50734,7 +51845,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2887 +#: ../src/guestfs.pod:2870 msgid "" "See C<tests/c-api/tests.c> for more details of how these environment " "variables work." @@ -50743,22 +51854,22 @@ msgstr "" "を参照してください。" #. type: =head2 -#: ../src/guestfs.pod:2890 +#: ../src/guestfs.pod:2873 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2892 +#: ../src/guestfs.pod:2875 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2894 +#: ../src/guestfs.pod:2877 msgid "You can use guestfish to try out new commands." msgstr "新しいコマンドを試すために guestfish を使うことができます。" #. type: textblock -#: ../src/guestfs.pod:2896 +#: ../src/guestfs.pod:2879 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 " @@ -50766,12 +51877,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2900 +#: ../src/guestfs.pod:2883 msgid "FORMATTING CODE AND OTHER CONVENTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2902 +#: ../src/guestfs.pod:2885 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -50781,14 +51892,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2908 +#: ../src/guestfs.pod:2891 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:2911 +#: ../src/guestfs.pod:2894 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -50814,7 +51925,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:2921 +#: ../src/guestfs.pod:2904 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -50844,14 +51955,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2933 +#: ../src/guestfs.pod:2916 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" "コンパイル時に警告を有効にします(そして、これは見つけた問題をすべて修正しま" "す):" #. type: verbatim -#: ../src/guestfs.pod:2936 +#: ../src/guestfs.pod:2919 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -50861,12 +51972,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2938 +#: ../src/guestfs.pod:2921 msgid "Useful targets are:" msgstr "有用なターゲットは次のとおりです:" #. type: verbatim -#: ../src/guestfs.pod:2940 +#: ../src/guestfs.pod:2923 #, no-wrap msgid "" " make syntax-check # checks the syntax of the C code\n" @@ -50878,24 +51989,24 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:2943 +#: ../src/guestfs.pod:2926 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2945 +#: ../src/guestfs.pod:2928 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:2950 +#: ../src/guestfs.pod:2933 msgid "%Q" msgstr "%Q" #. type: textblock -#: ../src/guestfs.pod:2952 +#: ../src/guestfs.pod:2935 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." @@ -50904,19 +52015,19 @@ msgstr "" "ます。" #. type: =item -#: ../src/guestfs.pod:2955 +#: ../src/guestfs.pod:2938 msgid "%R" msgstr "%R" #. type: textblock -#: ../src/guestfs.pod:2957 +#: ../src/guestfs.pod:2940 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:2964 +#: ../src/guestfs.pod:2947 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -50926,12 +52037,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2966 +#: ../src/guestfs.pod:2949 msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>" msgstr "C<cat /sysroot/some\\ path\\ with\\ spaces> を生成します" #. type: textblock -#: ../src/guestfs.pod:2968 +#: ../src/guestfs.pod:2951 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 " @@ -50940,12 +52051,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2974 +#: ../src/guestfs.pod:2957 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "新しい API アクションの提出方法" #. type: textblock -#: ../src/guestfs.pod:2976 +#: ../src/guestfs.pod:2959 msgid "" "Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/" "libguestfs> and CC to L<rjones@redhat.com>." @@ -50954,17 +52065,17 @@ msgstr "" "listinfo/libguestfs> および L<rjones@redhat.com> (Cc)。" #. type: =head2 -#: ../src/guestfs.pod:2980 +#: ../src/guestfs.pod:2963 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "国際化 (i18n) サポート" #. type: textblock -#: ../src/guestfs.pod:2982 +#: ../src/guestfs.pod:2965 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2984 +#: ../src/guestfs.pod:2967 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 " @@ -50973,39 +52084,39 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2990 +#: ../src/guestfs.pod:2973 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2993 +#: ../src/guestfs.pod:2976 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "ソースコードのサブディレクトリー" #. type: =item -#: ../src/guestfs.pod:2997 +#: ../src/guestfs.pod:2980 msgid "C<align>" msgstr "C<align>" #. type: textblock -#: ../src/guestfs.pod:2999 +#: ../src/guestfs.pod:2982 msgid "L<virt-alignment-scan(1)> command and documentation." msgstr "L<virt-alignment-scan(1)> のコマンドおよびドキュメント。" #. type: textblock -#: ../src/guestfs.pod:3003 +#: ../src/guestfs.pod:2986 msgid "The libguestfs appliance, build scripts and so on." msgstr "libguestfs アプライアンス、スクリプトなどを構築します。" #. type: =item -#: ../src/guestfs.pod:3005 +#: ../src/guestfs.pod:2988 msgid "C<cat>" msgstr "C<cat>" #. type: textblock -#: ../src/guestfs.pod:3007 +#: ../src/guestfs.pod:2990 msgid "" "The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and " "documentation." @@ -51014,63 +52125,63 @@ msgstr "" "ドキュメント。" #. type: =item -#: ../src/guestfs.pod:3010 +#: ../src/guestfs.pod:2993 msgid "C<contrib>" msgstr "C<contrib>" #. type: textblock -#: ../src/guestfs.pod:3012 +#: ../src/guestfs.pod:2995 msgid "Outside contributions, experimental parts." msgstr "外部の貢献、実験的な部分です。" #. type: =item -#: ../src/guestfs.pod:3014 +#: ../src/guestfs.pod:2997 msgid "C<daemon>" msgstr "C<daemon>" #. type: textblock -#: ../src/guestfs.pod:3016 +#: ../src/guestfs.pod:2999 msgid "" "The daemon that runs inside the libguestfs appliance and carries out actions." msgstr "" #. type: =item -#: ../src/guestfs.pod:3019 +#: ../src/guestfs.pod:3002 msgid "C<df>" msgstr "C<df>" #. type: textblock -#: ../src/guestfs.pod:3021 +#: ../src/guestfs.pod:3004 msgid "L<virt-df(1)> command and documentation." msgstr "L<virt-df(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3023 +#: ../src/guestfs.pod:3006 msgid "C<edit>" msgstr "C<edit>" #. type: textblock -#: ../src/guestfs.pod:3025 +#: ../src/guestfs.pod:3008 msgid "L<virt-edit(1)> command and documentation." msgstr "L<virt-edit(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3027 +#: ../src/guestfs.pod:3010 msgid "C<examples>" msgstr "C<examples>" #. type: textblock -#: ../src/guestfs.pod:3029 +#: ../src/guestfs.pod:3012 msgid "C API example code." msgstr "C API のコード例。" #. type: =item -#: ../src/guestfs.pod:3031 +#: ../src/guestfs.pod:3014 msgid "C<fish>" msgstr "C<fish>" #. type: textblock -#: ../src/guestfs.pod:3033 +#: ../src/guestfs.pod:3016 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)>, " @@ -51078,80 +52189,80 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3039 +#: ../src/guestfs.pod:3022 msgid "L<virt-format(1)> command and documentation." msgstr "L<virt-format(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3041 +#: ../src/guestfs.pod:3024 msgid "C<fuse>" msgstr "C<fuse>" #. type: textblock -#: ../src/guestfs.pod:3043 +#: ../src/guestfs.pod:3026 msgid "" "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3045 +#: ../src/guestfs.pod:3028 msgid "C<generator>" msgstr "C<generator>" #. type: textblock -#: ../src/guestfs.pod:3047 +#: ../src/guestfs.pod:3030 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:3050 +#: ../src/guestfs.pod:3033 msgid "C<inspector>" msgstr "C<inspector>" #. type: textblock -#: ../src/guestfs.pod:3052 +#: ../src/guestfs.pod:3035 msgid "L<virt-inspector(1)>, the virtual machine image inspector." msgstr "" #. type: =item -#: ../src/guestfs.pod:3054 +#: ../src/guestfs.pod:3037 msgid "C<logo>" msgstr "C<logo>" #. type: textblock -#: ../src/guestfs.pod:3056 +#: ../src/guestfs.pod:3039 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:3058 +#: ../src/guestfs.pod:3041 msgid "C<m4>" msgstr "C<m4>" #. type: textblock -#: ../src/guestfs.pod:3060 +#: ../src/guestfs.pod:3043 msgid "M4 macros used by autoconf." msgstr "autoconf により使用される M4 マクロ。" #. type: =item -#: ../src/guestfs.pod:3062 +#: ../src/guestfs.pod:3045 msgid "C<po>" msgstr "C<po>" #. type: textblock -#: ../src/guestfs.pod:3064 +#: ../src/guestfs.pod:3047 msgid "Translations of simple gettext strings." msgstr "" #. type: =item -#: ../src/guestfs.pod:3066 +#: ../src/guestfs.pod:3049 msgid "C<po-docs>" msgstr "C<po-docs>" #. type: textblock -#: ../src/guestfs.pod:3068 +#: ../src/guestfs.pod:3051 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 " @@ -51159,152 +52270,152 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3072 +#: ../src/guestfs.pod:3055 msgid "C<rescue>" msgstr "C<rescue>" #. type: textblock -#: ../src/guestfs.pod:3074 +#: ../src/guestfs.pod:3057 msgid "L<virt-rescue(1)> command and documentation." msgstr "L<virt-rescue(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3076 +#: ../src/guestfs.pod:3059 msgid "C<resize>" msgstr "C<resize>" #. type: textblock -#: ../src/guestfs.pod:3078 +#: ../src/guestfs.pod:3061 msgid "L<virt-resize(1)> command and documentation." msgstr "L<virt-resize(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3080 +#: ../src/guestfs.pod:3063 msgid "C<sparsify>" msgstr "C<sparsify>" #. type: textblock -#: ../src/guestfs.pod:3082 +#: ../src/guestfs.pod:3065 msgid "L<virt-sparsify(1)> command and documentation." msgstr "L<virt-sparsify(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3084 +#: ../src/guestfs.pod:3067 msgid "C<src>" msgstr "C<src>" #. type: textblock -#: ../src/guestfs.pod:3086 +#: ../src/guestfs.pod:3069 msgid "Source code to the C library." msgstr "C ライブラリーのソースコード。" #. type: =item -#: ../src/guestfs.pod:3088 +#: ../src/guestfs.pod:3071 msgid "C<sysprep>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3090 +#: ../src/guestfs.pod:3073 #, fuzzy #| msgid "L<virt-sparsify(1)> command and documentation." msgid "L<virt-sysprep(1)> command and documentation." msgstr "L<virt-sparsify(1)> のコマンドおよびドキュメント。" #. type: =item -#: ../src/guestfs.pod:3092 +#: ../src/guestfs.pod:3075 msgid "C<test-tool>" msgstr "C<test-tool>" #. type: textblock -#: ../src/guestfs.pod:3094 +#: ../src/guestfs.pod:3077 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3097 +#: ../src/guestfs.pod:3080 msgid "C<tests>" msgstr "C<tests>" #. type: textblock -#: ../src/guestfs.pod:3099 +#: ../src/guestfs.pod:3082 msgid "Tests." msgstr "テストします。" #. type: =item -#: ../src/guestfs.pod:3101 +#: ../src/guestfs.pod:3084 msgid "C<tools>" msgstr "C<tools>" #. type: textblock -#: ../src/guestfs.pod:3103 +#: ../src/guestfs.pod:3086 msgid "" "Command line tools written in Perl (L<virt-win-reg(1)> and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:3105 +#: ../src/guestfs.pod:3088 msgid "C<csharp>" msgstr "C<csharp>" #. type: =item -#: ../src/guestfs.pod:3107 +#: ../src/guestfs.pod:3090 msgid "C<erlang>" msgstr "C<erlang>" #. type: =item -#: ../src/guestfs.pod:3109 +#: ../src/guestfs.pod:3092 msgid "C<gobject>" msgstr "C<gobject>" #. type: =item -#: ../src/guestfs.pod:3111 +#: ../src/guestfs.pod:3094 msgid "C<haskell>" msgstr "C<haskell>" #. type: =item -#: ../src/guestfs.pod:3113 +#: ../src/guestfs.pod:3096 msgid "C<java>" msgstr "C<java>" #. type: =item -#: ../src/guestfs.pod:3115 +#: ../src/guestfs.pod:3098 msgid "C<ocaml>" msgstr "C<ocaml>" #. type: =item -#: ../src/guestfs.pod:3117 +#: ../src/guestfs.pod:3100 msgid "C<php>" msgstr "C<php>" #. type: =item -#: ../src/guestfs.pod:3119 +#: ../src/guestfs.pod:3102 msgid "C<perl>" msgstr "C<perl>" #. type: =item -#: ../src/guestfs.pod:3121 +#: ../src/guestfs.pod:3104 msgid "C<python>" msgstr "C<python>" #. type: =item -#: ../src/guestfs.pod:3123 +#: ../src/guestfs.pod:3106 msgid "C<ruby>" msgstr "C<ruby>" #. type: textblock -#: ../src/guestfs.pod:3125 +#: ../src/guestfs.pod:3108 msgid "Language bindings." msgstr "言語バインディング。" #. type: =head2 -#: ../src/guestfs.pod:3129 +#: ../src/guestfs.pod:3112 msgid "MAKING A STABLE RELEASE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3131 +#: ../src/guestfs.pod:3114 msgid "" "When we make a stable release, there are several steps documented here. See " "L</LIBGUESTFS VERSION NUMBERS> for general information about the stable " @@ -51312,33 +52423,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3139 +#: ../src/guestfs.pod:3122 msgid "" "Check C<make && make check> works on at least Fedora, Debian and Ubuntu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3144 +#: ../src/guestfs.pod:3127 msgid "Finalize RELEASE-NOTES." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3148 +#: ../src/guestfs.pod:3131 msgid "Update ROADMAP." msgstr "ロードマップを更新します。" #. type: textblock -#: ../src/guestfs.pod:3152 +#: ../src/guestfs.pod:3135 msgid "Run C<src/api-support/update-from-tarballs.sh>." msgstr "C<src/api-support/update-from-tarballs.sh> を実行します。" #. type: textblock -#: ../src/guestfs.pod:3156 +#: ../src/guestfs.pod:3139 msgid "Push and pull from Transifex." msgstr "Transifex からのプッシュおよびプル。" #. type: verbatim -#: ../src/guestfs.pod:3160 +#: ../src/guestfs.pod:3143 #, no-wrap msgid "" " tx push -s\n" @@ -51348,13 +52459,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3162 +#: ../src/guestfs.pod:3145 msgid "to push the latest POT files to Transifex. Then run:" msgstr "" "最新の POT ファイルを Transifex にプッシュします。そして、次を実行します:" #. type: verbatim -#: ../src/guestfs.pod:3164 +#: ../src/guestfs.pod:3147 #, no-wrap msgid "" " ./tx-pull.sh\n" @@ -51364,12 +52475,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3166 +#: ../src/guestfs.pod:3149 msgid "which is a wrapper to pull the latest translated C<*.po> files." msgstr "これは最新の翻訳された C<*.po> ファイルを取り出すためのラッパーです。" #. type: textblock -#: ../src/guestfs.pod:3170 +#: ../src/guestfs.pod:3153 msgid "" "Create new stable and development directories under L<http://libguestfs.org/" "download>." @@ -51378,12 +52489,12 @@ msgstr "" "リーを作成します。" #. type: textblock -#: ../src/guestfs.pod:3175 +#: ../src/guestfs.pod:3158 msgid "Create the branch in git:" msgstr "git に分岐を作成します:" #. type: verbatim -#: ../src/guestfs.pod:3177 +#: ../src/guestfs.pod:3160 #, no-wrap msgid "" " git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n" @@ -51399,17 +52510,17 @@ msgstr "" "\n" #. type: =head1 -#: ../src/guestfs.pod:3184 +#: ../src/guestfs.pod:3167 msgid "LIMITS" msgstr "制限" #. type: =head2 -#: ../src/guestfs.pod:3186 +#: ../src/guestfs.pod:3169 msgid "PROTOCOL LIMITS" msgstr "プロトコル制限" #. type: textblock -#: ../src/guestfs.pod:3188 +#: ../src/guestfs.pod:3171 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 " @@ -51420,7 +52531,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3196 +#: ../src/guestfs.pod:3179 msgid "" "A simple call such as L</guestfs_cat> returns its result (the file data) in " "a simple string. Because this string is at some point internally encoded as " @@ -51429,7 +52540,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3202 +#: ../src/guestfs.pod:3185 msgid "" "In order to transfer large files into and out of the guest filesystem, you " "need to use particular calls that support this. The sections L</UPLOADING> " @@ -51437,7 +52548,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3206 +#: ../src/guestfs.pod:3189 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L<guestmount(1)>)." @@ -51446,17 +52557,17 @@ msgstr "" "マウントすることも検討できます。" #. type: =head2 -#: ../src/guestfs.pod:3209 +#: ../src/guestfs.pod:3192 msgid "MAXIMUM NUMBER OF DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3211 +#: ../src/guestfs.pod:3194 msgid "When using virtio disks (the default) the current limit is B<25> disks." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3214 +#: ../src/guestfs.pod:3197 msgid "" "Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 " "slots. However febootstrap only understands disks with names C</dev/vda> " @@ -51465,14 +52576,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3219 +#: ../src/guestfs.pod:3202 msgid "" "We are working to substantially raise this limit in future versions but it " "requires complex changes to qemu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3222 +#: ../src/guestfs.pod:3205 msgid "" "In future versions of libguestfs it should also be possible to \"hot plug\" " "disks (add and remove disks after calling L</guestfs_launch>). This also " @@ -51480,17 +52591,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3226 +#: ../src/guestfs.pod:3209 msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK" msgstr "ディスクあたりの最大パーティション数" #. type: textblock -#: ../src/guestfs.pod:3228 +#: ../src/guestfs.pod:3211 msgid "Virtio limits the maximum number of partitions per disk to B<15>." msgstr "virtio はディスクあたりの最大パーティション数を B<15> に制限します。" #. type: textblock -#: ../src/guestfs.pod:3230 +#: ../src/guestfs.pod:3213 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>)." @@ -51499,7 +52610,7 @@ msgstr "" "dev/vda>、および C</dev/vda1> から C</dev/vda15> まで)。" #. type: textblock -#: ../src/guestfs.pod:3233 +#: ../src/guestfs.pod:3216 msgid "" "If you attach a disk with more than 15 partitions, the extra partitions are " "ignored by libguestfs." @@ -51508,17 +52619,17 @@ msgstr "" "は libguestfs により無視されます。" #. type: =head2 -#: ../src/guestfs.pod:3236 +#: ../src/guestfs.pod:3219 msgid "MAXIMUM SIZE OF A DISK" msgstr "ディスクの最大容量" #. type: textblock -#: ../src/guestfs.pod:3238 +#: ../src/guestfs.pod:3221 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:3240 +#: ../src/guestfs.pod:3223 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 " @@ -51526,7 +52637,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3244 +#: ../src/guestfs.pod:3227 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 " @@ -51536,19 +52647,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3250 +#: ../src/guestfs.pod:3233 msgid "" "For the hugest disk image files, we recommend using XFS on the host for " "storage." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3253 +#: ../src/guestfs.pod:3236 msgid "MAXIMUM SIZE OF A PARTITION" msgstr "パーティションの最大容量" #. type: textblock -#: ../src/guestfs.pod:3255 +#: ../src/guestfs.pod:3238 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 " @@ -51556,7 +52667,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3259 +#: ../src/guestfs.pod:3242 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 " @@ -51564,12 +52675,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3264 +#: ../src/guestfs.pod:3247 msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES" msgstr "ファイルシステム、ファイル、ディレクトリーの最大容量" #. type: textblock -#: ../src/guestfs.pod:3266 +#: ../src/guestfs.pod:3249 msgid "" "This depends on the filesystem type. libguestfs itself does not impose any " "known limit. Consult Wikipedia or the filesystem documentation to find out " @@ -51577,12 +52688,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3270 +#: ../src/guestfs.pod:3253 msgid "MAXIMUM UPLOAD AND DOWNLOAD" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3272 +#: ../src/guestfs.pod:3255 msgid "" "The API functions L</guestfs_upload>, L</guestfs_download>, L</" "guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized " @@ -51590,12 +52701,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3276 +#: ../src/guestfs.pod:3259 msgid "INSPECTION LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3278 +#: ../src/guestfs.pod:3261 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 " @@ -51605,26 +52716,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3304 +#: ../src/guestfs.pod:3287 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:3316 +#: ../src/guestfs.pod:3299 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:3325 +#: ../src/guestfs.pod:3308 msgid "See also L</QEMU WRAPPERS> above." msgstr "上の L</QEMU WRAPPERS> 参照。" #. type: textblock -#: ../src/guestfs.pod:3329 +#: ../src/guestfs.pod:3312 msgid "" "Set C<LIBGUESTFS_TRACE=1> to enable command traces. This has the same " "effect as calling C<guestfs_set_trace (g, 1)>." @@ -51633,7 +52744,7 @@ msgstr "" "C<guestfs_set_trace (g, 1)> の呼び出しと同じ効果があります。" #. type: textblock -#: ../src/guestfs.pod:3347 +#: ../src/guestfs.pod:3330 #, fuzzy #| msgid "" #| "L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, " @@ -51656,10 +52767,10 @@ msgid "" "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-performance(1)>, L<guestfs-testing(1)>, L<libguestfs-test-" -"tool(1)>, L<libguestfs-make-fixed-appliance(1)>, L<febootstrap(1)>, " -"L<febootstrap-supermin-helper(8)>, L<qemu(1)>, L<hivex(3)>, L<stap(1)>, " -"L<http://libguestfs.org/>." +"(1)>, L<guestfs-faq(1)>, L<guestfs-performance(1)>, L<guestfs-testing(1)>, " +"L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-appliance(1)>, " +"L<febootstrap(1)>, L<febootstrap-supermin-helper(8)>, L<qemu(1)>, L<hivex(3)" +">, L<stap(1)>, L<http://libguestfs.org/>." msgstr "" "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)>, " @@ -51673,7 +52784,7 @@ msgstr "" "supermin-helper(8)>, L<hivex(3)>, L<stap(1)>, L<http://libguestfs.org/>." #. type: textblock -#: ../src/guestfs.pod:3388 +#: ../src/guestfs.pod:3372 msgid "" "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm" "(8)>, L<disktype(1)>." @@ -51682,18 +52793,18 @@ msgstr "" "L<disktype(1)>." #. type: =head1 -#: ../src/guestfs.pod:3395 ../tools/virt-make-fs.pl:574 +#: ../src/guestfs.pod:3379 ../tools/virt-make-fs.pl:574 #: ../tools/virt-win-reg.pl:772 msgid "BUGS" msgstr "バグ" #. type: textblock -#: ../src/guestfs.pod:3397 +#: ../src/guestfs.pod:3381 msgid "To get a list of bugs against libguestfs use this link:" msgstr "libguestfs のバグの一覧を取得するには、このリンクを使用します:" #. type: textblock -#: ../src/guestfs.pod:3399 +#: ../src/guestfs.pod:3383 msgid "" "L<https://bugzilla.redhat.com/buglist.cgi?" "component=libguestfs&product=Virtualization+Tools>" @@ -51702,12 +52813,12 @@ msgstr "" "component=libguestfs&product=Virtualization+Tools>" #. type: textblock -#: ../src/guestfs.pod:3401 +#: ../src/guestfs.pod:3385 msgid "To report a new bug against libguestfs use this link:" msgstr "libguestfs の新しいバグを報告するには、このリンクを使用します:" #. type: textblock -#: ../src/guestfs.pod:3403 +#: ../src/guestfs.pod:3387 msgid "" "L<https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools>" @@ -51716,27 +52827,27 @@ msgstr "" "component=libguestfs&product=Virtualization+Tools>" #. type: textblock -#: ../src/guestfs.pod:3405 +#: ../src/guestfs.pod:3389 msgid "When reporting a bug, please check:" msgstr "バグを報告するとき、確認してください:" #. type: textblock -#: ../src/guestfs.pod:3411 +#: ../src/guestfs.pod:3395 msgid "That the bug hasn't been reported already." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3415 +#: ../src/guestfs.pod:3399 msgid "That you are testing a recent version." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3419 +#: ../src/guestfs.pod:3403 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3423 +#: ../src/guestfs.pod:3407 msgid "" "Run libguestfs-test-tool and paste the B<complete, unedited> output into the " "bug report." @@ -54950,6 +56061,63 @@ msgstr "" "L<https://bugzilla.redhat.com/> の新規バグ報告に /tmp/virt-win-reg.log を添付" "してください" +#~ msgid "" +#~ "Libguestfs is a library for accessing and modifying guest disk images. " +#~ "Amongst the things this is good for: making batch configuration changes " +#~ "to guests, getting disk used/free statistics (see also: virt-df), " +#~ "migrating between virtualization systems (see also: virt-p2v), performing " +#~ "partial backups, performing partial guest clones, cloning guests and " +#~ "changing registry/UUID/hostname info, and much else besides." +#~ msgstr "" +#~ "libguestfs は仮想マシンのディスクイメージにアクセスおよび修正するためのラ" +#~ "イブラリーです。 以下のことに適してします: 仮想マシンの設定変更バッチを作" +#~ "成する、ディスクの使用済み・空き容量を取得する (関連項目: virt-df)、仮想化" +#~ "システム間を移行する (関連項目: virt-p2v)、部分的なバックアップを実行す" +#~ "る、仮想マシンの部分的なクローンを実行する、仮想マシンをクローンしてレジス" +#~ "トリ/UUID/ホスト名の情報を変更する、さらに他にもあります。" + +#~ msgid "" +#~ "Libguestfs uses Linux kernel and qemu code, and can access any type of " +#~ "guest filesystem that Linux and qemu can, including but not limited to: " +#~ "ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition " +#~ "schemes, qcow, qcow2, vmdk." +#~ msgstr "" +#~ "libguestfs は Linux カーネルと QEMU コードを使用します。 Linux と QEMU が" +#~ "アクセスできるすべての形式の仮想マシンファイルシステムにアクセスできます" +#~ "が、これに制限されるわけではありません: ext2/3/4, btrfs, FAT and NTFS, " +#~ "LVM, 多くのディスクパーティションスキーマ, qcow, qcow2, vmdk." + +#~ msgid "" +#~ "Libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, " +#~ "what filesystem is in each LV, etc.). It can also run commands in the " +#~ "context of the guest. Also you can access filesystems over FUSE." +#~ msgstr "" +#~ "libguestfs は仮想マシンストレージ (例: パーティション、論理ボリューム、各" +#~ "論理ボリュームにあるファイルシステムなど) を列挙する方法を提供します。仮想" +#~ "マシンのコンテキストにおいてコマンドを実行することもできます。また FUSE 上" +#~ "でファイルシステムにアクセスできます。" + +#~ msgid "" +#~ "You don't need to be root to use libguestfs, although obviously you do " +#~ "need enough permissions to access the disk images." +#~ msgstr "" +#~ "libguestfs を使用するために root になる必要はありませんが、もちろんディス" +#~ "クイメージにアクセスするパーミッションが必要になります。" + +#~ msgid "" +#~ "Libguestfs is a large API because it can do many things. For a gentle " +#~ "introduction, please read the L</API OVERVIEW> section next." +#~ msgstr "" +#~ "libguestfs は多くのことができるので大きな API です。簡単な概要は L</API 概" +#~ "要> セクションを参照してください。" + +#~ msgid "" +#~ "There are also some example programs in the L<guestfs-examples(3)> manual " +#~ "page." +#~ msgstr "" +#~ "L<guestfs-examples(3)> マニュアルページにいくつかのプログラム例がありま" +#~ "す。" + #~ msgid "is-busy" #~ msgstr "is-busy" diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot index edc23758..749ce0e0 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.17.37\n" +"Project-Id-Version: libguestfs 1.17.38\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2012-05-01 09:43+0200\n" +"POT-Creation-Date: 2012-05-01 14:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -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 ../df/virt-df.pod:3 ../edit/virt-edit.pod:3 ../erlang/examples/guestfs-erlang.pod:3 ../examples/guestfs-examples.pod:3 ../examples/guestfs-performance.pod:3 ../examples/guestfs-recipes.pod:14 ../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 ../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:35 ../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 ../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:14 ../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 ../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:35 ../tools/virt-tar.pl:31 ../tools/virt-win-reg.pl:35 msgid "NAME" 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:673 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 ../src/guestfs.pod:2962 ../sysprep/virt-sysprep.pod:111 +#: ../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:673 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 ../src/guestfs.pod:2945 ../sysprep/virt-sysprep.pod:111 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-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:98 ../examples/guestfs-recipes.pod:102 ../examples/guestfs-recipes.pod:106 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:137 ../examples/guestfs-recipes.pod:227 ../examples/guestfs-recipes.pod:231 ../examples/guestfs-recipes.pod:235 ../examples/guestfs-recipes.pod:239 ../examples/guestfs-recipes.pod:243 ../examples/guestfs-testing.pod:110 ../examples/guestfs-testing.pod:114 ../examples/guestfs-testing.pod:118 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:441 ../fish/guestfish-actions.pod:449 ../fish/guestfish-actions.pod:456 ../fish/guestfish-actions.pod:463 ../fish/guestfish-actions.pod:1388 ../fish/guestfish-actions.pod:1392 ../fish/guestfish-actions.pod:1396 ../fish/guestfish-actions.pod:1400 ../fish/guestfish-actions.pod:1408 ../fish/guestfish-actions.pod:1412 ../fish/guestfish-actions.pod:1416 ../fish/guestfish-actions.pod:1426 ../fish/guestfish-actions.pod:1430 ../fish/guestfish-actions.pod:1434 ../fish/guestfish-actions.pod:1524 ../fish/guestfish-actions.pod:1528 ../fish/guestfish-actions.pod:1533 ../fish/guestfish-actions.pod:1538 ../fish/guestfish-actions.pod:1580 ../fish/guestfish-actions.pod:1584 ../fish/guestfish-actions.pod:1589 ../fish/guestfish-actions.pod:1971 ../fish/guestfish-actions.pod:1978 ../fish/guestfish-actions.pod:1985 ../fish/guestfish-actions.pod:2398 ../fish/guestfish-actions.pod:2404 ../fish/guestfish-actions.pod:2412 ../fish/guestfish-actions.pod:2419 ../fish/guestfish-actions.pod:2426 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:514 ../inspector/virt-inspector.pod:518 ../resize/virt-resize.pod:365 ../resize/virt-resize.pod:369 ../resize/virt-resize.pod:378 ../resize/virt-resize.pod:384 ../sparsify/virt-sparsify.pod:32 ../sparsify/virt-sparsify.pod:39 ../sparsify/virt-sparsify.pod:43 ../sparsify/virt-sparsify.pod:49 ../sparsify/virt-sparsify.pod:54 ../sparsify/virt-sparsify.pod:59 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:641 ../src/guestfs-actions.pod:649 ../src/guestfs-actions.pod:656 ../src/guestfs-actions.pod:663 ../src/guestfs-actions.pod:2292 ../src/guestfs-actions.pod:2296 ../src/guestfs-actions.pod:2300 ../src/guestfs-actions.pod:2304 ../src/guestfs-actions.pod:2312 ../src/guestfs-actions.pod:2316 ../src/guestfs-actions.pod:2320 ../src/guestfs-actions.pod:2330 ../src/guestfs-actions.pod:2334 ../src/guestfs-actions.pod:2338 ../src/guestfs-actions.pod:2476 ../src/guestfs-actions.pod:2480 ../src/guestfs-actions.pod:2485 ../src/guestfs-actions.pod:2490 ../src/guestfs-actions.pod:2551 ../src/guestfs-actions.pod:2555 ../src/guestfs-actions.pod:2560 ../src/guestfs-actions.pod:3110 ../src/guestfs-actions.pod:3117 ../src/guestfs-actions.pod:3124 ../src/guestfs-actions.pod:3679 ../src/guestfs-actions.pod:3685 ../src/guestfs-actions.pod:3693 ../src/guestfs-actions.pod:3700 ../src/guestfs-actions.pod:3707 ../src/guestfs.pod:407 ../src/guestfs.pod:412 ../src/guestfs.pod:417 ../src/guestfs.pod:421 ../src/guestfs.pod:426 ../src/guestfs.pod:430 ../src/guestfs.pod:435 ../src/guestfs.pod:440 ../src/guestfs.pod:1194 ../src/guestfs.pod:1198 ../src/guestfs.pod:1202 ../src/guestfs.pod:1207 ../src/guestfs.pod:1215 ../src/guestfs.pod:1234 ../src/guestfs.pod:1242 ../src/guestfs.pod:1264 ../src/guestfs.pod:1268 ../src/guestfs.pod:1272 ../src/guestfs.pod:1276 ../src/guestfs.pod:1280 ../src/guestfs.pod:1284 ../src/guestfs.pod:1774 ../src/guestfs.pod:1779 ../src/guestfs.pod:1783 ../src/guestfs.pod:1885 ../src/guestfs.pod:1890 ../src/guestfs.pod:1894 ../src/guestfs.pod:1904 ../src/guestfs.pod:2193 ../src/guestfs.pod:2198 ../src/guestfs.pod:2204 ../src/guestfs.pod:2212 ../src/guestfs.pod:2729 ../src/guestfs.pod:2735 ../src/guestfs.pod:2740 ../src/guestfs.pod:2746 ../src/guestfs.pod:3137 ../src/guestfs.pod:3142 ../src/guestfs.pod:3146 ../src/guestfs.pod:3150 ../src/guestfs.pod:3154 ../src/guestfs.pod:3168 ../src/guestfs.pod:3173 ../src/guestfs.pod:3409 ../src/guestfs.pod:3413 ../src/guestfs.pod:3417 ../src/guestfs.pod:3421 ../sysprep/virt-sysprep.pod:230 ../sysprep/virt-sysprep.pod:234 ../sysprep/virt-sysprep.pod:238 ../sysprep/virt-sysprep.pod:242 ../sysprep/virt-sysprep.pod:257 ../sysprep/virt-sysprep.pod:261 ../sysprep/virt-sysprep.pod:265 ../sysprep/virt-sysprep.pod:269 ../sysprep/virt-sysprep.pod:273 ../sysprep/virt-sysprep.pod:309 ../sysprep/virt-sysprep.pod:331 ../sysprep/virt-sysprep.pod:335 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:721 ../tools/virt-win-reg.pl:727 ../tools/virt-win-reg.pl:733 +#: ../align/virt-alignment-scan.pod: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-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:98 ../examples/guestfs-recipes.pod:102 ../examples/guestfs-recipes.pod:106 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:137 ../examples/guestfs-recipes.pod:227 ../examples/guestfs-recipes.pod:231 ../examples/guestfs-recipes.pod:235 ../examples/guestfs-recipes.pod:239 ../examples/guestfs-recipes.pod:243 ../examples/guestfs-testing.pod:110 ../examples/guestfs-testing.pod:114 ../examples/guestfs-testing.pod:118 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:441 ../fish/guestfish-actions.pod:449 ../fish/guestfish-actions.pod:456 ../fish/guestfish-actions.pod:463 ../fish/guestfish-actions.pod:1388 ../fish/guestfish-actions.pod:1392 ../fish/guestfish-actions.pod:1396 ../fish/guestfish-actions.pod:1400 ../fish/guestfish-actions.pod:1408 ../fish/guestfish-actions.pod:1412 ../fish/guestfish-actions.pod:1416 ../fish/guestfish-actions.pod:1426 ../fish/guestfish-actions.pod:1430 ../fish/guestfish-actions.pod:1434 ../fish/guestfish-actions.pod:1524 ../fish/guestfish-actions.pod:1528 ../fish/guestfish-actions.pod:1533 ../fish/guestfish-actions.pod:1538 ../fish/guestfish-actions.pod:1580 ../fish/guestfish-actions.pod:1584 ../fish/guestfish-actions.pod:1589 ../fish/guestfish-actions.pod:1971 ../fish/guestfish-actions.pod:1978 ../fish/guestfish-actions.pod:1985 ../fish/guestfish-actions.pod:2398 ../fish/guestfish-actions.pod:2404 ../fish/guestfish-actions.pod:2412 ../fish/guestfish-actions.pod:2419 ../fish/guestfish-actions.pod:2426 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:514 ../inspector/virt-inspector.pod:518 ../resize/virt-resize.pod:365 ../resize/virt-resize.pod:369 ../resize/virt-resize.pod:378 ../resize/virt-resize.pod:384 ../sparsify/virt-sparsify.pod:32 ../sparsify/virt-sparsify.pod:39 ../sparsify/virt-sparsify.pod:43 ../sparsify/virt-sparsify.pod:49 ../sparsify/virt-sparsify.pod:54 ../sparsify/virt-sparsify.pod:59 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:641 ../src/guestfs-actions.pod:649 ../src/guestfs-actions.pod:656 ../src/guestfs-actions.pod:663 ../src/guestfs-actions.pod:2292 ../src/guestfs-actions.pod:2296 ../src/guestfs-actions.pod:2300 ../src/guestfs-actions.pod:2304 ../src/guestfs-actions.pod:2312 ../src/guestfs-actions.pod:2316 ../src/guestfs-actions.pod:2320 ../src/guestfs-actions.pod:2330 ../src/guestfs-actions.pod:2334 ../src/guestfs-actions.pod:2338 ../src/guestfs-actions.pod:2476 ../src/guestfs-actions.pod:2480 ../src/guestfs-actions.pod:2485 ../src/guestfs-actions.pod:2490 ../src/guestfs-actions.pod:2551 ../src/guestfs-actions.pod:2555 ../src/guestfs-actions.pod:2560 ../src/guestfs-actions.pod:3110 ../src/guestfs-actions.pod:3117 ../src/guestfs-actions.pod:3124 ../src/guestfs-actions.pod:3679 ../src/guestfs-actions.pod:3685 ../src/guestfs-actions.pod:3693 ../src/guestfs-actions.pod:3700 ../src/guestfs-actions.pod:3707 ../src/guestfs.pod:390 ../src/guestfs.pod:395 ../src/guestfs.pod:400 ../src/guestfs.pod:404 ../src/guestfs.pod:409 ../src/guestfs.pod:413 ../src/guestfs.pod:418 ../src/guestfs.pod:423 ../src/guestfs.pod:1177 ../src/guestfs.pod:1181 ../src/guestfs.pod:1185 ../src/guestfs.pod:1190 ../src/guestfs.pod:1198 ../src/guestfs.pod:1217 ../src/guestfs.pod:1225 ../src/guestfs.pod:1247 ../src/guestfs.pod:1251 ../src/guestfs.pod:1255 ../src/guestfs.pod:1259 ../src/guestfs.pod:1263 ../src/guestfs.pod:1267 ../src/guestfs.pod:1757 ../src/guestfs.pod:1762 ../src/guestfs.pod:1766 ../src/guestfs.pod:1868 ../src/guestfs.pod:1873 ../src/guestfs.pod:1877 ../src/guestfs.pod:1887 ../src/guestfs.pod:2176 ../src/guestfs.pod:2181 ../src/guestfs.pod:2187 ../src/guestfs.pod:2195 ../src/guestfs.pod:2712 ../src/guestfs.pod:2718 ../src/guestfs.pod:2723 ../src/guestfs.pod:2729 ../src/guestfs.pod:3120 ../src/guestfs.pod:3125 ../src/guestfs.pod:3129 ../src/guestfs.pod:3133 ../src/guestfs.pod:3137 ../src/guestfs.pod:3151 ../src/guestfs.pod:3156 ../src/guestfs.pod:3393 ../src/guestfs.pod:3397 ../src/guestfs.pod:3401 ../src/guestfs.pod:3405 ../sysprep/virt-sysprep.pod:230 ../sysprep/virt-sysprep.pod:234 ../sysprep/virt-sysprep.pod:238 ../sysprep/virt-sysprep.pod:242 ../sysprep/virt-sysprep.pod:257 ../sysprep/virt-sysprep.pod:261 ../sysprep/virt-sysprep.pod:265 ../sysprep/virt-sysprep.pod:269 ../sysprep/virt-sysprep.pod:273 ../sysprep/virt-sysprep.pod:309 ../sysprep/virt-sysprep.pod:331 ../sysprep/virt-sysprep.pod:335 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:721 ../tools/virt-win-reg.pl:727 ../tools/virt-win-reg.pl:733 msgid "*" 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 ../df/virt-df.pod:253 ../edit/virt-edit.pod:354 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-performance.pod:364 ../examples/guestfs-recipes.pod:384 ../examples/guestfs-testing.pod:291 ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../format/virt-format.pod:177 ../fuse/guestmount.pod:317 ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39 ../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:286 ../src/guestfs.pod:3345 ../sysprep/virt-sysprep.pod:432 ../test-tool/libguestfs-test-tool.pod:100 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:559 ../tools/virt-tar.pl:296 ../tools/virt-win-reg.pl:757 +#: ../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 ../df/virt-df.pod:253 ../edit/virt-edit.pod:354 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-faq.pod:530 ../examples/guestfs-performance.pod:364 ../examples/guestfs-recipes.pod:384 ../examples/guestfs-testing.pod:291 ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../format/virt-format.pod:177 ../fuse/guestmount.pod:317 ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39 ../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:286 ../src/guestfs.pod:3328 ../sysprep/virt-sysprep.pod:432 ../test-tool/libguestfs-test-tool.pod:100 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:559 ../tools/virt-tar.pl:296 ../tools/virt-win-reg.pl:757 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 ../df/virt-df.pod:265 ../edit/virt-edit.pod:372 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-performance.pod:379 ../examples/guestfs-recipes.pod:401 ../examples/guestfs-testing.pod:302 ../fish/guestfish.pod:1300 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../format/virt-format.pod:191 ../fuse/guestmount.pod:332 ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56 ../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:303 ../src/guestfs.pod:3432 ../sysprep/virt-sysprep.pod:451 ../test-tool/libguestfs-test-tool.pod:110 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:589 ../tools/virt-tar.pl:315 ../tools/virt-win-reg.pl:787 +#: ../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 ../df/virt-df.pod:265 ../edit/virt-edit.pod:372 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-faq.pod:540 ../examples/guestfs-performance.pod:379 ../examples/guestfs-recipes.pod:401 ../examples/guestfs-testing.pod:302 ../fish/guestfish.pod:1300 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../format/virt-format.pod:191 ../fuse/guestmount.pod:332 ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56 ../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:303 ../src/guestfs.pod:3416 ../sysprep/virt-sysprep.pod:451 ../test-tool/libguestfs-test-tool.pod:110 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:589 ../tools/virt-tar.pl:315 ../tools/virt-win-reg.pl:787 msgid "COPYRIGHT" msgstr "" @@ -1104,7 +1104,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../appliance/libguestfs-make-fixed-appliance.pod:139 ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119 ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:259 ../src/guestfs.pod:3284 ../test-tool/libguestfs-test-tool.pod:95 +#: ../appliance/libguestfs-make-fixed-appliance.pod:139 ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119 ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:259 ../src/guestfs.pod:3267 ../test-tool/libguestfs-test-tool.pod:95 msgid "ENVIRONMENT VARIABLES" msgstr "" @@ -1123,17 +1123,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-performance.pod:375 ../examples/guestfs-recipes.pod:397 ../examples/guestfs-testing.pod:298 ../fish/guestfish.pod:1296 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:52 ../python/examples/guestfs-python.pod:54 ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3428 ../test-tool/libguestfs-test-tool.pod:106 +#: ../appliance/libguestfs-make-fixed-appliance.pod:153 ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:45 ../examples/guestfs-faq.pod:536 ../examples/guestfs-performance.pod:375 ../examples/guestfs-recipes.pod:397 ../examples/guestfs-testing.pod:298 ../fish/guestfish.pod:1296 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:52 ../python/examples/guestfs-python.pod:54 ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3412 ../test-tool/libguestfs-test-tool.pod:106 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-performance.pod:377 ../examples/guestfs-recipes.pod:399 ../examples/guestfs-testing.pod:300 ../fish/guestfish.pod:1298 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54 ../python/examples/guestfs-python.pod:56 ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3430 ../test-tool/libguestfs-test-tool.pod:108 +#: ../appliance/libguestfs-make-fixed-appliance.pod:155 ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:47 ../examples/guestfs-faq.pod:538 ../examples/guestfs-performance.pod:377 ../examples/guestfs-recipes.pod:399 ../examples/guestfs-testing.pod:300 ../fish/guestfish.pod:1298 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54 ../python/examples/guestfs-python.pod:56 ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3414 ../test-tool/libguestfs-test-tool.pod:108 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)" msgstr "" #. type: textblock -#: ../appliance/libguestfs-make-fixed-appliance.pod:159 ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:334 ../src/guestfs.pod:3434 ../test-tool/libguestfs-test-tool.pod:112 +#: ../appliance/libguestfs-make-fixed-appliance.pod:159 ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:334 ../src/guestfs.pod:3418 ../test-tool/libguestfs-test-tool.pod:112 msgid "Copyright (C) 2009-2012 Red Hat Inc. L<http://libguestfs.org/>" msgstr "" @@ -3928,7 +3928,7 @@ msgid "" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:121 ../examples/guestfs-examples.pod:56 ../examples/guestfs-performance.pod:383 ../examples/guestfs-recipes.pod:408 ../examples/guestfs-testing.pod:306 ../java/examples/guestfs-java.pod:69 ../ocaml/examples/guestfs-ocaml.pod:102 ../perl/examples/guestfs-perl.pod:63 ../python/examples/guestfs-python.pod:65 ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3437 +#: ../erlang/examples/guestfs-erlang.pod:121 ../examples/guestfs-examples.pod:56 ../examples/guestfs-faq.pod:544 ../examples/guestfs-performance.pod:383 ../examples/guestfs-recipes.pod:408 ../examples/guestfs-testing.pod:306 ../java/examples/guestfs-java.pod:69 ../ocaml/examples/guestfs-ocaml.pod:102 ../perl/examples/guestfs-perl.pod:63 ../python/examples/guestfs-python.pod:65 ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3421 msgid "" "This library is free software; you can redistribute it and/or modify it " "under the terms of the GNU Lesser General Public License as published by the " @@ -3937,7 +3937,7 @@ msgid "" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:126 ../examples/guestfs-examples.pod:61 ../examples/guestfs-performance.pod:388 ../examples/guestfs-recipes.pod:413 ../examples/guestfs-testing.pod:311 ../java/examples/guestfs-java.pod:74 ../ocaml/examples/guestfs-ocaml.pod:107 ../perl/examples/guestfs-perl.pod:68 ../python/examples/guestfs-python.pod:70 ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3442 +#: ../erlang/examples/guestfs-erlang.pod:126 ../examples/guestfs-examples.pod:61 ../examples/guestfs-faq.pod:549 ../examples/guestfs-performance.pod:388 ../examples/guestfs-recipes.pod:413 ../examples/guestfs-testing.pod:311 ../java/examples/guestfs-java.pod:74 ../ocaml/examples/guestfs-ocaml.pod:107 ../perl/examples/guestfs-perl.pod:68 ../python/examples/guestfs-python.pod:70 ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3426 msgid "" "This library is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " @@ -3946,7 +3946,7 @@ msgid "" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:131 ../examples/guestfs-examples.pod:66 ../examples/guestfs-performance.pod:393 ../examples/guestfs-recipes.pod:418 ../examples/guestfs-testing.pod:316 ../java/examples/guestfs-java.pod:79 ../ocaml/examples/guestfs-ocaml.pod:112 ../perl/examples/guestfs-perl.pod:73 ../python/examples/guestfs-python.pod:75 ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3447 +#: ../erlang/examples/guestfs-erlang.pod:131 ../examples/guestfs-examples.pod:66 ../examples/guestfs-faq.pod:554 ../examples/guestfs-performance.pod:393 ../examples/guestfs-recipes.pod:418 ../examples/guestfs-testing.pod:316 ../java/examples/guestfs-java.pod:79 ../ocaml/examples/guestfs-ocaml.pod:112 ../perl/examples/guestfs-perl.pod:73 ../python/examples/guestfs-python.pod:75 ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3431 msgid "" "You should have received a copy of the GNU Lesser General Public License " "along with this library; if not, write to the Free Software Foundation, " @@ -4008,6 +4008,1103 @@ msgid "Copyright (C) 2010 Red Hat Inc. L<http://libguestfs.org/>" msgstr "" #. type: textblock +#: ../examples/guestfs-faq.pod:5 +msgid "guestfs-faq - libguestfs Frequently Asked Questions (FAQ)" +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:7 +msgid "ABOUT LIBGUESTFS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:9 +msgid "What is libguestfs?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:11 +msgid "" +"libguestfs is a way to create, access and modify disk images. You can look " +"inside disk images, modify the files they contain, create them from scratch, " +"resize them, and much more. It's especially useful from scripts and " +"programs and from the command line." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:16 +msgid "" +"libguestfs is a C library (hence \"lib-\"), and a set of tools built on this " +"library, and a set of bindings in many different programming languages." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:20 +msgid "" +"For more information about what libguestfs can do read the introduction on " +"the home page (L<http://libguestfs.org>)." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:23 +msgid "What are the virt tools?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:25 +msgid "" +"Virt tools (website: L<http://virt-tools.org>) are a whole set of " +"virtualization management tools aimed at system administrators. Some of " +"them come from libguestfs, some from libvirt and many others from other open " +"source projects. So virt tools is a superset of libguestfs. However " +"libguestfs comes with many important tools. See L<http://libguestfs.org> " +"for a full list." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:32 +msgid "Does libguestfs need { libvirt / KVM / Red Hat / Fedora }?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:34 +msgid "No!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:36 +msgid "libvirt is not a requirement for libguestfs." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:38 +msgid "" +"libguestfs works with any disk image, including ones created in VMware, KVM, " +"qemu, VirtualBox, Xen, and many other hypervisors, and ones which you have " +"created from scratch." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:42 +msgid "" +"Red Hat sponsors (ie. pays for) development of libguestfs and a huge number " +"of other open source projects. But you can run libguestfs and the virt " +"tools on many different Linux distros and Mac OS X. Some virt tools have " +"been ported to Windows." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:47 +msgid "How does libguestfs compare to other tools?" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:51 +msgid "I<vs. kpartx>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:53 +msgid "" +"Libguestfs takes a different approach from kpartx. kpartx needs root, and " +"mounts filesystems on the host kernel (which can be insecure - see " +"L<guestfs(3)/SECURITY>). Libguestfs isolates your host kernel from guests, " +"is more flexible, scriptable, supports LVM, doesn't require root, is " +"isolated from other processes, and cleans up after itself. Libguestfs is " +"more than just file access because you can use it to create images from " +"scratch." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:61 +msgid "I<vs. vdfuse>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:63 +msgid "" +"vdfuse is like kpartx but for VirtualBox images. See the kpartx comparison " +"above. You can use libguestfs on the partition files exposed by vdfuse, " +"although it's not necessary since libguestfs can access VirtualBox images " +"directly." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:68 +msgid "I<vs. qemu-nbd>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:70 +msgid "" +"nbd is like kpartx but for qcow2 images. See the kpartx comparison above. " +"You can use libguestfs and qemu-nbd together for access to block devices " +"over the network." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:74 +msgid "I<vs. mounting filesystems in the host>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:76 +msgid "" +"Mounting guest filesystems in the host is insecure and should be avoided " +"completely for untrusted guests. Use libguestfs to provide a layer of " +"protection against filesystem exploits. See also L<guestmount(1)>." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:81 +msgid "I<vs. parted>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:83 +msgid "" +"Libguestfs supports LVM. Libguestfs uses parted and provides most parted " +"features through the libguestfs API." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:88 +msgid "GETTING HELP AND REPORTING BUGS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:90 +msgid "How do I know what version I'm using?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:92 +msgid "The simplest method is:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:94 +#, no-wrap +msgid "" +" guestfish --version\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:96 +msgid "" +"Libguestfs development happens along an unstable branch and we periodically " +"create a stable branch which we backport stable patches to. To find out " +"more, read L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:100 +msgid "How can I get help? What mailing lists or chat rooms are available?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:103 +msgid "" +"If you are a Red Hat customer using Red Hat Enterprise Linux, please contact " +"Red Hat Support: L<http://redhat.com/support>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:106 +msgid "" +"There is a mailing list, mainly for development, but users are also welcome " +"to ask questions about libguestfs and the virt tools: " +"L<https://www.redhat.com/mailman/listinfo/libguestfs>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:110 +msgid "" +"You can also talk to us on IRC channel C<#libguestfs> on FreeNode. We're " +"not always around, so please stay in the channel after asking your question " +"and someone will get back to you." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:114 +msgid "" +"For other virt tools (not ones supplied with libguestfs) there is a general " +"virt tools mailing list: " +"L<https://www.redhat.com/mailman/listinfo/virt-tools-list>" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:118 +msgid "How do I report bugs?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:120 +msgid "Please use the following link to enter a bug in Bugzilla:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:122 +#, no-wrap +msgid "" +" " +"https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:124 +msgid "Include as much detail as you can and a way to reproduce the problem." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:126 +msgid "Include the full output of L<libguestfs-test-tool(1)>." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:128 +msgid "DOWNLOADING, INSTALLING, COMPILING LIBGUESTFS" +msgstr "" + +#. type: =end +#: ../examples/guestfs-faq.pod:130 ../examples/guestfs-faq.pod:135 ../examples/guestfs-faq.pod:312 ../examples/guestfs-faq.pod:317 ../src/guestfs.pod:2322 ../src/guestfs.pod:2327 +msgid "html" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:132 +msgid "<!-- old anchor for the next section --> <a name=\"binaries\"/>" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:137 +msgid "Where can I get the latest binaries for ...?" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:141 +msgid "Fedora E<ge> 11, RHEL E<ge> 5.3, EPEL 5" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:143 +msgid "Use:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:145 +#, no-wrap +msgid "" +" yum install '*guestf*'\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:147 +msgid "" +"For the latest builds, see: " +"L<http://koji.fedoraproject.org/koji/packageinfo?packageID=8391>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:150 +msgid "Red Hat Enterprise Linux 6" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:152 +msgid "" +"It is part of the default install. On RHEL 6 (only) you have to install " +"C<libguestfs-winsupport> to get Windows guest support." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:155 +msgid "RHEL 6.3" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:157 +msgid "" +"Preview packages are available here: " +"L<http://people.redhat.com/~rjones/libguestfs-RHEL-6.3-preview/>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:160 +msgid "Debian Squeeze (6)" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:162 +msgid "" +"Use Hilko Bengen's backport repository: " +"L<http://people.debian.org/~bengen/libguestfs/>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:165 +msgid "Debian Wheezy and later (7+)" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:167 +msgid "" +"Official Debian packages are available: " +"L<http://packages.debian.org/search?keywords=libguestfs> (thanks Hilko " +"Bengen)." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:171 +msgid "Ubuntu" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:173 +msgid "" +"We don't have an Ubuntu maintainer, and the packages supplied by Canonical " +"(which are outside our control) are broken. Try compiling from source (next " +"section)." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:177 +msgid "Ubuntu 10.04" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:179 +msgid "See: L<http://libguestfs.org/download/binaries/ubuntu1004-packages/>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:182 +msgid "Ubuntu 12.04" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:184 +msgid "" +"The packages supplied by Canonical are broken. See: " +"L<https://www.redhat.com/archives/libguestfs/2012-April/thread.html#00028>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:187 +msgid "Other Linux distro" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:189 +msgid "Compile from source (next section)." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:191 +msgid "Other non-Linux distro" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:193 +msgid "You'll have to compile from source, and port it." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:197 +msgid "How can I compile and install libguestfs from source?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:199 +msgid "" +"If your Linux distro has a working port of febootstrap (that is, Fedora, Red " +"Hat Enterprise Linux >= 6.3, Debian, Ubuntu and ArchLinux) then you should " +"just be able to compile from source in the usual way. Download the latest " +"tarball from L<http://libguestfs/download>, unpack it, and start by reading " +"the README file." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:205 +msgid "" +"If you I<don't> have febootstrap, you will need to use the \"fixed appliance " +"method\". See: L<http://libguestfs.org/download/binaries/appliance/>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:209 +msgid "Patches to port febootstrap to more Linux distros are welcome." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:211 +msgid "" +"Why do I get an error when I try to rebuild from the source RPMs supplied by " +"Red Hat / Fedora?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:214 +msgid "" +"Because of the complexity of building the libguestfs appliance, the source " +"RPMs provided cannot be rebuilt directly using C<rpmbuild> or C<mock>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:218 +msgid "" +"If you use Koji (which is open source software and may be installed " +"locally), then the SRPMs can be rebuilt in Koji. " +"L<https://fedoraproject.org/wiki/Koji>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:222 +msgid "" +"If you don't have or want to use Koji, then you have to give libguestfs " +"access to the network so it can download the RPMs for building the " +"appliance. You also need to set an RPM macro to tell libguestfs to use the " +"network. Put the following line into a file called C<$HOME/.rpmmacros>:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:228 +#, no-wrap +msgid "" +" %libguestfs_buildnet 1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:230 +msgid "If you are using mock, do:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:232 +#, no-wrap +msgid "" +" mock -D '%libguestfs_buildnet 1' [etc]\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:234 +msgid "Libguestfs has a really long list of dependencies!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:236 +msgid "That's because it does a lot of things." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:238 +msgid "How can I speed up libguestfs builds?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:240 +msgid "" +"By far the most important thing you can do is to install and properly " +"configure Squid. Note that the default configuration that ships with Squid " +"is rubbish, so configuring it is not optional." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:244 +msgid "" +"A very good place to start with Squid configuration is here: " +"L<https://fedoraproject.org/wiki/Extras/MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:247 +msgid "" +"Make sure Squid is running, and that the environment variables " +"C<$http_proxy> and C<$ftp_proxy> are pointing to it." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:250 +msgid "" +"With Squid running and correctly configured, appliance builds should be " +"reduced to a few minutes." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:253 +msgid "SPEED, DISK SPACE USED BY LIBGUESTFS" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:255 +msgid "" +"Note: Most of the information in this section has moved: " +"L<guestfs-performance(1)>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:258 +msgid "Upload or write seem very slow." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:260 +msgid "" +"In libguestfs E<lt> 1.13.16, the mount command (L<guestfs(3)/guestfs_mount>) " +"enabled option C<-o sync> implicitly. This causes very poor write " +"performance, and was one of the main gotchas for new libguestfs users." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:265 +msgid "" +"For libguestfs E<lt> 1.13.16, replace mount with C<mount-options>, leaving " +"the first parameter as an empty string." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:268 +msgid "" +"You can also do this with more recent versions of libguestfs, but if you " +"know that you are using libguestfs ≥ 1.13.16 then it's safe to use plain " +"mount." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:272 +msgid "" +"If the underlying disk is not fully allocated (eg. sparse raw or qcow2) then " +"writes can be slow because the host operating system has to do costly disk " +"allocations while you are writing. The solution is to use a fully allocated " +"format instead, ie. non-sparse raw, or qcow2 with the " +"C<preallocation=metadata> option." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:278 +msgid "Libguestfs uses too much disk space!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:280 +msgid "libguestfs caches a large-ish appliance in:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:282 +#, no-wrap +msgid "" +" /var/tmp/.guestfs-<UID>\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:284 +msgid "" +"If the environment variable C<TMPDIR> is defined, then " +"C<$TMPDIR/.guestfs-E<lt>UIDE<gt>> is used instead." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:287 +msgid "It is safe to delete this directory when you are not using libguestfs." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:289 +msgid "USING LIBGUESTFS IN YOUR OWN PROGRAMS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:291 +msgid "The API has hundreds of methods, where do I start?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:293 +msgid "" +"We recommend you start by reading the API overview: L<guestfs(3)/API " +"OVERVIEW>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:296 +msgid "" +"Although the API overview covers the C API, it is still worth reading even " +"if you are going to use another programming language, because the API is the " +"same, just with simple logical changes to the names of the calls:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:301 +#, no-wrap +msgid "" +" C guestfs_ln_sf (g, target, linkname);\n" +" Python g.ln_sf (target, linkname);\n" +" OCaml g#ln_sf target linkname;\n" +" Perl $g->ln_sf (target, linkname);\n" +" Shell (guestfish) ln-sf target linkname\n" +" PHP guestfs_ln_sf ($g, $target, $linkname);\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:308 +msgid "" +"Once you're familiar with the API overview, you should look at this list of " +"starting points for other language bindings: L<guestfs(3)/USING LIBGUESTFS " +"WITH OTHER PROGRAMMING LANGUAGES>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:314 +msgid "<!-- old anchor for the next section --> <a name=\"debug\"/>" +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:319 +msgid "DEBUGGING LIBGUESTFS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:321 +msgid "" +"How do I debug when using any libguestfs program or tool (eg. virt-v2v or " +"virt-df)?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:324 +msgid "" +"There are two C<LIBGUESTFS_*> environment variables you can set in order to " +"get more information from libguestfs." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:329 +msgid "C<LIBGUESTFS_TRACE>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:331 +msgid "" +"Set this to 1 and libguestfs will print out each command / API call in a " +"format which is similar to guestfish commands." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:334 +msgid "C<LIBGUESTFS_DEBUG>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:336 +msgid "" +"Set this to 1 in order to enable massive amounts of debug messages. If you " +"think there is some problem inside the libguestfs appliance, then you should " +"use this option." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:342 +msgid "To set these from the shell, do this before running the program:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:344 +#, no-wrap +msgid "" +" export LIBGUESTFS_TRACE=1\n" +" export LIBGUESTFS_DEBUG=1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:347 +msgid "For csh/tcsh the equivalent commands would be:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:349 +#, no-wrap +msgid "" +" setenv LIBGUESTFS_TRACE 1\n" +" setenv LIBGUESTFS_DEBUG 1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:352 +msgid "For further information, see: L<guestfs(3)/ENVIRONMENT VARIABLES>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:354 +msgid "How do I debug when using guestfish?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:356 +msgid "" +"You can use the same environment variables above. Alternatively use the " +"guestfish options -x (to trace commands) or -v (to get the full debug " +"output), or both." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:360 +msgid "For further information, see: L<guestfish(1)>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:362 +msgid "How do I debug when using the API?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:364 +msgid "" +"Call L<guestfs(3)/guestfs_set_trace> to enable command traces, and/or " +"L<guestfs(3)/guestfs_set_verbose> to enable debug messages." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:367 +msgid "" +"For best results, call these functions as early as possible, just after " +"creating the guestfs handle if you can, and definitely before calling " +"launch." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:371 +msgid "How do I capture debug output and put it into my logging system?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:373 +msgid "" +"Use the event API. For examples, see: L<guestfs(3)/SETTING CALLBACKS TO " +"HANDLE EVENTS>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:376 +msgid "Digging deeper into the appliance boot process." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:378 +msgid "" +"Enable debugging and then read this documentation on the appliance boot " +"process: L<guestfs(3)/INTERNALS>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:381 +msgid "libguestfs hangs or fails during run/launch." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:383 +msgid "" +"Enable debugging and look at the full output. If you cannot work out what " +"is going on, file a bug report, including the I<complete> output of " +"L<libguestfs-test-tool(1)>." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:387 +msgid "DESIGN/INTERNALS OF LIBGUESTFS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:389 +msgid "Why don't you do everything through the FUSE / filesystem interface?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:392 +msgid "" +"We offer a command called L<guestmount(1)> which lets you mount guest " +"filesystems on the host. This is implemented as a FUSE module. Why don't " +"we just implement the whole of libguestfs using this mechanism, instead of " +"having the large and rather complicated API?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:397 +msgid "" +"The reasons are twofold. Firstly, libguestfs offers API calls for doing " +"things like creating and deleting partitions and logical volumes, which " +"don't fit into a filesystem model very easily. Or rather, you could fit " +"them in: for example, creating a partition could be mapped to C<mkdir " +"/fs/hda1> but then you'd have to specify some method to choose the size of " +"the partition (maybe C<echo 100M E<gt> /fs/hda1/.size>), and the partition " +"type, start and end sectors etc., but once you've done that the " +"filesystem-based API starts to look more complicated than the call-based API " +"we currently have." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:407 +msgid "" +"The second reason is for efficiency. FUSE itself is reasonably efficient, " +"but it does make lots of small, independent calls into the FUSE module. In " +"guestmount these have to be translated into messages to the libguestfs " +"appliance which has a big overhead (in time and round trips). For example, " +"reading a file in 64 KB chunks is inefficient because each chunk would turn " +"into a single round trip. In the libguestfs API it is much more efficient " +"to download an entire file or directory through one of the streaming calls " +"like C<guestfs_download> or C<guestfs_tar_out>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:417 +msgid "Why don't you do everything through GVFS?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:419 +msgid "The problems are similar to the problems with FUSE." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:421 +msgid "" +"GVFS is a better abstraction than POSIX/FUSE. There is an FTP backend for " +"GVFS, which is encouraging because FTP is conceptually similar to the " +"libguestfs API. However the GVFS FTP backend makes multiple simultaneous " +"connections in order to keep interactivity, which we can't easily do with " +"libguestfs." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:427 +msgid "Can I use C<guestfish --ro> as a way to backup my virtual machines?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:429 +msgid "" +"Usually this is not a good idea. The question is answered in more detail in " +"this mailing list posting: " +"L<https://www.redhat.com/archives/libguestfs/2010-August/msg00024.html>" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:433 +msgid "What's the difference between guestfish and virt-rescue?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:435 +msgid "" +"A lot of people are confused by the two superficially similar tools we " +"provide:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:438 +#, no-wrap +msgid "" +" $ guestfish --ro -a guest.img\n" +" ><fs> run\n" +" ><fs> fsck /dev/sda1\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:442 +#, no-wrap +msgid "" +" $ virt-rescue --ro guest.img\n" +" ><rescue> /sbin/fsck /dev/sda1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:445 +msgid "" +"And the related question which then arises is why you can't type in full " +"shell commands with all the --options in guestfish (but you can in " +"L<virt-rescue(1)>)." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:449 +msgid "" +"L<guestfish(1)> is a program providing structured access to the " +"L<guestfs(3)> API. It happens to be a nice interactive shell too, but its " +"primary purpose is structured access from shell scripts. Think of it more " +"like a language binding, like Python and other bindings, but for shell. The " +"key differentiating factor of guestfish (and the libguestfs API in general) " +"is the ability to automate changes." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:456 +msgid "" +"L<virt-rescue(1)> is a free-for-all freeform way to boot the libguestfs " +"appliance and make arbitrary changes to your VM. It's not structured, you " +"can't automate it, but for making quick ad-hoc fixes to your guests, it can " +"be quite useful." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:461 +msgid "" +"But, libguestfs also has a \"backdoor\" into the appliance allowing you to " +"send arbitrary shell commands. It's not as flexible as virt-rescue, because " +"you can't interact with the shell commands, but here it is anyway:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:466 +#, no-wrap +msgid "" +" ><fs> debug sh \"cmd arg1 arg2 ...\"\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:468 +msgid "" +"Note that you should B<not> rely on this. It could be removed or changed in " +"future. If your program needs some operation, please add it to the " +"libguestfs API instead." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:472 +msgid "" +"What's the deal with C<guestfish -i>? Why does virt-cat only work on a real " +"VM image, but virt-df works on any disk image? What does \"no root device " +"found in this operating system image\" mean?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:477 +msgid "" +"These questions are all related at a fundamental level which may not be " +"immediately obvious." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:480 +msgid "" +"At the L<guestfs(3)> API level, a \"disk image\" is just a pile of " +"partitions and filesystems." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:483 +msgid "" +"In contrast, when the virtual machine boots, it mounts those filesystems " +"into a consistent hierarchy such as:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:486 +#, no-wrap +msgid "" +" / (/dev/sda2)\n" +" |\n" +" +-- /boot (/dev/sda1)\n" +" |\n" +" +-- /home (/dev/vg_external/Homes)\n" +" |\n" +" +-- /usr (/dev/vg_os/lv_usr)\n" +" |\n" +" +-- /var (/dev/vg_os/lv_var)\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:496 +msgid "(or drive letters on Windows)." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:498 +msgid "" +"The API first of all sees the disk image at the \"pile of filesystems\" " +"level. But it also has a way to inspect the disk image to see if it " +"contains an operating system, and how the disks are mounted when the " +"operating system boots: L<guestfs(3)/INSPECTION>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:503 +msgid "Users expect some tools (like L<virt-cat(1)>) to work with VM paths:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:505 +#, no-wrap +msgid "" +" virt-cat fedora.img /var/log/messages\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:507 +msgid "" +"How does virt-cat know that C</var> is a separate partition? The trick is " +"that virt-cat performs inspection on the disk image, and uses that to " +"translate the path correctly." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:511 +msgid "" +"Some tools (including L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)>) use " +"inspection to map VM paths. Other tools, such as L<virt-df(1)> and " +"L<virt-filesystems(1)> operate entirely at the raw \"big pile of " +"filesystems\" level of the libguestfs API, and don't use inspection." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:516 +msgid "" +"L<guestfish(1)> is in an interesting middle ground. If you use the I<-a> " +"and I<-m> command line options, then you have to tell guestfish exactly how " +"to add disk images and where to mount partitions. This is the raw API level." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:521 +msgid "" +"If you use the I<-i> option, libguestfs performs inspection and mounts the " +"filesystems for you." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:524 +msgid "" +"The error C<no root device found in this operating system image> is related " +"to this. It means inspection was unable to locate an operating system " +"within the disk image you gave it. You might see this from programs like " +"virt-cat if you try to run them on something which is just a disk image, not " +"a virtual machine disk image." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:532 +msgid "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:542 ../examples/guestfs-performance.pod:381 +msgid "Copyright (C) 2012 Red Hat Inc. L<http://libguestfs.org/>" +msgstr "" + +#. type: textblock #: ../examples/guestfs-performance.pod:5 msgid "guestfs-performance - engineering libguestfs for greatest performance" msgstr "" @@ -4299,7 +5396,7 @@ msgid "" msgstr "" #. type: =item -#: ../examples/guestfs-performance.pod:162 ../examples/guestfs-performance.pod:211 ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:230 ../src/guestfs.pod:488 ../src/guestfs.pod:1387 ../src/guestfs.pod:1526 ../src/guestfs.pod:2774 +#: ../examples/guestfs-performance.pod:162 ../examples/guestfs-performance.pod:211 ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:230 ../src/guestfs.pod:471 ../src/guestfs.pod:1370 ../src/guestfs.pod:1509 ../src/guestfs.pod:2757 msgid "1." msgstr "" @@ -4311,7 +5408,7 @@ msgid "" msgstr "" #. type: =item -#: ../examples/guestfs-performance.pod:168 ../examples/guestfs-performance.pod:218 ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:237 ../src/guestfs.pod:494 ../src/guestfs.pod:1391 ../src/guestfs.pod:1530 ../src/guestfs.pod:2799 +#: ../examples/guestfs-performance.pod:168 ../examples/guestfs-performance.pod:218 ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:237 ../src/guestfs.pod:477 ../src/guestfs.pod:1374 ../src/guestfs.pod:1513 ../src/guestfs.pod:2782 msgid "2." msgstr "" @@ -4326,7 +5423,7 @@ msgid "" msgstr "" #. type: =item -#: ../examples/guestfs-performance.pod:176 ../examples/guestfs-performance.pod:224 ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:243 ../src/guestfs.pod:505 ../src/guestfs.pod:1536 +#: ../examples/guestfs-performance.pod:176 ../examples/guestfs-performance.pod:224 ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:243 ../src/guestfs.pod:488 ../src/guestfs.pod:1519 msgid "3." msgstr "" @@ -4549,7 +5646,7 @@ msgid "Save the following script as C<time.stap>:" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:305 ../src/guestfs.pod:2287 +#: ../examples/guestfs-performance.pod:305 ../src/guestfs.pod:2270 #, no-wrap msgid "" " global last;\n" @@ -4557,7 +5654,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:307 ../src/guestfs.pod:2289 +#: ../examples/guestfs-performance.pod:307 ../src/guestfs.pod:2272 #, no-wrap msgid "" " function display_time () {\n" @@ -4570,7 +5667,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:314 ../src/guestfs.pod:2296 +#: ../examples/guestfs-performance.pod:314 ../src/guestfs.pod:2279 #, no-wrap msgid "" " printf (\"%d (+%d):\", now, delta);\n" @@ -4579,7 +5676,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:317 ../src/guestfs.pod:2299 +#: ../examples/guestfs-performance.pod:317 ../src/guestfs.pod:2282 #, no-wrap msgid "" " probe begin {\n" @@ -4590,7 +5687,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2304 +#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2287 #, no-wrap msgid "" " /* Display all calls to static markers. */\n" @@ -4684,11 +5781,6 @@ msgid "" "L<http://libguestfs.org/>." msgstr "" -#. type: textblock -#: ../examples/guestfs-performance.pod:381 -msgid "Copyright (C) 2012 Red Hat Inc. L<http://libguestfs.org/>" -msgstr "" - #. type: =end #: ../examples/guestfs-recipes.pod:3 ../examples/guestfs-recipes.pod:12 msgid "comment" @@ -4963,7 +6055,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:128 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1576 ../fish/guestfish-actions.pod:1967 ../fish/guestfish-actions.pod:2394 ../src/guestfs-actions.pod:18 ../src/guestfs-actions.pod:2547 ../src/guestfs-actions.pod:3106 ../src/guestfs-actions.pod:3675 ../src/guestfs.pod:1770 ../tools/virt-win-reg.pl:717 +#: ../examples/guestfs-recipes.pod:128 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1576 ../fish/guestfish-actions.pod:1967 ../fish/guestfish-actions.pod:2394 ../src/guestfs-actions.pod:18 ../src/guestfs-actions.pod:2547 ../src/guestfs-actions.pod:3106 ../src/guestfs-actions.pod:3675 ../src/guestfs.pod:1753 ../tools/virt-win-reg.pl:717 msgid "Notes:" msgstr "" @@ -5603,7 +6695,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161 ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234 ../src/guestfs.pod:2877 +#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161 ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234 ../src/guestfs.pod:2860 msgid "or:" msgstr "" @@ -5777,7 +6869,7 @@ msgid "Try importing virt-df CSV output into a spreadsheet or database." msgstr "" #. type: textblock -#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3158 +#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3141 msgid "Run:" msgstr "" @@ -6497,7 +7589,7 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:171 ../src/guestfs-actions.pod:231 ../src/guestfs.pod:3037 +#: ../fish/guestfish-actions.pod:171 ../src/guestfs-actions.pod:231 ../src/guestfs.pod:3020 msgid "C<format>" msgstr "" @@ -16503,7 +17595,7 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:4848 ../src/guestfs-actions.pod:7570 ../src/guestfs.pod:3001 +#: ../fish/guestfish-actions.pod:4848 ../src/guestfs-actions.pod:7570 ../src/guestfs.pod:2984 msgid "C<appliance>" msgstr "" @@ -20386,7 +21478,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2328 +#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2311 #, no-wrap msgid "" " guestfish -N fs\n" @@ -21853,7 +22945,7 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:825 ../src/guestfs.pod:538 +#: ../fish/guestfish.pod:825 ../src/guestfs.pod:521 msgid "ENCRYPTED DISKS" msgstr "" @@ -22217,7 +23309,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:982 ../src/guestfs.pod:1065 +#: ../fish/guestfish.pod:982 ../src/guestfs.pod:1048 #, no-wrap msgid "" " #!/bin/bash -\n" @@ -22503,7 +23595,7 @@ msgid "COMMANDS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1605 +#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1588 msgid "@ACTIONS@" msgstr "" @@ -22527,17 +23619,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3288 +#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3271 msgid "FEBOOTSTRAP_KERNEL" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3290 +#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3273 msgid "FEBOOTSTRAP_MODULES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3292 +#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3275 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 " @@ -22595,17 +23687,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3298 +#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3281 msgid "LIBGUESTFS_APPEND" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3300 +#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3283 msgid "Pass additional options to the guest kernel." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3302 +#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3285 msgid "LIBGUESTFS_DEBUG" msgstr "" @@ -22617,17 +23709,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3307 +#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3290 msgid "LIBGUESTFS_MEMSIZE" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3309 +#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3292 msgid "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3312 +#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3295 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -22635,7 +23727,7 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3314 +#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3297 msgid "LIBGUESTFS_PATH" msgstr "" @@ -22647,19 +23739,19 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3319 +#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3302 msgid "LIBGUESTFS_QEMU" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3321 +#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3304 msgid "" "Set the default qemu binary that libguestfs uses. If not set, then the qemu " "which was found at compile time by the configure script is used." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3327 +#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3310 msgid "LIBGUESTFS_TRACE" msgstr "" @@ -22681,19 +23773,19 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:263 ../src/guestfs.pod:3332 +#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:263 ../src/guestfs.pod:3315 msgid "TMPDIR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3334 +#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3317 msgid "" "Location of temporary directory, defaults to C</tmp> except for the cached " "supermin appliance which defaults to C</var/tmp>." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3337 +#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3320 msgid "" "If libguestfs was compiled to use the supermin appliance then the real " "appliance is cached in this directory, shared between all handles belonging " @@ -37978,68 +39070,44 @@ msgstr "" #. type: textblock #: ../src/guestfs.pod:25 msgid "" -"Libguestfs is a library for accessing and modifying guest disk images. " -"Amongst the things this is good for: making batch configuration changes to " -"guests, getting disk used/free statistics (see also: virt-df), migrating " -"between virtualization systems (see also: virt-p2v), performing partial " -"backups, performing partial guest clones, cloning guests and changing " -"registry/UUID/hostname info, and much else besides." +"Libguestfs is a library for accessing and modifying disk images and virtual " +"machines. This manual page documents the C API." msgstr "" #. type: textblock -#: ../src/guestfs.pod:33 +#: ../src/guestfs.pod:28 msgid "" -"Libguestfs uses Linux kernel and qemu code, and can access any type of guest " -"filesystem that Linux and qemu can, including but not limited to: ext2/3/4, " -"btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, " -"qcow2, vmdk." +"If you are looking for an introduction to libguestfs, see the web site: " +"L<http://libguestfs.org/>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:38 +#: ../src/guestfs.pod:31 msgid "" -"Libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, " -"what filesystem is in each LV, etc.). It can also run commands in the " -"context of the guest. Also you can access filesystems over FUSE." +"Each virt tool has its own man page (for a full list, go to L</SEE ALSO> at " +"the end of this file)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:43 -msgid "" -"Libguestfs is a library that can be linked with C and C++ management " -"programs (or management programs written in OCaml, Perl, Python, Ruby, Java, " -"PHP, Erlang, Haskell or C#). You can also use it from shell scripts or the " -"command line." -msgstr "" - -#. type: textblock -#: ../src/guestfs.pod:48 -msgid "" -"You don't need to be root to use libguestfs, although obviously you do need " -"enough permissions to access the disk images." +#: ../src/guestfs.pod:34 +msgid "The libguestfs FAQ contains many useful answers: L<guestfs-faq(1)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:51 +#: ../src/guestfs.pod:36 msgid "" -"Libguestfs is a large API because it can do many things. For a gentle " -"introduction, please read the L</API OVERVIEW> section next." -msgstr "" - -#. type: textblock -#: ../src/guestfs.pod:54 -msgid "" -"There are also some example programs in the L<guestfs-examples(3)> manual " -"page." +"For examples of using the API from C, see L<guestfs-examples(3)>. For " +"examples in other languages, see L</USING LIBGUESTFS WITH OTHER PROGRAMMING " +"LANGUAGES> below." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:57 +#: ../src/guestfs.pod:40 msgid "API OVERVIEW" msgstr "" #. type: textblock -#: ../src/guestfs.pod:59 +#: ../src/guestfs.pod:42 msgid "" "This section provides a gentler overview of the libguestfs API. We also try " "to group API calls together, where that may not be obvious from reading " @@ -38047,12 +39115,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:64 +#: ../src/guestfs.pod:47 msgid "HANDLES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:66 +#: ../src/guestfs.pod:49 msgid "" "Before you can use libguestfs calls, you have to create a handle. Then you " "must add at least one disk image to the handle, followed by launching the " @@ -38062,12 +39130,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:73 +#: ../src/guestfs.pod:56 msgid "The general structure of all libguestfs-using programs looks like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:76 +#: ../src/guestfs.pod:59 #, no-wrap msgid "" " guestfs_h *g = guestfs_create ();\n" @@ -38075,7 +39143,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:78 +#: ../src/guestfs.pod:61 #, no-wrap msgid "" " /* Call guestfs_add_drive additional times if there are\n" @@ -38086,7 +39154,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:83 +#: ../src/guestfs.pod:66 #, no-wrap msgid "" " /* Most manipulation calls won't work until you've launched\n" @@ -38098,7 +39166,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:89 +#: ../src/guestfs.pod:72 #, no-wrap msgid "" " /* Now you can examine what partitions, LVs etc are available.\n" @@ -38109,7 +39177,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:94 +#: ../src/guestfs.pod:77 #, no-wrap msgid "" " /* To access a filesystem in the image, you must mount it.\n" @@ -38119,7 +39187,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:98 +#: ../src/guestfs.pod:81 #, no-wrap msgid "" " /* Now you can perform filesystem actions on the guest\n" @@ -38130,7 +39198,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:103 +#: ../src/guestfs.pod:86 #, no-wrap msgid "" " /* This is only needed for libguestfs < 1.5.24. Since then\n" @@ -38142,7 +39210,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:109 +#: ../src/guestfs.pod:92 #, no-wrap msgid "" " /* Close the handle 'g'. */\n" @@ -38151,7 +39219,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:112 +#: ../src/guestfs.pod:95 msgid "" "The code above doesn't include any error checking. In real code you should " "check return values carefully for errors. In general all functions that " @@ -38163,12 +39231,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:121 +#: ../src/guestfs.pod:104 msgid "DISK IMAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:123 +#: ../src/guestfs.pod:106 msgid "" "The image filename (C<\"guest.img\"> in the example above) could be a disk " "image from a virtual machine, a L<dd(1)> copy of a physical hard disk, an " @@ -38178,7 +39246,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:129 +#: ../src/guestfs.pod:112 msgid "" "The call you should use in modern code for adding drives is " "L</guestfs_add_drive_opts>. To add a disk image, allowing writes, and " @@ -38186,7 +39254,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:133 +#: ../src/guestfs.pod:116 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -38196,12 +39264,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:137 +#: ../src/guestfs.pod:120 msgid "You can add a disk read-only using:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:139 +#: ../src/guestfs.pod:122 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -38212,14 +39280,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:144 +#: ../src/guestfs.pod:127 msgid "" "or by calling the older function L</guestfs_add_drive_ro>. In either case " "libguestfs won't modify the file." msgstr "" #. type: textblock -#: ../src/guestfs.pod:147 +#: ../src/guestfs.pod:130 msgid "" "Be extremely cautious if the disk image is in use, eg. if it is being used " "by a virtual machine. Adding it read-write will almost certainly cause disk " @@ -38227,7 +39295,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:151 +#: ../src/guestfs.pod:134 msgid "" "You must add at least one disk image, and you may add multiple disk images. " "In the API, the disk images are usually referred to as C</dev/sda> (for the " @@ -38235,7 +39303,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:156 +#: ../src/guestfs.pod:139 msgid "" "Once L</guestfs_launch> has been called you cannot add any more images. You " "can call L</guestfs_list_devices> to get a list of the device names, in the " @@ -38243,12 +39311,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:161 +#: ../src/guestfs.pod:144 msgid "MOUNTING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:163 +#: ../src/guestfs.pod:146 msgid "" "Before you can read or write files, create directories and so on in a disk " "image that contains filesystems, you have to mount those filesystems using " @@ -38258,7 +39326,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:170 +#: ../src/guestfs.pod:153 #, no-wrap msgid "" " guestfs_mount_options (g, \"\", \"/dev/sda1\", \"/\");\n" @@ -38266,7 +39334,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:172 +#: ../src/guestfs.pod:155 msgid "" "where C</dev/sda1> means literally the first partition (C<1>) of the first " "disk image that we added (C</dev/sda>). If the disk contains Linux LVM2 " @@ -38276,7 +39344,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:178 +#: ../src/guestfs.pod:161 msgid "" "If you are given a disk image and you don't know what it contains then you " "have to find out. Libguestfs can do that too: use " @@ -38287,7 +39355,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:186 +#: ../src/guestfs.pod:169 msgid "" "Libguestfs also has a set of APIs for inspection of unknown disk images (see " "L</INSPECTION> below). But you might find it easier to look at higher level " @@ -38295,19 +39363,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:191 +#: ../src/guestfs.pod:174 msgid "" "To mount a filesystem read-only, use L</guestfs_mount_ro>. There are " "several other variations of the C<guestfs_mount_*> call." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:194 +#: ../src/guestfs.pod:177 msgid "FILESYSTEM ACCESS AND MODIFICATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:196 +#: ../src/guestfs.pod:179 msgid "" "The majority of the libguestfs API consists of fairly low-level calls for " "accessing and modifying the files, directories, symlinks etc on mounted " @@ -38317,21 +39385,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:202 +#: ../src/guestfs.pod:185 msgid "" "Specify filenames as full paths, starting with C<\"/\"> and including the " "mount point." msgstr "" #. type: textblock -#: ../src/guestfs.pod:205 +#: ../src/guestfs.pod:188 msgid "" "For example, if you mounted a filesystem at C<\"/\"> and you want to read " "the file called C<\"etc/passwd\"> then you could do:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:208 +#: ../src/guestfs.pod:191 #, no-wrap msgid "" " char *data = guestfs_cat (g, \"/etc/passwd\");\n" @@ -38339,7 +39407,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:210 +#: ../src/guestfs.pod:193 msgid "" "This would return C<data> as a newly allocated buffer containing the full " "content of that file (with some conditions: see also L</DOWNLOADING> below), " @@ -38347,14 +39415,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:214 +#: ../src/guestfs.pod:197 msgid "" "As another example, to create a top-level directory on that filesystem " "called C<\"var\"> you would do:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:217 +#: ../src/guestfs.pod:200 #, no-wrap msgid "" " guestfs_mkdir (g, \"/var\");\n" @@ -38362,12 +39430,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:219 +#: ../src/guestfs.pod:202 msgid "To create a symlink you could do:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:221 +#: ../src/guestfs.pod:204 #, no-wrap msgid "" " guestfs_ln_s (g, \"/etc/init.d/portmap\",\n" @@ -38376,14 +39444,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:224 +#: ../src/guestfs.pod:207 msgid "" "Libguestfs will reject attempts to use relative paths and there is no " "concept of a current working directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:227 +#: ../src/guestfs.pod:210 msgid "" "Libguestfs can return errors in many situations: for example if the " "filesystem isn't writable, or if a file or directory that you requested " @@ -38393,40 +39461,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:233 +#: ../src/guestfs.pod:216 msgid "" "File writes are affected by the per-handle umask, set by calling " "L</guestfs_umask> and defaulting to 022. See L</UMASK>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:236 +#: ../src/guestfs.pod:219 msgid "" "Since libguestfs 1.18, it is possible to mount the libguestfs filesystem on " "a local directory, subject to some restrictions. See L</MOUNT LOCAL> below." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:240 +#: ../src/guestfs.pod:223 msgid "PARTITIONING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:242 +#: ../src/guestfs.pod:225 msgid "" "Libguestfs contains API calls to read, create and modify partition tables on " "disk images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:245 +#: ../src/guestfs.pod:228 msgid "" "In the common case where you want to create a single partition covering the " "whole disk, you should use the L</guestfs_part_disk> call:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:249 +#: ../src/guestfs.pod:232 #, no-wrap msgid "" " const char *parttype = \"mbr\";\n" @@ -38437,19 +39505,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:254 +#: ../src/guestfs.pod:237 msgid "" "Obviously this effectively wipes anything that was on that disk image " "before." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:257 +#: ../src/guestfs.pod:240 msgid "LVM2" msgstr "" #. type: textblock -#: ../src/guestfs.pod:259 +#: ../src/guestfs.pod:242 msgid "" "Libguestfs provides access to a large part of the LVM2 API, such as " "L</guestfs_lvcreate> and L</guestfs_vgremove>. It won't make much sense " @@ -38458,19 +39526,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:264 +#: ../src/guestfs.pod:247 msgid "" "This author strongly recommends reading the LVM HOWTO, online at " "L<http://tldp.org/HOWTO/LVM-HOWTO/>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:267 +#: ../src/guestfs.pod:250 msgid "DOWNLOADING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:269 +#: ../src/guestfs.pod:252 msgid "" "Use L</guestfs_cat> to download small, text only files. This call is " "limited to files which are less than 2 MB and which cannot contain any ASCII " @@ -38478,7 +39546,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:273 +#: ../src/guestfs.pod:256 msgid "" "L</guestfs_read_file> can be used to read files which contain arbitrary 8 " "bit data, since it returns a (pointer, size) pair. However it is still " @@ -38486,31 +39554,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:277 +#: ../src/guestfs.pod:260 msgid "" "L</guestfs_download> can be used to download any file, with no limits on " "content or size (even files larger than 4 GB)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:280 +#: ../src/guestfs.pod:263 msgid "To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:283 +#: ../src/guestfs.pod:266 msgid "UPLOADING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:285 +#: ../src/guestfs.pod:268 msgid "" "It's often the case that you want to write a file or files to the disk " "image." msgstr "" #. type: textblock -#: ../src/guestfs.pod:288 +#: ../src/guestfs.pod:271 msgid "" "To write a small file with fixed content, use L</guestfs_write>. To create " "a file of all zeroes, use L</guestfs_truncate_size> (sparse) or " @@ -38520,19 +39588,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:294 +#: ../src/guestfs.pod:277 msgid "" "To upload a single file, use L</guestfs_upload>. This call has no limits on " "file content or size (even files larger than 4 GB)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:297 +#: ../src/guestfs.pod:280 msgid "To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:299 +#: ../src/guestfs.pod:282 msgid "" "However the fastest way to upload I<large numbers of arbitrary files> is to " "turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and " @@ -38546,12 +39614,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:310 +#: ../src/guestfs.pod:293 msgid "COPYING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:312 +#: ../src/guestfs.pod:295 msgid "" "There are various different commands for copying between files and devices " "and in and out of the guest filesystem. These are summarised in the table " @@ -38559,51 +39627,51 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:318 +#: ../src/guestfs.pod:301 msgid "B<file> to B<file>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:320 +#: ../src/guestfs.pod:303 msgid "" "Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy " "directories recursively." msgstr "" #. type: textblock -#: ../src/guestfs.pod:323 +#: ../src/guestfs.pod:306 msgid "To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>." msgstr "" #. type: =item -#: ../src/guestfs.pod:326 +#: ../src/guestfs.pod:309 msgid "B<file> to B<device>" msgstr "" #. type: =item -#: ../src/guestfs.pod:328 +#: ../src/guestfs.pod:311 msgid "B<device> to B<file>" msgstr "" #. type: =item -#: ../src/guestfs.pod:330 +#: ../src/guestfs.pod:313 msgid "B<device> to B<device>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:332 +#: ../src/guestfs.pod:315 msgid "" "Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or " "L</guestfs_copy_device_to_device>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:335 +#: ../src/guestfs.pod:318 msgid "Example: duplicate the contents of an LV:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:337 +#: ../src/guestfs.pod:320 #, no-wrap msgid "" " guestfs_copy_device_to_device (g,\n" @@ -38614,7 +39682,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:342 +#: ../src/guestfs.pod:325 msgid "" "The destination (C</dev/VG/Copy>) must be at least as large as the source " "(C</dev/VG/Original>). To copy less than the whole source device, use the " @@ -38622,7 +39690,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:346 +#: ../src/guestfs.pod:329 #, no-wrap msgid "" " guestfs_copy_device_to_device (g,\n" @@ -38633,32 +39701,32 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:351 +#: ../src/guestfs.pod:334 msgid "B<file on the host> to B<file or device>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:353 +#: ../src/guestfs.pod:336 msgid "Use L</guestfs_upload>. See L</UPLOADING> above." msgstr "" #. type: =item -#: ../src/guestfs.pod:355 +#: ../src/guestfs.pod:338 msgid "B<file or device> to B<file on the host>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:357 +#: ../src/guestfs.pod:340 msgid "Use L</guestfs_download>. See L</DOWNLOADING> above." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:361 +#: ../src/guestfs.pod:344 msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:363 +#: ../src/guestfs.pod:346 msgid "" "Calls like L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, " "L</guestfs_tar_out> etc appear to only take filenames as arguments, so it " @@ -38669,12 +39737,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:371 +#: ../src/guestfs.pod:354 msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:374 +#: ../src/guestfs.pod:357 #, no-wrap msgid "" " guestfs_download (g, filename, \"/dev/stdout\");\n" @@ -38682,12 +39750,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:376 +#: ../src/guestfs.pod:359 msgid "and you can write tar output to a file descriptor C<fd> by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:378 +#: ../src/guestfs.pod:361 #, no-wrap msgid "" " char devfd[64];\n" @@ -38697,26 +39765,26 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:382 +#: ../src/guestfs.pod:365 msgid "LISTING FILES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:384 +#: ../src/guestfs.pod:367 msgid "" "L</guestfs_ll> is just designed for humans to read (mainly when using the " "L<guestfish(1)>-equivalent command C<ll>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:387 +#: ../src/guestfs.pod:370 msgid "" "L</guestfs_ls> is a quick way to get a list of files in a directory from " "programs, as a flat list of strings." msgstr "" #. type: textblock -#: ../src/guestfs.pod:390 +#: ../src/guestfs.pod:373 msgid "" "L</guestfs_readdir> is a programmatic way to get a list of files in a " "directory, plus additional information about each one. It is more " @@ -38724,19 +39792,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:394 +#: ../src/guestfs.pod:377 msgid "" "L</guestfs_find> and L</guestfs_find0> can be used to recursively list " "files." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:397 +#: ../src/guestfs.pod:380 msgid "RUNNING COMMANDS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:399 +#: ../src/guestfs.pod:382 msgid "" "Although libguestfs is primarily an API for manipulating files inside guest " "images, we also provide some limited facilities for running commands inside " @@ -38744,55 +39812,55 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:403 +#: ../src/guestfs.pod:386 msgid "There are many limitations to this:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:409 +#: ../src/guestfs.pod:392 msgid "" "The kernel version that the command runs under will be different from what " "it expects." msgstr "" #. type: textblock -#: ../src/guestfs.pod:414 +#: ../src/guestfs.pod:397 msgid "" "If the command needs to communicate with daemons, then most likely they " "won't be running." msgstr "" #. type: textblock -#: ../src/guestfs.pod:419 +#: ../src/guestfs.pod:402 msgid "The command will be running in limited memory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:423 +#: ../src/guestfs.pod:406 msgid "" "The network may not be available unless you enable it (see " "L</guestfs_set_network>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:428 +#: ../src/guestfs.pod:411 msgid "Only supports Linux guests (not Windows, BSD, etc)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:432 +#: ../src/guestfs.pod:415 msgid "Architecture limitations (eg. won't work for a PPC guest on an X86 host)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:437 +#: ../src/guestfs.pod:420 msgid "" "For SELinux guests, you may need to enable SELinux and load policy first. " "See L</SELINUX> in this manpage." msgstr "" #. type: textblock -#: ../src/guestfs.pod:442 +#: ../src/guestfs.pod:425 msgid "" "I<Security:> It is not safe to run commands from untrusted, possibly " "malicious guests. These commands may attempt to exploit your program by " @@ -38804,7 +39872,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:451 +#: ../src/guestfs.pod:434 msgid "" "A secure alternative is to use libguestfs to install a \"firstboot\" script " "(a script which runs when the guest next boots normally), and to have this " @@ -38814,26 +39882,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:459 +#: ../src/guestfs.pod:442 msgid "" "The two main API calls to run commands are L</guestfs_command> and " "L</guestfs_sh> (there are also variations)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:462 +#: ../src/guestfs.pod:445 msgid "" "The difference is that L</guestfs_sh> runs commands using the shell, so any " "shell globs, redirections, etc will work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:465 +#: ../src/guestfs.pod:448 msgid "CONFIGURATION FILES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:467 +#: ../src/guestfs.pod:450 msgid "" "To read and write configuration files in Linux guest filesystems, we " "strongly recommend using Augeas. For example, Augeas understands how to " @@ -38842,7 +39910,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:472 +#: ../src/guestfs.pod:455 msgid "" "The main Augeas calls are bound through the C<guestfs_aug_*> APIs. We don't " "document Augeas itself here because there is excellent documentation on the " @@ -38850,7 +39918,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:476 +#: ../src/guestfs.pod:459 msgid "" "If you don't want to use Augeas (you fool!) then try calling " "L</guestfs_read_lines> to get the file as a list of lines which you can " @@ -38858,24 +39926,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:480 +#: ../src/guestfs.pod:463 msgid "SELINUX" msgstr "" #. type: textblock -#: ../src/guestfs.pod:482 +#: ../src/guestfs.pod:465 msgid "" "We support SELinux guests. To ensure that labeling happens correctly in " "SELinux guests, you need to enable SELinux and load the guest's policy:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:490 +#: ../src/guestfs.pod:473 msgid "Before launching, do:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:492 +#: ../src/guestfs.pod:475 #, no-wrap msgid "" " guestfs_set_selinux (g, 1);\n" @@ -38883,14 +39951,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:496 +#: ../src/guestfs.pod:479 msgid "" "After mounting the guest's filesystem(s), load the policy. This is best " "done by running the L<load_policy(8)> command in the guest itself:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:500 +#: ../src/guestfs.pod:483 #, no-wrap msgid "" " guestfs_sh (g, \"/usr/sbin/load_policy\");\n" @@ -38898,21 +39966,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:502 +#: ../src/guestfs.pod:485 msgid "" "(Older versions of C<load_policy> require you to specify the name of the " "policy file)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:507 +#: ../src/guestfs.pod:490 msgid "" "Optionally, set the security context for the API. The correct security " "context to use can only be known by inspecting the guest. As an example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:511 +#: ../src/guestfs.pod:494 #, no-wrap msgid "" " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n" @@ -38920,24 +39988,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:515 +#: ../src/guestfs.pod:498 msgid "This will work for running commands and editing existing files." msgstr "" #. type: textblock -#: ../src/guestfs.pod:517 +#: ../src/guestfs.pod:500 msgid "" "When new files are created, you may need to label them explicitly, for " "example by running the external command C<restorecon pathname>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:521 +#: ../src/guestfs.pod:504 msgid "UMASK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:523 +#: ../src/guestfs.pod:506 msgid "" "Certain calls are affected by the current file mode creation mask (the " "\"umask\"). In particular ones which create files or directories, such as " @@ -38947,14 +40015,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:529 +#: ../src/guestfs.pod:512 msgid "" "The default umask is C<022>, so files are created with modes such as C<0644> " "and directories with C<0755>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:532 +#: ../src/guestfs.pod:515 msgid "" "There are two ways to avoid being affected by umask. Either set umask to 0 " "(call C<guestfs_umask (g, 0)> early after launching). Or call " @@ -38962,12 +40030,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:536 +#: ../src/guestfs.pod:519 msgid "For more information about umask, see L<umask(2)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:540 +#: ../src/guestfs.pod:523 msgid "" "Libguestfs allows you to access Linux guests which have been encrypted using " "whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) " @@ -38976,21 +40044,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:546 +#: ../src/guestfs.pod:529 msgid "" "Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it " "returns the string C<crypto_LUKS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:549 +#: ../src/guestfs.pod:532 msgid "" "Then open these devices by calling L</guestfs_luks_open>. Obviously you " "will require the passphrase!" msgstr "" #. type: textblock -#: ../src/guestfs.pod:552 +#: ../src/guestfs.pod:535 msgid "" "Opening a LUKS device creates a new device mapper device called " "C</dev/mapper/mapname> (where C<mapname> is the string you supply to " @@ -38999,7 +40067,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:558 +#: ../src/guestfs.pod:541 msgid "" "LVM volume groups on the device can be made visible by calling " "L</guestfs_vgscan> followed by L</guestfs_vg_activate_all>. The logical " @@ -39007,7 +40075,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:562 +#: ../src/guestfs.pod:545 msgid "" "Use the reverse process to close a LUKS device. Unmount any logical volumes " "on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, " @@ -39017,19 +40085,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:569 +#: ../src/guestfs.pod:552 msgid "MOUNT LOCAL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:571 +#: ../src/guestfs.pod:554 msgid "" "In libguestfs E<ge> 1.18, it is possible to mount the libguestfs filesystem " "on a local directory and access it using ordinary POSIX calls and programs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:575 +#: ../src/guestfs.pod:558 msgid "" "Availability of this is subject to a number of restrictions: it requires " "FUSE (the Filesystem in USErspace), and libfuse must also have been " @@ -39040,7 +40108,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:582 +#: ../src/guestfs.pod:565 msgid "" "The call to mount the libguestfs filesystem on a local directory is " "L</guestfs_mount_local> (q.v.) followed by L</guestfs_mount_local_run>. The " @@ -39053,7 +40121,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:592 +#: ../src/guestfs.pod:575 msgid "" "L</guestfs_mount_local> needs a certain amount of time to set up the " "mountpoint. The mountpoint is not ready to use until the call returns. At " @@ -39064,12 +40132,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:600 +#: ../src/guestfs.pod:583 msgid "MOUNT LOCAL COMPATIBILITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:602 +#: ../src/guestfs.pod:585 msgid "" "Since local mounting was only added in libguestfs 1.18, and may not be " "available even in these builds, you should consider writing code so that it " @@ -39078,7 +40146,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:607 +#: ../src/guestfs.pod:590 msgid "" "If libguestfs was compiled without support for L</guestfs_mount_local> then " "calling it will return an error with errno set to C<ENOTSUP> (see " @@ -39086,12 +40154,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:611 +#: ../src/guestfs.pod:594 msgid "MOUNT LOCAL PERFORMANCE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:613 +#: ../src/guestfs.pod:596 msgid "" "Libguestfs on top of FUSE performs quite poorly. For best performance do " "not use it. Use ordinary libguestfs filesystem calls, upload, download " @@ -39099,12 +40167,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:617 +#: ../src/guestfs.pod:600 msgid "INSPECTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:619 +#: ../src/guestfs.pod:602 msgid "" "Libguestfs has APIs for inspecting an unknown disk image to find out if it " "contains operating systems, an install CD or a live CD. (These APIs used to " @@ -39114,14 +40182,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:626 +#: ../src/guestfs.pod:609 msgid "" "Add all disks belonging to the unknown virtual machine and call " "L</guestfs_launch> in the usual way." msgstr "" #. type: textblock -#: ../src/guestfs.pod:629 +#: ../src/guestfs.pod:612 msgid "" "Then call L</guestfs_inspect_os>. This function uses other libguestfs calls " "and certain heuristics, and returns a list of operating systems that were " @@ -39134,7 +40202,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:638 +#: ../src/guestfs.pod:621 msgid "" "For each root, you can then call various C<guestfs_inspect_get_*> functions " "to get additional details about that operating system. For example, call " @@ -39143,7 +40211,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:644 +#: ../src/guestfs.pod:627 msgid "" "Un*x-like and Linux-based operating systems usually consist of several " "filesystems which are mounted at boot time (for example, a separate boot " @@ -39154,7 +40222,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:651 +#: ../src/guestfs.pod:634 #, no-wrap msgid "" " /boot => /dev/sda1\n" @@ -39164,14 +40232,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:655 +#: ../src/guestfs.pod:638 msgid "" "The caller can then make calls to L</guestfs_mount_options> to mount the " "filesystems as suggested." msgstr "" #. type: textblock -#: ../src/guestfs.pod:658 +#: ../src/guestfs.pod:641 msgid "" "Be careful to mount filesystems in the right order (eg. C</> before " "C</usr>). Sorting the keys of the hash by length, shortest first, should " @@ -39179,7 +40247,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:662 +#: ../src/guestfs.pod:645 msgid "" "Inspection currently only works for some common operating systems. " "Contributors are welcome to send patches for other operating systems that we " @@ -39187,7 +40255,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:666 +#: ../src/guestfs.pod:649 msgid "" "Encrypted disks must be opened before inspection. See L</ENCRYPTED DISKS> " "for more details. The L</guestfs_inspect_os> function just ignores any " @@ -39195,7 +40263,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:670 +#: ../src/guestfs.pod:653 msgid "" "A note on the implementation: The call L</guestfs_inspect_os> performs " "inspection and caches the results in the guest handle. Subsequent calls to " @@ -39208,19 +40276,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:679 +#: ../src/guestfs.pod:662 msgid "INSPECTING INSTALL DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:681 +#: ../src/guestfs.pod:664 msgid "" "Libguestfs (since 1.9.4) can detect some install disks, install CDs, live " "CDs and more." msgstr "" #. type: textblock -#: ../src/guestfs.pod:684 +#: ../src/guestfs.pod:667 msgid "" "Call L</guestfs_inspect_get_format> to return the format of the operating " "system, which currently can be C<installed> (a regular operating system) or " @@ -39228,7 +40296,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:688 +#: ../src/guestfs.pod:671 msgid "" "Further information is available about the operating system that can be " "installed using the regular inspection APIs like " @@ -39237,7 +40305,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:693 +#: ../src/guestfs.pod:676 msgid "" "Some additional information specific to installer disks is also available " "from the L</guestfs_inspect_is_live>, L</guestfs_inspect_is_netinst> and " @@ -39245,24 +40313,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:698 +#: ../src/guestfs.pod:681 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:700 +#: ../src/guestfs.pod:683 msgid "" "Libguestfs can mount NTFS partitions. It does this using the " "L<http://www.ntfs-3g.org/> driver." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:703 +#: ../src/guestfs.pod:686 msgid "DRIVE LETTERS AND PATHS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:705 +#: ../src/guestfs.pod:688 msgid "" "DOS and Windows still use drive letters, and the filesystems are always " "treated as case insensitive by Windows itself, and therefore you might find " @@ -39272,14 +40340,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:711 +#: ../src/guestfs.pod:694 msgid "" "Drive letter mappings can be found using inspection (see L</INSPECTION> and " "L</guestfs_inspect_get_drive_mappings>)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:714 +#: ../src/guestfs.pod:697 msgid "" "Dealing with separator characters (backslash vs forward slash) is outside " "the scope of libguestfs, but usually a simple character replacement will " @@ -39287,19 +40355,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:718 +#: ../src/guestfs.pod:701 msgid "" "To resolve the case insensitivity of paths, call " "L</guestfs_case_sensitive_path>." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:721 +#: ../src/guestfs.pod:704 msgid "ACCESSING THE WINDOWS REGISTRY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:723 +#: ../src/guestfs.pod:706 msgid "" "Libguestfs also provides some help for decoding Windows Registry \"hive\" " "files, through the library C<hivex> which is part of the libguestfs project " @@ -39310,12 +40378,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:731 +#: ../src/guestfs.pod:714 msgid "SYMLINKS ON NTFS-3G FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:733 +#: ../src/guestfs.pod:716 msgid "" "Ntfs-3g tries to rewrite \"Junction Points\" and NTFS \"symbolic links\" to " "provide something which looks like a Linux symlink. The way it tries to do " @@ -39323,12 +40391,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:737 +#: ../src/guestfs.pod:720 msgid "L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-symbolic-links/>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:739 +#: ../src/guestfs.pod:722 msgid "" "The essential problem is that ntfs-3g simply does not have enough " "information to do a correct job. NTFS links can contain drive letters and " @@ -39338,7 +40406,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:746 +#: ../src/guestfs.pod:729 msgid "" "Instead if you encounter a symbolic link on an ntfs-3g filesystem, use " "L</guestfs_lgetxattr> to read the C<system.ntfs_reparse_data> extended " @@ -39347,36 +40415,36 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:751 +#: ../src/guestfs.pod:734 msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:753 +#: ../src/guestfs.pod:736 msgid "" "There are other useful extended attributes that can be read from ntfs-3g " "filesystems (using L</guestfs_getxattr>). See:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:756 +#: ../src/guestfs.pod:739 msgid "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:758 +#: ../src/guestfs.pod:741 msgid "RESIZE2FS ERRORS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:760 +#: ../src/guestfs.pod:743 msgid "" "The L</guestfs_resize2fs>, L</guestfs_resize2fs_size> and " "L</guestfs_resize2fs_M> calls are used to resize ext2/3/4 filesystems." msgstr "" #. type: textblock -#: ../src/guestfs.pod:763 +#: ../src/guestfs.pod:746 msgid "" "The underlying program (L<resize2fs(8)>) requires that the filesystem is " "clean and recently fsck'd before you can resize it. Also, if the resize " @@ -39385,7 +40453,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:768 +#: ../src/guestfs.pod:751 msgid "" "In libguestfs C<lt> 1.17.14, you usually had to call L</guestfs_e2fsck_f> " "before the resize. However, in C<ge> 1.17.14, L<e2fsck(8)> is called " @@ -39393,14 +40461,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:773 +#: ../src/guestfs.pod:756 msgid "" "The L<resize2fs(8)> program can still fail, in which case it prints an error " "message similar to:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:776 +#: ../src/guestfs.pod:759 #, no-wrap msgid "" " Please run 'e2fsck -fy <device>' to fix the filesystem\n" @@ -39409,7 +40477,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:779 +#: ../src/guestfs.pod:762 msgid "" "You can do this by calling L</guestfs_e2fsck> with the C<forceall> option. " "However in the context of disk images, it is usually better to avoid this " @@ -39418,19 +40486,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:784 +#: ../src/guestfs.pod:767 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:786 +#: ../src/guestfs.pod:769 msgid "" "Although we don't want to discourage you from using the C API, we will " "mention here that the same API is also available in other languages." msgstr "" #. type: textblock -#: ../src/guestfs.pod:789 +#: ../src/guestfs.pod:772 msgid "" "The API is broadly identical in all supported languages. This means that " "the C call C<guestfs_add_drive_ro(g,file)> is C<$g-E<gt>add_drive_ro($file)> " @@ -39440,14 +40508,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:795 +#: ../src/guestfs.pod:778 msgid "" "Error messages are automatically transformed into exceptions if the language " "supports it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:798 +#: ../src/guestfs.pod:781 msgid "" "We don't try to \"object orientify\" parts of the API in OO languages, " "although contributors are welcome to write higher level APIs above what we " @@ -39455,58 +40523,58 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:804 +#: ../src/guestfs.pod:787 msgid "B<C++>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:806 +#: ../src/guestfs.pod:789 msgid "" "You can use the I<guestfs.h> header file from C++ programs. The C++ API is " "identical to the C API. C++ classes and exceptions are not used." msgstr "" #. type: =item -#: ../src/guestfs.pod:810 +#: ../src/guestfs.pod:793 msgid "B<C#>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:812 +#: ../src/guestfs.pod:795 msgid "" "The C# bindings are highly experimental. Please read the warnings at the " "top of C<csharp/Libguestfs.cs>." msgstr "" #. type: =item -#: ../src/guestfs.pod:815 +#: ../src/guestfs.pod:798 msgid "B<Erlang>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:817 +#: ../src/guestfs.pod:800 msgid "See L<guestfs-erlang(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:819 +#: ../src/guestfs.pod:802 msgid "B<GObject>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:821 +#: ../src/guestfs.pod:804 msgid "" "Experimental GObject bindings (with GObject Introspection support) are " "available. See the C<gobject> directory in the source." msgstr "" #. type: =item -#: ../src/guestfs.pod:824 +#: ../src/guestfs.pod:807 msgid "B<Haskell>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:826 +#: ../src/guestfs.pod:809 msgid "" "This is the only language binding that is working but incomplete. Only " "calls which return simple integers have been bound in Haskell, and we are " @@ -39514,96 +40582,96 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:830 +#: ../src/guestfs.pod:813 msgid "B<Java>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:832 +#: ../src/guestfs.pod:815 msgid "" "Full documentation is contained in the Javadoc which is distributed with " "libguestfs. For examples, see L<guestfs-java(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:835 +#: ../src/guestfs.pod:818 msgid "B<OCaml>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:837 +#: ../src/guestfs.pod:820 msgid "See L<guestfs-ocaml(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:839 +#: ../src/guestfs.pod:822 msgid "B<Perl>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:841 +#: ../src/guestfs.pod:824 msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:843 +#: ../src/guestfs.pod:826 msgid "B<PHP>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:845 +#: ../src/guestfs.pod:828 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:848 +#: ../src/guestfs.pod:831 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "" #. type: =item -#: ../src/guestfs.pod:850 +#: ../src/guestfs.pod:833 msgid "B<Python>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:852 +#: ../src/guestfs.pod:835 msgid "See L<guestfs-python(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:854 +#: ../src/guestfs.pod:837 msgid "B<Ruby>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:856 +#: ../src/guestfs.pod:839 msgid "See L<guestfs-ruby(3)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:858 +#: ../src/guestfs.pod:841 msgid "For JRuby, use the Java bindings." msgstr "" #. type: =item -#: ../src/guestfs.pod:860 +#: ../src/guestfs.pod:843 msgid "B<shell scripts>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:862 +#: ../src/guestfs.pod:845 msgid "See L<guestfish(1)>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:866 +#: ../src/guestfs.pod:849 msgid "LIBGUESTFS GOTCHAS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:868 +#: ../src/guestfs.pod:851 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 " @@ -39611,7 +40679,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:872 +#: ../src/guestfs.pod:855 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -39620,19 +40688,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:880 +#: ../src/guestfs.pod:863 msgid "Autosync / forgetting to sync." msgstr "" #. type: textblock -#: ../src/guestfs.pod:882 +#: ../src/guestfs.pod:865 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:885 +#: ../src/guestfs.pod:868 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 " @@ -39640,7 +40708,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:889 +#: ../src/guestfs.pod:872 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -39648,7 +40716,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:891 +#: ../src/guestfs.pod:874 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> " @@ -39656,7 +40724,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:895 +#: ../src/guestfs.pod:878 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 " @@ -39664,7 +40732,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:899 +#: ../src/guestfs.pod:882 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 " @@ -39672,19 +40740,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:903 +#: ../src/guestfs.pod:886 msgid "Mount option C<-o sync> should not be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:905 +#: ../src/guestfs.pod:888 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:908 +#: ../src/guestfs.pod:891 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 " @@ -39692,31 +40760,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:912 +#: ../src/guestfs.pod:895 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:915 +#: ../src/guestfs.pod:898 msgid "Read-only should be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:917 +#: ../src/guestfs.pod:900 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:920 +#: ../src/guestfs.pod:903 msgid "This would reduce the potential to corrupt live VM images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:922 +#: ../src/guestfs.pod:905 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 " @@ -39724,12 +40792,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:926 +#: ../src/guestfs.pod:909 msgid "guestfish command line is hard to use." msgstr "" #. type: textblock -#: ../src/guestfs.pod:928 +#: ../src/guestfs.pod:911 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 " @@ -39739,12 +40807,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:935 +#: ../src/guestfs.pod:918 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" #. type: textblock -#: ../src/guestfs.pod:937 +#: ../src/guestfs.pod:920 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 " @@ -39754,12 +40822,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:944 +#: ../src/guestfs.pod:927 msgid "The most common is L</guestfs_lvcreate>. The guestfish command:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:946 +#: ../src/guestfs.pod:929 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -39767,7 +40835,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:948 +#: ../src/guestfs.pod:931 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 " @@ -39776,19 +40844,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:936 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:956 +#: ../src/guestfs.pod:939 msgid "Ambiguity between devices and paths" msgstr "" #. type: textblock -#: ../src/guestfs.pod:958 +#: ../src/guestfs.pod:941 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 " @@ -39796,7 +40864,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:963 +#: ../src/guestfs.pod:946 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>. " @@ -39805,7 +40873,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:969 +#: ../src/guestfs.pod:952 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 " @@ -39815,7 +40883,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:975 +#: ../src/guestfs.pod:958 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -39823,12 +40891,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:977 +#: ../src/guestfs.pod:960 msgid "which would allow you to pass arguments like:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:979 +#: ../src/guestfs.pod:962 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -39839,26 +40907,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:984 +#: ../src/guestfs.pod:967 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:989 +#: ../src/guestfs.pod:972 msgid "KEYS AND PASSPHRASES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:991 +#: ../src/guestfs.pod:974 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" #. type: textblock -#: ../src/guestfs.pod:994 +#: ../src/guestfs.pod:977 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 " @@ -39867,7 +40935,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:999 +#: ../src/guestfs.pod:982 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, " @@ -39875,19 +40943,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1004 +#: ../src/guestfs.pod:987 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1006 +#: ../src/guestfs.pod:989 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:1009 +#: ../src/guestfs.pod:992 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 " @@ -39895,33 +40963,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1013 +#: ../src/guestfs.pod:996 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1016 +#: ../src/guestfs.pod:999 msgid "PATH" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1018 +#: ../src/guestfs.pod:1001 msgid "" "Libguestfs needs a supermin appliance, which it finds by looking along an " "internal path." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1021 +#: ../src/guestfs.pod:1004 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:1024 +#: ../src/guestfs.pod:1007 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 " @@ -39932,12 +41000,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1031 +#: ../src/guestfs.pod:1014 msgid "QEMU WRAPPERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1033 +#: ../src/guestfs.pod:1016 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 " @@ -39945,7 +41013,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1037 +#: ../src/guestfs.pod:1020 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 " @@ -39954,14 +41022,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1042 +#: ../src/guestfs.pod:1025 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:1045 +#: ../src/guestfs.pod:1028 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -39972,7 +41040,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1049 +#: ../src/guestfs.pod:1032 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 " @@ -39980,7 +41048,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1053 +#: ../src/guestfs.pod:1036 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -39988,14 +41056,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1055 +#: ../src/guestfs.pod:1038 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1058 +#: ../src/guestfs.pod:1041 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 " @@ -40005,7 +41073,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1067 +#: ../src/guestfs.pod:1050 #, no-wrap msgid "" " i=0\n" @@ -40023,7 +41091,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1079 +#: ../src/guestfs.pod:1062 #, no-wrap msgid "" " exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n" @@ -40031,19 +41099,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1081 +#: ../src/guestfs.pod:1064 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1083 +#: ../src/guestfs.pod:1066 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:1086 +#: ../src/guestfs.pod:1069 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 " @@ -40051,12 +41119,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1090 +#: ../src/guestfs.pod:1073 msgid "Using guestfs_set_attach_method" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1092 +#: ../src/guestfs.pod:1075 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 " @@ -40064,14 +41132,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1096 +#: ../src/guestfs.pod:1079 msgid "" "The normal attach method is C<appliance>, where a small appliance is created " "containing the daemon, and then the library connects to this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1099 +#: ../src/guestfs.pod:1082 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 " @@ -40079,7 +41147,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1103 +#: ../src/guestfs.pod:1086 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 " @@ -40087,12 +41155,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1107 +#: ../src/guestfs.pod:1090 msgid "Using guestfs_add_domain with live flag" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1109 +#: ../src/guestfs.pod:1092 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 " @@ -40101,7 +41169,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1115 +#: ../src/guestfs.pod:1098 #, no-wrap msgid "" " <domain>\n" @@ -40119,14 +41187,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1127 +#: ../src/guestfs.pod:1110 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:1130 +#: ../src/guestfs.pod:1113 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 " @@ -40134,19 +41202,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1134 +#: ../src/guestfs.pod:1117 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:1138 +#: ../src/guestfs.pod:1121 msgid "ABI GUARANTEE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1140 +#: ../src/guestfs.pod:1123 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -40156,12 +41224,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1146 +#: ../src/guestfs.pod:1129 msgid "BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1148 +#: ../src/guestfs.pod:1131 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 " @@ -40176,7 +41244,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1160 +#: ../src/guestfs.pod:1143 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 " @@ -40184,7 +41252,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1164 +#: ../src/guestfs.pod:1147 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 " @@ -40192,7 +41260,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1169 +#: ../src/guestfs.pod:1152 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 " @@ -40201,7 +41269,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1175 +#: ../src/guestfs.pod:1158 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 " @@ -40209,12 +41277,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1163 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1182 +#: ../src/guestfs.pod:1165 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 " @@ -40224,7 +41292,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1188 +#: ../src/guestfs.pod:1171 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 " @@ -40232,54 +41300,54 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1196 +#: ../src/guestfs.pod:1179 msgid "Is the string a parameter which is a device or partition name?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1200 +#: ../src/guestfs.pod:1183 msgid "Does the string begin with C</dev/sd>?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1204 +#: ../src/guestfs.pod:1187 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:1209 +#: ../src/guestfs.pod:1192 msgid "Replace initial C</dev/sd> string with C</dev/hd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1211 +#: ../src/guestfs.pod:1194 msgid "For example, change C</dev/sda2> to C</dev/hda2>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1213 +#: ../src/guestfs.pod:1196 msgid "If that named device exists, use it. If not, continue." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1217 +#: ../src/guestfs.pod:1200 msgid "Replace initial C</dev/sd> string with C</dev/vd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1219 +#: ../src/guestfs.pod:1202 msgid "If that named device exists, use it. If not, return an error." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1223 +#: ../src/guestfs.pod:1206 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1208 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 " @@ -40287,50 +41355,50 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1229 +#: ../src/guestfs.pod:1212 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1236 +#: ../src/guestfs.pod:1219 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:1239 +#: ../src/guestfs.pod:1222 msgid "Since those device names exist by definition, they will never be translated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1244 +#: ../src/guestfs.pod:1227 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1249 ../sysprep/virt-sysprep.pod:376 +#: ../src/guestfs.pod:1232 ../sysprep/virt-sysprep.pod:376 msgid "SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1251 +#: ../src/guestfs.pod:1234 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1254 +#: ../src/guestfs.pod:1237 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1256 +#: ../src/guestfs.pod:1239 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 " @@ -40340,42 +41408,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1266 +#: ../src/guestfs.pod:1249 msgid "the data (file etc) not being present" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1270 +#: ../src/guestfs.pod:1253 msgid "being present but empty" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1274 +#: ../src/guestfs.pod:1257 msgid "being much larger than normal" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1278 +#: ../src/guestfs.pod:1261 msgid "containing arbitrary 8 bit data" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1282 +#: ../src/guestfs.pod:1265 msgid "being in an unexpected character encoding" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1286 +#: ../src/guestfs.pod:1269 msgid "containing homoglyphs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1290 +#: ../src/guestfs.pod:1273 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1292 +#: ../src/guestfs.pod:1275 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -40391,7 +41459,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1305 +#: ../src/guestfs.pod:1288 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 " @@ -40405,19 +41473,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1299 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:1319 +#: ../src/guestfs.pod:1302 msgid "PROTOCOL SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1321 +#: ../src/guestfs.pod:1304 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 " @@ -40427,12 +41495,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1327 +#: ../src/guestfs.pod:1310 msgid "INSPECTION SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1329 +#: ../src/guestfs.pod:1312 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 " @@ -40441,7 +41509,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1335 +#: ../src/guestfs.pod:1318 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -40452,7 +41520,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1343 +#: ../src/guestfs.pod:1326 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -40462,12 +41530,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1349 +#: ../src/guestfs.pod:1332 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1334 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 " @@ -40477,24 +41545,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1357 +#: ../src/guestfs.pod:1340 msgid "CVE-2010-3851" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1342 msgid "https://bugzilla.redhat.com/642934" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1361 +#: ../src/guestfs.pod:1344 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1364 +#: ../src/guestfs.pod:1347 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 " @@ -40503,7 +41571,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1369 +#: ../src/guestfs.pod:1352 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 " @@ -40512,7 +41580,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1374 +#: ../src/guestfs.pod:1357 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 " @@ -40524,24 +41592,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1365 msgid "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1389 +#: ../src/guestfs.pod:1372 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1393 +#: ../src/guestfs.pod:1376 msgid "" "You are also running untrusted code from the guest (see L</RUNNING " "COMMANDS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1398 +#: ../src/guestfs.pod:1381 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 " @@ -40550,31 +41618,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1403 +#: ../src/guestfs.pod:1386 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:1406 +#: ../src/guestfs.pod:1389 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1409 +#: ../src/guestfs.pod:1392 msgid "CONNECTION MANAGEMENT" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1411 +#: ../src/guestfs.pod:1394 msgid "guestfs_h *" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1413 +#: ../src/guestfs.pod:1396 msgid "" "C<guestfs_h> is the opaque type representing a connection handle. Create a " "handle by calling L</guestfs_create>. Call L</guestfs_close> to free the " @@ -40582,19 +41650,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1417 +#: ../src/guestfs.pod:1400 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:1420 +#: ../src/guestfs.pod:1403 msgid "guestfs_create" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1422 +#: ../src/guestfs.pod:1405 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -40602,19 +41670,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1424 +#: ../src/guestfs.pod:1407 msgid "Create a connection handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1426 +#: ../src/guestfs.pod:1409 msgid "" "On success this returns a non-NULL pointer to a handle. On error it returns " "NULL." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1429 +#: ../src/guestfs.pod:1412 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 " @@ -40622,24 +41690,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1433 +#: ../src/guestfs.pod:1416 msgid "After configuring the handle, you have to call L</guestfs_launch>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1435 +#: ../src/guestfs.pod:1418 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:1438 +#: ../src/guestfs.pod:1421 msgid "guestfs_close" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1440 +#: ../src/guestfs.pod:1423 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -40647,12 +41715,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1442 +#: ../src/guestfs.pod:1425 msgid "This closes the connection handle and frees up all resources used." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1444 +#: ../src/guestfs.pod:1427 msgid "" "If autosync was set on the handle and the handle was launched, then this " "implicitly calls various functions to unmount filesystems and sync the " @@ -40660,24 +41728,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1448 +#: ../src/guestfs.pod:1431 msgid "If a close callback was set on the handle, then it is called." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1450 +#: ../src/guestfs.pod:1433 msgid "ERROR HANDLING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1452 +#: ../src/guestfs.pod:1435 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:1455 +#: ../src/guestfs.pod:1438 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 " @@ -40685,7 +41753,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1459 +#: ../src/guestfs.pod:1442 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 " @@ -40693,7 +41761,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1464 +#: ../src/guestfs.pod:1447 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 " @@ -40701,7 +41769,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1468 +#: ../src/guestfs.pod:1451 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -40710,21 +41778,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1471 +#: ../src/guestfs.pod:1454 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:1474 +#: ../src/guestfs.pod:1457 msgid "" "For other programs the caller will almost certainly want to install an " "alternate error handler or do error handling in-line like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1477 +#: ../src/guestfs.pod:1460 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -40734,7 +41802,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1481 +#: ../src/guestfs.pod:1464 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -40751,7 +41819,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1492 +#: ../src/guestfs.pod:1475 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 " @@ -40759,7 +41827,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1496 +#: ../src/guestfs.pod:1479 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 " @@ -40769,12 +41837,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1502 +#: ../src/guestfs.pod:1485 msgid "guestfs_last_error" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1504 +#: ../src/guestfs.pod:1487 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -40782,26 +41850,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1506 +#: ../src/guestfs.pod:1489 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:1510 +#: ../src/guestfs.pod:1493 msgid "" "The lifetime of the returned string is until the next error occurs, or " "L</guestfs_close> is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1513 +#: ../src/guestfs.pod:1496 msgid "guestfs_last_errno" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1515 +#: ../src/guestfs.pod:1498 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -40809,27 +41877,27 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1517 +#: ../src/guestfs.pod:1500 msgid "This returns the last error number (errno) that happened on C<g>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1519 +#: ../src/guestfs.pod:1502 msgid "If successful, an errno integer not equal to zero is returned." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1521 +#: ../src/guestfs.pod:1504 msgid "If no error, this returns 0. This call can return 0 in three situations:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1528 +#: ../src/guestfs.pod:1511 msgid "There has not been any error on the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1515 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 " @@ -40837,14 +41905,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1538 +#: ../src/guestfs.pod:1521 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:1544 +#: ../src/guestfs.pod:1527 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -40855,12 +41923,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1552 +#: ../src/guestfs.pod:1535 msgid "guestfs_set_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1554 +#: ../src/guestfs.pod:1537 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -40873,7 +41941,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1561 +#: ../src/guestfs.pod:1544 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 " @@ -40881,14 +41949,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1565 +#: ../src/guestfs.pod:1548 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:1568 +#: ../src/guestfs.pod:1551 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 " @@ -40896,22 +41964,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1572 +#: ../src/guestfs.pod:1555 msgid "The default handler prints messages on C<stderr>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1574 +#: ../src/guestfs.pod:1557 msgid "If you set C<cb> to C<NULL> then I<no> handler is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1576 +#: ../src/guestfs.pod:1559 msgid "guestfs_get_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1578 +#: ../src/guestfs.pod:1561 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -40920,17 +41988,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1581 +#: ../src/guestfs.pod:1564 msgid "Returns the current error handler callback." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1583 +#: ../src/guestfs.pod:1566 msgid "guestfs_set_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1585 +#: ../src/guestfs.pod:1568 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -40940,29 +42008,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1589 +#: ../src/guestfs.pod:1572 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:1592 +#: ../src/guestfs.pod:1575 msgid "The default is to call L<abort(3)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1594 +#: ../src/guestfs.pod:1577 msgid "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1597 +#: ../src/guestfs.pod:1580 msgid "guestfs_get_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1599 +#: ../src/guestfs.pod:1582 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -40970,37 +42038,37 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1601 +#: ../src/guestfs.pod:1584 msgid "This returns the current out of memory handler." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1603 +#: ../src/guestfs.pod:1586 msgid "API CALLS" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1607 +#: ../src/guestfs.pod:1590 msgid "STRUCTURES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1592 msgid "@STRUCTS@" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1611 +#: ../src/guestfs.pod:1594 msgid "AVAILABILITY" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1613 +#: ../src/guestfs.pod:1596 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1615 +#: ../src/guestfs.pod:1598 msgid "" "Using L</guestfs_available> you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -41008,17 +42076,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1620 +#: ../src/guestfs.pod:1603 msgid "@AVAILABILITY@" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1622 +#: ../src/guestfs.pod:1605 msgid "GUESTFISH supported COMMAND" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1624 +#: ../src/guestfs.pod:1607 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 " @@ -41026,19 +42094,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1629 +#: ../src/guestfs.pod:1612 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1631 +#: ../src/guestfs.pod:1614 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:1634 +#: ../src/guestfs.pod:1617 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -41046,12 +42114,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1636 +#: ../src/guestfs.pod:1619 msgid "if L</guestfs_dd> is available." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1638 +#: ../src/guestfs.pod:1621 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 " @@ -41059,7 +42127,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1643 +#: ../src/guestfs.pod:1626 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -41068,19 +42136,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1646 +#: ../src/guestfs.pod:1629 msgid "" "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined " "in your program." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1649 +#: ../src/guestfs.pod:1632 msgid "SINGLE CALLS AT RUN TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1651 +#: ../src/guestfs.pod:1634 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 " @@ -41090,7 +42158,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1658 +#: ../src/guestfs.pod:1641 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 " @@ -41098,7 +42166,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1662 +#: ../src/guestfs.pod:1645 #, no-wrap msgid "" " #include <stdio.h>\n" @@ -41110,7 +42178,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1651 #, no-wrap msgid "" " main ()\n" @@ -41122,7 +42190,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1674 +#: ../src/guestfs.pod:1657 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -41137,7 +42205,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1683 +#: ../src/guestfs.pod:1666 #, no-wrap msgid "" " if (!has_function)\n" @@ -41156,7 +42224,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1696 +#: ../src/guestfs.pod:1679 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 " @@ -41164,7 +42232,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1701 +#: ../src/guestfs.pod:1684 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -41172,12 +42240,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1703 +#: ../src/guestfs.pod:1686 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1705 +#: ../src/guestfs.pod:1688 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 " @@ -41185,7 +42253,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1710 +#: ../src/guestfs.pod:1693 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -41193,14 +42261,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1712 +#: ../src/guestfs.pod:1695 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:1715 +#: ../src/guestfs.pod:1698 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -41208,12 +42276,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1717 +#: ../src/guestfs.pod:1700 msgid "With a single optional argument:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1719 +#: ../src/guestfs.pod:1702 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -41223,12 +42291,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1723 +#: ../src/guestfs.pod:1706 msgid "With two:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1725 +#: ../src/guestfs.pod:1708 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -41239,19 +42307,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1730 +#: ../src/guestfs.pod:1713 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1733 +#: ../src/guestfs.pod:1716 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1735 +#: ../src/guestfs.pod:1718 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 " @@ -41259,7 +42327,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1739 +#: ../src/guestfs.pod:1722 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -41268,12 +42336,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1742 +#: ../src/guestfs.pod:1725 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1744 +#: ../src/guestfs.pod:1727 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 " @@ -41283,7 +42351,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1750 +#: ../src/guestfs.pod:1733 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -41298,12 +42366,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1759 +#: ../src/guestfs.pod:1742 msgid "You could call it like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1744 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -41316,7 +42384,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1768 +#: ../src/guestfs.pod:1751 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -41324,29 +42392,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1776 +#: ../src/guestfs.pod:1759 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1781 +#: ../src/guestfs.pod:1764 msgid "You do not need to fill in all fields of the structure." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1768 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:1790 +#: ../src/guestfs.pod:1773 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1792 +#: ../src/guestfs.pod:1775 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -41354,17 +42422,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1796 +#: ../src/guestfs.pod:1779 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1798 +#: ../src/guestfs.pod:1781 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1800 +#: ../src/guestfs.pod:1783 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 " @@ -41376,7 +42444,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1809 +#: ../src/guestfs.pod:1792 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -41388,7 +42456,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1817 +#: ../src/guestfs.pod:1800 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 " @@ -41397,31 +42465,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1822 +#: ../src/guestfs.pod:1805 msgid "" "Events may contain a payload, usually nothing (void), an array of 64 bit " "unsigned integers, or a message buffer. Payloads are discussed later on." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1826 +#: ../src/guestfs.pod:1809 msgid "CLASSES OF EVENTS" msgstr "" #. type: =item -#: ../src/guestfs.pod:1830 +#: ../src/guestfs.pod:1813 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1833 +#: ../src/guestfs.pod:1816 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L</guestfs_close>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1836 +#: ../src/guestfs.pod:1819 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 " @@ -41432,19 +42500,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1843 +#: ../src/guestfs.pod:1826 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:1846 +#: ../src/guestfs.pod:1829 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1849 +#: ../src/guestfs.pod:1832 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L</guestfs_kill_subprocess>. (This " @@ -41452,17 +42520,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1853 ../src/guestfs.pod:1862 ../src/guestfs.pod:1979 +#: ../src/guestfs.pod:1836 ../src/guestfs.pod:1845 ../src/guestfs.pod:1962 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:1855 +#: ../src/guestfs.pod:1838 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1858 +#: ../src/guestfs.pod:1841 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 " @@ -41470,12 +42538,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1864 +#: ../src/guestfs.pod:1847 msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1867 +#: ../src/guestfs.pod:1850 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -41485,14 +42553,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1873 +#: ../src/guestfs.pod:1856 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:1876 +#: ../src/guestfs.pod:1859 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 " @@ -41501,24 +42569,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1881 +#: ../src/guestfs.pod:1864 msgid "The only defined and stable parts of the API are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1887 +#: ../src/guestfs.pod:1870 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:1892 +#: ../src/guestfs.pod:1875 msgid "0 E<lt>= C<position> E<lt>= C<total>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1896 +#: ../src/guestfs.pod:1879 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 " @@ -41526,7 +42594,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1900 +#: ../src/guestfs.pod:1883 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 " @@ -41534,7 +42602,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1906 +#: ../src/guestfs.pod:1889 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 " @@ -41543,7 +42611,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1911 +#: ../src/guestfs.pod:1894 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 " @@ -41551,14 +42619,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1915 +#: ../src/guestfs.pod:1898 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:1920 +#: ../src/guestfs.pod:1903 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 " @@ -41567,31 +42635,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:1909 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:1928 +#: ../src/guestfs.pod:1911 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1931 +#: ../src/guestfs.pod:1914 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:1934 +#: ../src/guestfs.pod:1917 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:1937 ../src/guestfs.pod:1951 +#: ../src/guestfs.pod:1920 ../src/guestfs.pod:1934 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 " @@ -41599,62 +42667,62 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1942 +#: ../src/guestfs.pod:1925 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1945 +#: ../src/guestfs.pod:1928 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1948 +#: ../src/guestfs.pod:1931 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:1956 +#: ../src/guestfs.pod:1939 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1959 +#: ../src/guestfs.pod:1942 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:1962 +#: ../src/guestfs.pod:1945 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:1966 +#: ../src/guestfs.pod:1949 msgid "GUESTFS_EVENT_ENTER (payload type: function name)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1969 +#: ../src/guestfs.pod:1952 msgid "The callback function is called whenever a libguestfs function is entered." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1972 +#: ../src/guestfs.pod:1955 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:1975 +#: ../src/guestfs.pod:1958 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 " @@ -41662,12 +42730,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1983 +#: ../src/guestfs.pod:1966 msgid "guestfs_set_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1985 +#: ../src/guestfs.pod:1968 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -41679,14 +42747,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1991 +#: ../src/guestfs.pod:1974 msgid "" "This function registers a callback (C<cb>) for all event classes in the " "C<event_bitmask>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1994 +#: ../src/guestfs.pod:1977 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>. " @@ -41695,40 +42763,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2000 +#: ../src/guestfs.pod:1983 msgid "C<flags> should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2002 +#: ../src/guestfs.pod:1985 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:2005 +#: ../src/guestfs.pod:1988 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:2008 +#: ../src/guestfs.pod:1991 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:2011 +#: ../src/guestfs.pod:1994 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2014 +#: ../src/guestfs.pod:1997 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 " @@ -41736,12 +42804,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2018 +#: ../src/guestfs.pod:2001 msgid "guestfs_delete_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2020 +#: ../src/guestfs.pod:2003 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -41749,7 +42817,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2022 +#: ../src/guestfs.pod:2005 msgid "" "Delete a callback that was previously registered. C<event_handle> should be " "the integer that was returned by a previous call to " @@ -41757,12 +42825,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2026 +#: ../src/guestfs.pod:2009 msgid "guestfs_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2028 +#: ../src/guestfs.pod:2011 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -41777,12 +42845,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2037 +#: ../src/guestfs.pod:2020 msgid "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2040 +#: ../src/guestfs.pod:2023 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 " @@ -41790,7 +42858,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2044 +#: ../src/guestfs.pod:2027 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 " @@ -41799,7 +42867,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2049 +#: ../src/guestfs.pod:2032 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 " @@ -41807,19 +42875,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2053 +#: ../src/guestfs.pod:2036 msgid "" "C<array> and C<array_len> is an array of 64 bit unsigned integers. At the " "moment this is only used for progress messages." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2056 +#: ../src/guestfs.pod:2039 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2058 +#: ../src/guestfs.pod:2041 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 " @@ -41827,7 +42895,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2062 +#: ../src/guestfs.pod:2045 msgid "" "Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, " "C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error " @@ -41835,14 +42903,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2067 +#: ../src/guestfs.pod:2050 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2070 +#: ../src/guestfs.pod:2053 #, no-wrap msgid "" " int eh =\n" @@ -41858,14 +42926,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2080 +#: ../src/guestfs.pod:2063 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:2083 +#: ../src/guestfs.pod:2066 #, no-wrap msgid "" " static void\n" @@ -41886,12 +42954,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2098 +#: ../src/guestfs.pod:2081 msgid "CANCELLING LONG TRANSFERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2100 +#: ../src/guestfs.pod:2083 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 " @@ -41900,12 +42968,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2105 +#: ../src/guestfs.pod:2088 msgid "guestfs_user_cancel" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2107 +#: ../src/guestfs.pod:2090 #, no-wrap msgid "" " void guestfs_user_cancel (guestfs_h *g);\n" @@ -41913,12 +42981,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2109 +#: ../src/guestfs.pod:2092 msgid "C<guestfs_user_cancel> cancels the current upload or download operation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2112 +#: ../src/guestfs.pod:2095 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 " @@ -41926,7 +42994,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2116 +#: ../src/guestfs.pod:2099 msgid "" "The transfer that was in progress (if there is one) will stop shortly " "afterwards, and will return an error. The errno (see " @@ -41935,7 +43003,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2122 +#: ../src/guestfs.pod:2105 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 " @@ -41943,12 +43011,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2126 +#: ../src/guestfs.pod:2109 msgid "There are two common places that you might call C<guestfs_user_cancel>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2128 +#: ../src/guestfs.pod:2111 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 " @@ -41957,19 +43025,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2133 +#: ../src/guestfs.pod:2116 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:2137 +#: ../src/guestfs.pod:2120 msgid "PRIVATE DATA AREA" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2139 +#: ../src/guestfs.pod:2122 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 " @@ -41977,12 +43045,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2144 +#: ../src/guestfs.pod:2127 msgid "To attach a named piece of data, use the following call:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2146 +#: ../src/guestfs.pod:2129 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -41990,7 +43058,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2148 +#: ../src/guestfs.pod:2131 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 " @@ -41998,7 +43066,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2152 +#: ../src/guestfs.pod:2135 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 " @@ -42008,12 +43076,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2158 +#: ../src/guestfs.pod:2141 msgid "To retrieve the pointer, use:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2160 +#: ../src/guestfs.pod:2143 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -42021,7 +43089,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2162 +#: ../src/guestfs.pod:2145 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 " @@ -42029,7 +43097,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2166 +#: ../src/guestfs.pod:2149 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 " @@ -42040,12 +43108,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2173 +#: ../src/guestfs.pod:2156 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2175 +#: ../src/guestfs.pod:2158 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -42053,7 +43121,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2177 +#: ../src/guestfs.pod:2160 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -42061,7 +43129,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2179 +#: ../src/guestfs.pod:2162 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 " @@ -42071,7 +43139,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2185 +#: ../src/guestfs.pod:2168 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 " @@ -42079,17 +43147,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2189 +#: ../src/guestfs.pod:2172 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2195 +#: ../src/guestfs.pod:2178 msgid "You must not call C<guestfs_set_private> while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2200 +#: ../src/guestfs.pod:2183 msgid "" "The handle maintains an internal iterator which is reset when you call " "C<guestfs_first_private>. This internal iterator is invalidated when you " @@ -42097,12 +43165,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2206 +#: ../src/guestfs.pod:2189 msgid "If you have set the data pointer associated with a key to C<NULL>, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2208 +#: ../src/guestfs.pod:2191 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -42110,26 +43178,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2210 +#: ../src/guestfs.pod:2193 msgid "then that C<key> is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2214 +#: ../src/guestfs.pod:2197 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:2220 +#: ../src/guestfs.pod:2203 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:2223 +#: ../src/guestfs.pod:2206 #, no-wrap msgid "" " const char *key;\n" @@ -42143,14 +43211,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2231 +#: ../src/guestfs.pod:2214 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:2234 +#: ../src/guestfs.pod:2217 #, no-wrap msgid "" " const char *key;\n" @@ -42165,7 +43233,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2226 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 " @@ -42173,7 +43241,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2247 +#: ../src/guestfs.pod:2230 #, no-wrap msgid "" " const char *key;\n" @@ -42195,7 +43263,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2263 +#: ../src/guestfs.pod:2246 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 " @@ -42204,12 +43272,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2268 +#: ../src/guestfs.pod:2251 msgid "SYSTEMTAP" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2270 +#: ../src/guestfs.pod:2253 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 " @@ -42217,12 +43285,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2274 +#: ../src/guestfs.pod:2257 msgid "You can list all the static markers by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2276 +#: ../src/guestfs.pod:2259 #, no-wrap msgid "" " stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n" @@ -42231,26 +43299,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2279 +#: ../src/guestfs.pod:2262 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:2282 +#: ../src/guestfs.pod:2265 msgid "SYSTEMTAP SCRIPT EXAMPLE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2284 +#: ../src/guestfs.pod:2267 msgid "" "This script contains examples of displaying both the static markers and some " "ordinary C entry points:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2311 +#: ../src/guestfs.pod:2294 #, no-wrap msgid "" " /* Display all calls to guestfs_mkfs* functions. */\n" @@ -42263,7 +43331,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2318 +#: ../src/guestfs.pod:2301 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 " @@ -42272,7 +43340,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2323 +#: ../src/guestfs.pod:2306 #, no-wrap msgid "" " # stap /tmp/test.stap\n" @@ -42281,17 +43349,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2326 +#: ../src/guestfs.pod:2309 msgid "In another terminal, run a guestfish command such as this:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2330 +#: ../src/guestfs.pod:2313 msgid "In the first terminal, stap trace output similar to this is shown:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2332 +#: ../src/guestfs.pod:2315 #, no-wrap msgid "" " 1318248056692655 (+0):\tlaunch_start\n" @@ -42304,25 +43372,20 @@ msgid "" "\n" msgstr "" -#. type: =end -#: ../src/guestfs.pod:2339 ../src/guestfs.pod:2344 -msgid "html" -msgstr "" - #. type: textblock -#: ../src/guestfs.pod:2341 +#: ../src/guestfs.pod:2324 msgid "" "<!-- old anchor for the next section --> <a " "name=\"state_machine_and_low_level_event_api\"/>" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2329 msgid "ARCHITECTURE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2348 +#: ../src/guestfs.pod:2331 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 " @@ -42330,7 +43393,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2352 +#: ../src/guestfs.pod:2335 #, no-wrap msgid "" " ___________________\n" @@ -42356,14 +43419,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2372 +#: ../src/guestfs.pod:2355 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:2375 +#: ../src/guestfs.pod:2358 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 " @@ -42375,7 +43438,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2384 +#: ../src/guestfs.pod:2367 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 " @@ -42386,17 +43449,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2391 +#: ../src/guestfs.pod:2374 msgid "STATE MACHINE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2393 +#: ../src/guestfs.pod:2376 msgid "libguestfs uses a state machine to model the child process:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2395 +#: ../src/guestfs.pod:2378 #, no-wrap msgid "" " |\n" @@ -42424,7 +43487,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2417 +#: ../src/guestfs.pod:2400 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), " @@ -42433,7 +43496,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2422 +#: ../src/guestfs.pod:2405 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 " @@ -42441,14 +43504,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2426 +#: ../src/guestfs.pod:2409 msgid "" "Configuration commands for qemu such as L</guestfs_add_drive> can only be " "issued when in the CONFIG state." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2429 +#: ../src/guestfs.pod:2412 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 " @@ -42457,7 +43520,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2435 +#: ../src/guestfs.pod:2418 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. " @@ -42466,7 +43529,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2440 +#: ../src/guestfs.pod:2423 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -42474,17 +43537,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2444 +#: ../src/guestfs.pod:2427 msgid "INTERNALS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2446 +#: ../src/guestfs.pod:2429 msgid "APPLIANCE BOOT PROCESS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2448 +#: ../src/guestfs.pod:2431 msgid "" "This process has evolved and continues to evolve. The description here " "corresponds only to the current version of libguestfs and is provided for " @@ -42492,55 +43555,55 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2452 +#: ../src/guestfs.pod:2435 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:2457 +#: ../src/guestfs.pod:2440 msgid "Create the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2459 +#: ../src/guestfs.pod:2442 msgid "" "C<febootstrap-supermin-helper> is invoked to create the kernel, a small " "initrd and the appliance." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2462 +#: ../src/guestfs.pod:2445 msgid "" "The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another " "directory if C<TMPDIR> is set)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2465 +#: ../src/guestfs.pod:2448 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:2469 +#: ../src/guestfs.pod:2452 msgid "Start qemu and boot the kernel" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2471 +#: ../src/guestfs.pod:2454 msgid "qemu is invoked to boot the kernel." msgstr "" #. type: =item -#: ../src/guestfs.pod:2473 +#: ../src/guestfs.pod:2456 msgid "Run the initrd" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2475 +#: ../src/guestfs.pod:2458 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 " @@ -42548,21 +43611,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2479 +#: ../src/guestfs.pod:2462 msgid "" "The initrd is a cpio archive called " "C</var/tmp/.guestfs-E<lt>UIDE<gt>/initrd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2482 +#: ../src/guestfs.pod:2465 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:2485 +#: ../src/guestfs.pod:2468 #, no-wrap msgid "" " febootstrap: ext2 mini initrd starting up\n" @@ -42573,12 +43636,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2490 +#: ../src/guestfs.pod:2473 msgid "Find and mount the appliance device" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2492 +#: ../src/guestfs.pod:2475 msgid "" "The appliance is a sparse file containing an ext2 filesystem which contains " "a familiar (although reduced in size) Linux operating system. It would " @@ -42586,33 +43649,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2496 +#: ../src/guestfs.pod:2479 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:2499 +#: ../src/guestfs.pod:2482 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:2502 +#: ../src/guestfs.pod:2485 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:2506 +#: ../src/guestfs.pod:2489 msgid "If this works successfully you will see messages such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2508 +#: ../src/guestfs.pod:2491 #, no-wrap msgid "" " febootstrap: picked /sys/block/vdb/dev as root device\n" @@ -42624,19 +43687,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2514 +#: ../src/guestfs.pod:2497 msgid "" "Note that C<Starting /init script ...> indicates that the appliance's init " "script is now running." msgstr "" #. type: =item -#: ../src/guestfs.pod:2517 +#: ../src/guestfs.pod:2500 msgid "Initialize the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2519 +#: ../src/guestfs.pod:2502 msgid "" "The appliance itself now initializes itself. This involves starting certain " "processes like C<udev>, possibly printing some debug information, and " @@ -42644,19 +43707,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2523 +#: ../src/guestfs.pod:2506 msgid "The daemon" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2525 +#: ../src/guestfs.pod:2508 msgid "" "Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you " "should see:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2528 +#: ../src/guestfs.pod:2511 #, no-wrap msgid "" " verbose daemon enabled\n" @@ -42664,14 +43727,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2530 +#: ../src/guestfs.pod:2513 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:2533 +#: ../src/guestfs.pod:2516 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 " @@ -42679,19 +43742,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2539 +#: ../src/guestfs.pod:2522 msgid "COMMUNICATION PROTOCOL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2541 +#: ../src/guestfs.pod:2524 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:2544 +#: ../src/guestfs.pod:2527 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 " @@ -42699,14 +43762,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2548 +#: ../src/guestfs.pod:2531 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:2551 +#: ../src/guestfs.pod:2534 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 " @@ -42716,17 +43779,17 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2558 +#: ../src/guestfs.pod:2541 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2560 +#: ../src/guestfs.pod:2543 msgid "For ordinary functions, the request message is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2562 +#: ../src/guestfs.pod:2545 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -42737,7 +43800,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2567 +#: ../src/guestfs.pod:2550 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 " @@ -42746,21 +43809,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2573 +#: ../src/guestfs.pod:2556 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:2576 +#: ../src/guestfs.pod:2559 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:2580 +#: ../src/guestfs.pod:2563 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 " @@ -42772,12 +43835,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2588 +#: ../src/guestfs.pod:2571 msgid "The reply message for ordinary functions is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2590 +#: ../src/guestfs.pod:2573 #, no-wrap msgid "" " total length (header + ret,\n" @@ -42788,26 +43851,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2595 +#: ../src/guestfs.pod:2578 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:2598 +#: ../src/guestfs.pod:2581 msgid "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2601 +#: ../src/guestfs.pod:2584 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:2604 +#: ../src/guestfs.pod:2587 #, no-wrap msgid "" " total length (header + error,\n" @@ -42818,19 +43881,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2609 +#: ../src/guestfs.pod:2592 msgid "" "The C<guestfs_message_error> structure contains the error message as a " "string." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2612 +#: ../src/guestfs.pod:2595 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2614 +#: ../src/guestfs.pod:2597 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 " @@ -42838,7 +43901,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2618 +#: ../src/guestfs.pod:2601 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -42852,12 +43915,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2626 +#: ../src/guestfs.pod:2609 msgid "The \"sequence of chunks\" is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2628 +#: ../src/guestfs.pod:2611 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -42871,7 +43934,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2636 +#: ../src/guestfs.pod:2619 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 " @@ -42879,7 +43942,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2640 +#: ../src/guestfs.pod:2623 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -42888,7 +43951,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2645 +#: ../src/guestfs.pod:2628 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 " @@ -42897,7 +43960,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2651 +#: ../src/guestfs.pod:2634 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 " @@ -42909,7 +43972,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2660 +#: ../src/guestfs.pod:2643 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 " @@ -42919,19 +43982,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2666 +#: ../src/guestfs.pod:2649 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2668 +#: ../src/guestfs.pod:2651 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:2671 +#: ../src/guestfs.pod:2654 #, no-wrap msgid "" " total length (header + ret,\n" @@ -42945,12 +44008,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2679 +#: ../src/guestfs.pod:2662 msgid "INITIAL MESSAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2681 +#: ../src/guestfs.pod:2664 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 " @@ -42958,12 +44021,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2668 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2687 +#: ../src/guestfs.pod:2670 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -42971,7 +44034,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2691 +#: ../src/guestfs.pod:2674 msgid "" "The library turns them into progress callbacks (see " "L</GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards " @@ -42979,7 +44042,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2695 +#: ../src/guestfs.pod:2678 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C<daemon/proto.c:notify_progress>). Not all calls generate progress " @@ -42987,12 +44050,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2699 +#: ../src/guestfs.pod:2682 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2701 +#: ../src/guestfs.pod:2684 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -43000,7 +44063,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2706 +#: ../src/guestfs.pod:2689 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -43017,12 +44080,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2717 +#: ../src/guestfs.pod:2700 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2719 +#: ../src/guestfs.pod:2702 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 " @@ -43032,26 +44095,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2725 +#: ../src/guestfs.pod:2708 msgid "Our criteria for backporting changes are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2731 +#: ../src/guestfs.pod:2714 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:2737 +#: ../src/guestfs.pod:2720 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2742 +#: ../src/guestfs.pod:2725 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 " @@ -43059,7 +44122,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2748 +#: ../src/guestfs.pod:2731 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 " @@ -43067,7 +44130,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2754 +#: ../src/guestfs.pod:2737 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 " @@ -43078,17 +44141,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2762 +#: ../src/guestfs.pod:2745 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2764 +#: ../src/guestfs.pod:2747 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2766 +#: ../src/guestfs.pod:2749 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated, and this makes it easy to extend the " @@ -43096,19 +44159,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2770 +#: ../src/guestfs.pod:2753 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2776 +#: ../src/guestfs.pod:2759 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C<generator/generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2779 +#: ../src/guestfs.pod:2762 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 " @@ -43119,7 +44182,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2787 +#: ../src/guestfs.pod:2770 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 " @@ -43129,7 +44192,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2793 +#: ../src/guestfs.pod:2776 msgid "" "For library-only actions of the second type, add to the " "C<non_daemon_functions> list. Since these functions are serviced by the " @@ -43139,36 +44202,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2801 +#: ../src/guestfs.pod:2784 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2803 +#: ../src/guestfs.pod:2786 msgid "" "For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the " "C<daemon/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2806 +#: ../src/guestfs.pod:2789 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:2809 +#: ../src/guestfs.pod:2792 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2813 +#: ../src/guestfs.pod:2796 msgid "After making these changes, use C<make> to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2815 +#: ../src/guestfs.pod:2798 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 " @@ -43176,12 +44239,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2819 +#: ../src/guestfs.pod:2802 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2821 +#: ../src/guestfs.pod:2804 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 " @@ -43191,61 +44254,61 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2828 +#: ../src/guestfs.pod:2811 msgid "" "The following describes the test environment used when you add an API test " "in C<generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2831 +#: ../src/guestfs.pod:2814 msgid "The test environment has 4 block devices:" msgstr "" #. type: =item -#: ../src/guestfs.pod:2835 +#: ../src/guestfs.pod:2818 msgid "C</dev/sda> 500MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2837 +#: ../src/guestfs.pod:2820 msgid "General block device for testing." msgstr "" #. type: =item -#: ../src/guestfs.pod:2839 +#: ../src/guestfs.pod:2822 msgid "C</dev/sdb> 50MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2841 +#: ../src/guestfs.pod:2824 msgid "" "C</dev/sdb1> is an ext2 filesystem used for testing filesystem write " "operations." msgstr "" #. type: =item -#: ../src/guestfs.pod:2844 +#: ../src/guestfs.pod:2827 msgid "C</dev/sdc> 10MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2846 +#: ../src/guestfs.pod:2829 msgid "Used in a few tests where two block devices are needed." msgstr "" #. type: =item -#: ../src/guestfs.pod:2848 +#: ../src/guestfs.pod:2831 msgid "C</dev/sdd>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2850 +#: ../src/guestfs.pod:2833 msgid "ISO with fixed content (see C<images/test.iso>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2854 +#: ../src/guestfs.pod:2837 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 " @@ -43253,7 +44316,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2858 +#: ../src/guestfs.pod:2841 msgid "" "Each test starts with an initial scenario, selected using one of the " "C<Init*> expressions, described in C<generator/generator_types.ml>. These " @@ -43263,7 +44326,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2864 +#: ../src/guestfs.pod:2847 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 " @@ -43273,14 +44336,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2870 +#: ../src/guestfs.pod:2853 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C<make check>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2873 +#: ../src/guestfs.pod:2856 #, no-wrap msgid "" " SKIP_TEST_<CMD>_<NUM>=1\n" @@ -43288,12 +44351,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2875 +#: ../src/guestfs.pod:2858 msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2879 +#: ../src/guestfs.pod:2862 #, no-wrap msgid "" " SKIP_TEST_<CMD>=1\n" @@ -43301,17 +44364,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2881 +#: ../src/guestfs.pod:2864 msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2883 +#: ../src/guestfs.pod:2866 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2885 +#: ../src/guestfs.pod:2868 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -43319,29 +44382,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2887 +#: ../src/guestfs.pod:2870 msgid "" "See C<tests/c-api/tests.c> for more details of how these environment " "variables work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2890 +#: ../src/guestfs.pod:2873 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2892 +#: ../src/guestfs.pod:2875 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2894 +#: ../src/guestfs.pod:2877 msgid "You can use guestfish to try out new commands." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2896 +#: ../src/guestfs.pod:2879 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 " @@ -43349,12 +44412,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2900 +#: ../src/guestfs.pod:2883 msgid "FORMATTING CODE AND OTHER CONVENTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2902 +#: ../src/guestfs.pod:2885 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -43364,14 +44427,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2908 +#: ../src/guestfs.pod:2891 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:2911 +#: ../src/guestfs.pod:2894 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -43387,7 +44450,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2921 +#: ../src/guestfs.pod:2904 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -43405,12 +44468,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2933 +#: ../src/guestfs.pod:2916 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2936 +#: ../src/guestfs.pod:2919 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -43418,12 +44481,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2938 +#: ../src/guestfs.pod:2921 msgid "Useful targets are:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2940 +#: ../src/guestfs.pod:2923 #, no-wrap msgid "" " make syntax-check # checks the syntax of the C code\n" @@ -43432,43 +44495,43 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2943 +#: ../src/guestfs.pod:2926 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2945 +#: ../src/guestfs.pod:2928 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:2950 +#: ../src/guestfs.pod:2933 msgid "%Q" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2952 +#: ../src/guestfs.pod:2935 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." msgstr "" #. type: =item -#: ../src/guestfs.pod:2955 +#: ../src/guestfs.pod:2938 msgid "%R" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2957 +#: ../src/guestfs.pod:2940 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:2964 +#: ../src/guestfs.pod:2947 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -43476,12 +44539,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2966 +#: ../src/guestfs.pod:2949 msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2968 +#: ../src/guestfs.pod:2951 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 " @@ -43490,12 +44553,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2974 +#: ../src/guestfs.pod:2957 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2976 +#: ../src/guestfs.pod:2959 msgid "" "Submit patches to the mailing list: " "L<http://www.redhat.com/mailman/listinfo/libguestfs> and CC to " @@ -43503,17 +44566,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2980 +#: ../src/guestfs.pod:2963 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2982 +#: ../src/guestfs.pod:2965 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2984 +#: ../src/guestfs.pod:2967 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 " @@ -43522,103 +44585,103 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2990 +#: ../src/guestfs.pod:2973 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2993 +#: ../src/guestfs.pod:2976 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "" #. type: =item -#: ../src/guestfs.pod:2997 +#: ../src/guestfs.pod:2980 msgid "C<align>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2999 +#: ../src/guestfs.pod:2982 msgid "L<virt-alignment-scan(1)> command and documentation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3003 +#: ../src/guestfs.pod:2986 msgid "The libguestfs appliance, build scripts and so on." msgstr "" #. type: =item -#: ../src/guestfs.pod:3005 +#: ../src/guestfs.pod:2988 msgid "C<cat>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3007 +#: ../src/guestfs.pod:2990 msgid "" "The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and " "documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3010 +#: ../src/guestfs.pod:2993 msgid "C<contrib>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3012 +#: ../src/guestfs.pod:2995 msgid "Outside contributions, experimental parts." msgstr "" #. type: =item -#: ../src/guestfs.pod:3014 +#: ../src/guestfs.pod:2997 msgid "C<daemon>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3016 +#: ../src/guestfs.pod:2999 msgid "" "The daemon that runs inside the libguestfs appliance and carries out " "actions." msgstr "" #. type: =item -#: ../src/guestfs.pod:3019 +#: ../src/guestfs.pod:3002 msgid "C<df>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3021 +#: ../src/guestfs.pod:3004 msgid "L<virt-df(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3023 +#: ../src/guestfs.pod:3006 msgid "C<edit>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3025 +#: ../src/guestfs.pod:3008 msgid "L<virt-edit(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3027 +#: ../src/guestfs.pod:3010 msgid "C<examples>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3029 +#: ../src/guestfs.pod:3012 msgid "C API example code." msgstr "" #. type: =item -#: ../src/guestfs.pod:3031 +#: ../src/guestfs.pod:3014 msgid "C<fish>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3033 +#: ../src/guestfs.pod:3016 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)>, " @@ -43626,79 +44689,79 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3039 +#: ../src/guestfs.pod:3022 msgid "L<virt-format(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3041 +#: ../src/guestfs.pod:3024 msgid "C<fuse>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3043 +#: ../src/guestfs.pod:3026 msgid "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3045 +#: ../src/guestfs.pod:3028 msgid "C<generator>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3047 +#: ../src/guestfs.pod:3030 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:3050 +#: ../src/guestfs.pod:3033 msgid "C<inspector>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3052 +#: ../src/guestfs.pod:3035 msgid "L<virt-inspector(1)>, the virtual machine image inspector." msgstr "" #. type: =item -#: ../src/guestfs.pod:3054 +#: ../src/guestfs.pod:3037 msgid "C<logo>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3056 +#: ../src/guestfs.pod:3039 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:3058 +#: ../src/guestfs.pod:3041 msgid "C<m4>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3060 +#: ../src/guestfs.pod:3043 msgid "M4 macros used by autoconf." msgstr "" #. type: =item -#: ../src/guestfs.pod:3062 +#: ../src/guestfs.pod:3045 msgid "C<po>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3064 +#: ../src/guestfs.pod:3047 msgid "Translations of simple gettext strings." msgstr "" #. type: =item -#: ../src/guestfs.pod:3066 +#: ../src/guestfs.pod:3049 msgid "C<po-docs>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3068 +#: ../src/guestfs.pod:3051 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 " @@ -43706,149 +44769,149 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3072 +#: ../src/guestfs.pod:3055 msgid "C<rescue>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3074 +#: ../src/guestfs.pod:3057 msgid "L<virt-rescue(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3076 +#: ../src/guestfs.pod:3059 msgid "C<resize>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3078 +#: ../src/guestfs.pod:3061 msgid "L<virt-resize(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3080 +#: ../src/guestfs.pod:3063 msgid "C<sparsify>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3082 +#: ../src/guestfs.pod:3065 msgid "L<virt-sparsify(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3084 +#: ../src/guestfs.pod:3067 msgid "C<src>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3086 +#: ../src/guestfs.pod:3069 msgid "Source code to the C library." msgstr "" #. type: =item -#: ../src/guestfs.pod:3088 +#: ../src/guestfs.pod:3071 msgid "C<sysprep>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3090 +#: ../src/guestfs.pod:3073 msgid "L<virt-sysprep(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3092 +#: ../src/guestfs.pod:3075 msgid "C<test-tool>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3094 +#: ../src/guestfs.pod:3077 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3097 +#: ../src/guestfs.pod:3080 msgid "C<tests>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3099 +#: ../src/guestfs.pod:3082 msgid "Tests." msgstr "" #. type: =item -#: ../src/guestfs.pod:3101 +#: ../src/guestfs.pod:3084 msgid "C<tools>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3103 +#: ../src/guestfs.pod:3086 msgid "Command line tools written in Perl (L<virt-win-reg(1)> and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:3105 +#: ../src/guestfs.pod:3088 msgid "C<csharp>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3107 +#: ../src/guestfs.pod:3090 msgid "C<erlang>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3109 +#: ../src/guestfs.pod:3092 msgid "C<gobject>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3111 +#: ../src/guestfs.pod:3094 msgid "C<haskell>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3113 +#: ../src/guestfs.pod:3096 msgid "C<java>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3115 +#: ../src/guestfs.pod:3098 msgid "C<ocaml>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3117 +#: ../src/guestfs.pod:3100 msgid "C<php>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3119 +#: ../src/guestfs.pod:3102 msgid "C<perl>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3121 +#: ../src/guestfs.pod:3104 msgid "C<python>" msgstr "" #. type: =item -#: ../src/guestfs.pod:3123 +#: ../src/guestfs.pod:3106 msgid "C<ruby>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3125 +#: ../src/guestfs.pod:3108 msgid "Language bindings." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3129 +#: ../src/guestfs.pod:3112 msgid "MAKING A STABLE RELEASE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3131 +#: ../src/guestfs.pod:3114 msgid "" "When we make a stable release, there are several steps documented here. See " "L</LIBGUESTFS VERSION NUMBERS> for general information about the stable " @@ -43856,32 +44919,32 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3139 +#: ../src/guestfs.pod:3122 msgid "Check C<make && make check> works on at least Fedora, Debian and Ubuntu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3144 +#: ../src/guestfs.pod:3127 msgid "Finalize RELEASE-NOTES." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3148 +#: ../src/guestfs.pod:3131 msgid "Update ROADMAP." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3152 +#: ../src/guestfs.pod:3135 msgid "Run C<src/api-support/update-from-tarballs.sh>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3156 +#: ../src/guestfs.pod:3139 msgid "Push and pull from Transifex." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3160 +#: ../src/guestfs.pod:3143 #, no-wrap msgid "" " tx push -s\n" @@ -43889,12 +44952,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3162 +#: ../src/guestfs.pod:3145 msgid "to push the latest POT files to Transifex. Then run:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3164 +#: ../src/guestfs.pod:3147 #, no-wrap msgid "" " ./tx-pull.sh\n" @@ -43902,24 +44965,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3166 +#: ../src/guestfs.pod:3149 msgid "which is a wrapper to pull the latest translated C<*.po> files." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3170 +#: ../src/guestfs.pod:3153 msgid "" "Create new stable and development directories under " "L<http://libguestfs.org/download>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3175 +#: ../src/guestfs.pod:3158 msgid "Create the branch in git:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:3177 +#: ../src/guestfs.pod:3160 #, no-wrap msgid "" " git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n" @@ -43930,17 +44993,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3184 +#: ../src/guestfs.pod:3167 msgid "LIMITS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3186 +#: ../src/guestfs.pod:3169 msgid "PROTOCOL LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3188 +#: ../src/guestfs.pod:3171 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 " @@ -43951,7 +45014,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3196 +#: ../src/guestfs.pod:3179 msgid "" "A simple call such as L</guestfs_cat> returns its result (the file data) in " "a simple string. Because this string is at some point internally encoded as " @@ -43960,7 +45023,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3202 +#: ../src/guestfs.pod:3185 msgid "" "In order to transfer large files into and out of the guest filesystem, you " "need to use particular calls that support this. The sections L</UPLOADING> " @@ -43968,24 +45031,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3206 +#: ../src/guestfs.pod:3189 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L<guestmount(1)>)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3209 +#: ../src/guestfs.pod:3192 msgid "MAXIMUM NUMBER OF DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3211 +#: ../src/guestfs.pod:3194 msgid "When using virtio disks (the default) the current limit is B<25> disks." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3214 +#: ../src/guestfs.pod:3197 msgid "" "Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 " "slots. However febootstrap only understands disks with names C</dev/vda> " @@ -43994,14 +45057,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3219 +#: ../src/guestfs.pod:3202 msgid "" "We are working to substantially raise this limit in future versions but it " "requires complex changes to qemu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3222 +#: ../src/guestfs.pod:3205 msgid "" "In future versions of libguestfs it should also be possible to \"hot plug\" " "disks (add and remove disks after calling L</guestfs_launch>). This also " @@ -44009,41 +45072,41 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3226 +#: ../src/guestfs.pod:3209 msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3228 +#: ../src/guestfs.pod:3211 msgid "Virtio limits the maximum number of partitions per disk to B<15>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3230 +#: ../src/guestfs.pod:3213 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:3233 +#: ../src/guestfs.pod:3216 msgid "" "If you attach a disk with more than 15 partitions, the extra partitions are " "ignored by libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3236 +#: ../src/guestfs.pod:3219 msgid "MAXIMUM SIZE OF A DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3238 +#: ../src/guestfs.pod:3221 msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3240 +#: ../src/guestfs.pod:3223 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 " @@ -44051,7 +45114,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3244 +#: ../src/guestfs.pod:3227 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 " @@ -44061,19 +45124,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3250 +#: ../src/guestfs.pod:3233 msgid "" "For the hugest disk image files, we recommend using XFS on the host for " "storage." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3253 +#: ../src/guestfs.pod:3236 msgid "MAXIMUM SIZE OF A PARTITION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3255 +#: ../src/guestfs.pod:3238 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 " @@ -44081,7 +45144,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3259 +#: ../src/guestfs.pod:3242 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 " @@ -44089,12 +45152,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3264 +#: ../src/guestfs.pod:3247 msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3266 +#: ../src/guestfs.pod:3249 msgid "" "This depends on the filesystem type. libguestfs itself does not impose any " "known limit. Consult Wikipedia or the filesystem documentation to find out " @@ -44102,12 +45165,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3270 +#: ../src/guestfs.pod:3253 msgid "MAXIMUM UPLOAD AND DOWNLOAD" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3272 +#: ../src/guestfs.pod:3255 msgid "" "The API functions L</guestfs_upload>, L</guestfs_download>, " "L</guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized " @@ -44115,12 +45178,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3276 +#: ../src/guestfs.pod:3259 msgid "INSPECTION LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3278 +#: ../src/guestfs.pod:3261 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 " @@ -44130,33 +45193,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3304 +#: ../src/guestfs.pod:3287 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:3316 +#: ../src/guestfs.pod:3299 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:3325 +#: ../src/guestfs.pod:3308 msgid "See also L</QEMU WRAPPERS> above." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3329 +#: ../src/guestfs.pod:3312 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:3347 +#: ../src/guestfs.pod:3330 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)>, " @@ -44167,66 +45230,67 @@ msgid "" "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-performance(1)>, L<guestfs-testing(1)>, " -"L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-appliance(1)>, " -"L<febootstrap(1)>, L<febootstrap-supermin-helper(8)>, L<qemu(1)>, " -"L<hivex(3)>, L<stap(1)>, L<http://libguestfs.org/>." +"L<virt-win-reg(1)>, L<guestfs-faq(1)>, L<guestfs-performance(1)>, " +"L<guestfs-testing(1)>, L<libguestfs-test-tool(1)>, " +"L<libguestfs-make-fixed-appliance(1)>, L<febootstrap(1)>, " +"L<febootstrap-supermin-helper(8)>, L<qemu(1)>, L<hivex(3)>, L<stap(1)>, " +"L<http://libguestfs.org/>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3388 +#: ../src/guestfs.pod:3372 msgid "" "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, " "L<lvm(8)>, L<disktype(1)>." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3395 ../tools/virt-make-fs.pl:574 ../tools/virt-win-reg.pl:772 +#: ../src/guestfs.pod:3379 ../tools/virt-make-fs.pl:574 ../tools/virt-win-reg.pl:772 msgid "BUGS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3397 +#: ../src/guestfs.pod:3381 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3399 +#: ../src/guestfs.pod:3383 msgid "L<https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3401 +#: ../src/guestfs.pod:3385 msgid "To report a new bug against libguestfs use this link:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3403 +#: ../src/guestfs.pod:3387 msgid "L<https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3405 +#: ../src/guestfs.pod:3389 msgid "When reporting a bug, please check:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3411 +#: ../src/guestfs.pod:3395 msgid "That the bug hasn't been reported already." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3415 +#: ../src/guestfs.pod:3399 msgid "That you are testing a recent version." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3419 +#: ../src/guestfs.pod:3403 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3423 +#: ../src/guestfs.pod:3407 msgid "" "Run libguestfs-test-tool and paste the B<complete, unedited> output into the " "bug report." diff --git a/po-docs/podfiles b/po-docs/podfiles index c3c6e251..08e74e43 100644 --- a/po-docs/podfiles +++ b/po-docs/podfiles @@ -7,6 +7,7 @@ ../edit/virt-edit.pod ../erlang/examples/guestfs-erlang.pod ../examples/guestfs-examples.pod +../examples/guestfs-faq.pod ../examples/guestfs-performance.pod ../examples/guestfs-recipes.pod ../examples/guestfs-testing.pod diff --git a/po-docs/uk.po b/po-docs/uk.po index a2e4cdac..36e6b392 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-05-01 09:43+0200\n" +"POT-Creation-Date: 2012-05-01 14:06+0200\n" "PO-Revision-Date: 2012-03-30 17:30+0000\n" "Last-Translator: rjones <rjones@redhat.com>\n" "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n" @@ -24,18 +24,18 @@ msgstr "" #: ../appliance/libguestfs-make-fixed-appliance.pod:3 ../cat/virt-cat.pod:3 #: ../cat/virt-filesystems.pod:3 ../cat/virt-ls.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-performance.pod:3 -#: ../examples/guestfs-recipes.pod:14 ../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 ../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 +#: ../examples/guestfs-examples.pod:3 ../examples/guestfs-faq.pod:3 +#: ../examples/guestfs-performance.pod:3 ../examples/guestfs-recipes.pod:14 +#: ../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 +#: ../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:35 ../tools/virt-tar.pl:31 #: ../tools/virt-win-reg.pl:35 @@ -541,7 +541,7 @@ msgstr "" #: ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 #: ../fish/guestfish.pod:673 ../format/virt-format.pod:96 #: ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 -#: ../src/guestfs.pod:2962 ../sysprep/virt-sysprep.pod:111 +#: ../src/guestfs.pod:2945 ../sysprep/virt-sysprep.pod:111 msgid "For example:" msgstr "Приклад:" @@ -1130,22 +1130,22 @@ msgstr "Ця програма повертає:" #: ../src/guestfs-actions.pod:3124 ../src/guestfs-actions.pod:3679 #: ../src/guestfs-actions.pod:3685 ../src/guestfs-actions.pod:3693 #: ../src/guestfs-actions.pod:3700 ../src/guestfs-actions.pod:3707 -#: ../src/guestfs.pod:407 ../src/guestfs.pod:412 ../src/guestfs.pod:417 -#: ../src/guestfs.pod:421 ../src/guestfs.pod:426 ../src/guestfs.pod:430 -#: ../src/guestfs.pod:435 ../src/guestfs.pod:440 ../src/guestfs.pod:1194 -#: ../src/guestfs.pod:1198 ../src/guestfs.pod:1202 ../src/guestfs.pod:1207 -#: ../src/guestfs.pod:1215 ../src/guestfs.pod:1234 ../src/guestfs.pod:1242 -#: ../src/guestfs.pod:1264 ../src/guestfs.pod:1268 ../src/guestfs.pod:1272 -#: ../src/guestfs.pod:1276 ../src/guestfs.pod:1280 ../src/guestfs.pod:1284 -#: ../src/guestfs.pod:1774 ../src/guestfs.pod:1779 ../src/guestfs.pod:1783 -#: ../src/guestfs.pod:1885 ../src/guestfs.pod:1890 ../src/guestfs.pod:1894 -#: ../src/guestfs.pod:1904 ../src/guestfs.pod:2193 ../src/guestfs.pod:2198 -#: ../src/guestfs.pod:2204 ../src/guestfs.pod:2212 ../src/guestfs.pod:2729 -#: ../src/guestfs.pod:2735 ../src/guestfs.pod:2740 ../src/guestfs.pod:2746 -#: ../src/guestfs.pod:3137 ../src/guestfs.pod:3142 ../src/guestfs.pod:3146 -#: ../src/guestfs.pod:3150 ../src/guestfs.pod:3154 ../src/guestfs.pod:3168 -#: ../src/guestfs.pod:3173 ../src/guestfs.pod:3409 ../src/guestfs.pod:3413 -#: ../src/guestfs.pod:3417 ../src/guestfs.pod:3421 +#: ../src/guestfs.pod:390 ../src/guestfs.pod:395 ../src/guestfs.pod:400 +#: ../src/guestfs.pod:404 ../src/guestfs.pod:409 ../src/guestfs.pod:413 +#: ../src/guestfs.pod:418 ../src/guestfs.pod:423 ../src/guestfs.pod:1177 +#: ../src/guestfs.pod:1181 ../src/guestfs.pod:1185 ../src/guestfs.pod:1190 +#: ../src/guestfs.pod:1198 ../src/guestfs.pod:1217 ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1247 ../src/guestfs.pod:1251 ../src/guestfs.pod:1255 +#: ../src/guestfs.pod:1259 ../src/guestfs.pod:1263 ../src/guestfs.pod:1267 +#: ../src/guestfs.pod:1757 ../src/guestfs.pod:1762 ../src/guestfs.pod:1766 +#: ../src/guestfs.pod:1868 ../src/guestfs.pod:1873 ../src/guestfs.pod:1877 +#: ../src/guestfs.pod:1887 ../src/guestfs.pod:2176 ../src/guestfs.pod:2181 +#: ../src/guestfs.pod:2187 ../src/guestfs.pod:2195 ../src/guestfs.pod:2712 +#: ../src/guestfs.pod:2718 ../src/guestfs.pod:2723 ../src/guestfs.pod:2729 +#: ../src/guestfs.pod:3120 ../src/guestfs.pod:3125 ../src/guestfs.pod:3129 +#: ../src/guestfs.pod:3133 ../src/guestfs.pod:3137 ../src/guestfs.pod:3151 +#: ../src/guestfs.pod:3156 ../src/guestfs.pod:3393 ../src/guestfs.pod:3397 +#: ../src/guestfs.pod:3401 ../src/guestfs.pod:3405 #: ../sysprep/virt-sysprep.pod:230 ../sysprep/virt-sysprep.pod:234 #: ../sysprep/virt-sysprep.pod:238 ../sysprep/virt-sysprep.pod:242 #: ../sysprep/virt-sysprep.pod:257 ../sysprep/virt-sysprep.pod:261 @@ -1211,17 +1211,17 @@ msgstr "" #: ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:389 #: ../cat/virt-ls.pod:495 ../df/virt-df.pod:253 ../edit/virt-edit.pod:354 #: ../erlang/examples/guestfs-erlang.pod:97 -#: ../examples/guestfs-examples.pod:33 ../examples/guestfs-performance.pod:364 -#: ../examples/guestfs-recipes.pod:384 ../examples/guestfs-testing.pod:291 -#: ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 -#: ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 -#: ../fish/virt-tar-out.pod:41 ../format/virt-format.pod:177 -#: ../fuse/guestmount.pod:317 ../inspector/virt-inspector.pod:501 -#: ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 -#: ../perl/examples/guestfs-perl.pod:39 +#: ../examples/guestfs-examples.pod:33 ../examples/guestfs-faq.pod:530 +#: ../examples/guestfs-performance.pod:364 ../examples/guestfs-recipes.pod:384 +#: ../examples/guestfs-testing.pod:291 ../fish/guestfish.pod:1268 +#: ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 +#: ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 +#: ../format/virt-format.pod:177 ../fuse/guestmount.pod:317 +#: ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 +#: ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39 #: ../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:286 ../src/guestfs.pod:3345 +#: ../sparsify/virt-sparsify.pod:286 ../src/guestfs.pod:3328 #: ../sysprep/virt-sysprep.pod:432 ../test-tool/libguestfs-test-tool.pod:100 #: ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 #: ../tools/virt-make-fs.pl:559 ../tools/virt-tar.pl:296 @@ -1269,17 +1269,17 @@ 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 ../df/virt-df.pod:265 ../edit/virt-edit.pod:372 #: ../erlang/examples/guestfs-erlang.pod:114 -#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-performance.pod:379 -#: ../examples/guestfs-recipes.pod:401 ../examples/guestfs-testing.pod:302 -#: ../fish/guestfish.pod:1300 ../fish/virt-copy-in.pod:64 -#: ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 -#: ../fish/virt-tar-out.pod:55 ../format/virt-format.pod:191 -#: ../fuse/guestmount.pod:332 ../inspector/virt-inspector.pod:524 -#: ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 -#: ../perl/examples/guestfs-perl.pod:56 +#: ../examples/guestfs-examples.pod:49 ../examples/guestfs-faq.pod:540 +#: ../examples/guestfs-performance.pod:379 ../examples/guestfs-recipes.pod:401 +#: ../examples/guestfs-testing.pod:302 ../fish/guestfish.pod:1300 +#: ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 +#: ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 +#: ../format/virt-format.pod:191 ../fuse/guestmount.pod:332 +#: ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:62 +#: ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56 #: ../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:303 ../src/guestfs.pod:3432 +#: ../sparsify/virt-sparsify.pod:303 ../src/guestfs.pod:3416 #: ../sysprep/virt-sysprep.pod:451 ../test-tool/libguestfs-test-tool.pod:110 #: ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 #: ../tools/virt-make-fs.pl:589 ../tools/virt-tar.pl:315 @@ -1616,7 +1616,7 @@ msgstr "" #: ../appliance/libguestfs-make-fixed-appliance.pod:139 #: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119 #: ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:259 -#: ../src/guestfs.pod:3284 ../test-tool/libguestfs-test-tool.pod:95 +#: ../src/guestfs.pod:3267 ../test-tool/libguestfs-test-tool.pod:95 msgid "ENVIRONMENT VARIABLES" msgstr "ЗМІННІ СЕРЕДОВИЩА" @@ -1638,15 +1638,16 @@ msgstr "" #. type: =head1 #: ../appliance/libguestfs-make-fixed-appliance.pod:153 #: ../erlang/examples/guestfs-erlang.pod:110 -#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-performance.pod:375 -#: ../examples/guestfs-recipes.pod:397 ../examples/guestfs-testing.pod:298 -#: ../fish/guestfish.pod:1296 ../fish/virt-copy-in.pod:60 -#: ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 -#: ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:328 -#: ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:58 -#: ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:52 +#: ../examples/guestfs-examples.pod:45 ../examples/guestfs-faq.pod:536 +#: ../examples/guestfs-performance.pod:375 ../examples/guestfs-recipes.pod:397 +#: ../examples/guestfs-testing.pod:298 ../fish/guestfish.pod:1296 +#: ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 +#: ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 +#: ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:510 +#: ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 +#: ../perl/examples/guestfs-perl.pod:52 #: ../python/examples/guestfs-python.pod:54 -#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3428 +#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3412 #: ../test-tool/libguestfs-test-tool.pod:106 msgid "AUTHORS" msgstr "АВТОРИ" @@ -1654,15 +1655,15 @@ msgstr "АВТОРИ" #. type: textblock #: ../appliance/libguestfs-make-fixed-appliance.pod:155 #: ../erlang/examples/guestfs-erlang.pod:112 -#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-performance.pod:377 -#: ../examples/guestfs-recipes.pod:399 ../examples/guestfs-testing.pod:300 -#: ../fish/guestfish.pod:1298 ../fish/virt-copy-in.pod:62 -#: ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 -#: ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:330 -#: ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 -#: ../perl/examples/guestfs-perl.pod:54 +#: ../examples/guestfs-examples.pod:47 ../examples/guestfs-faq.pod:538 +#: ../examples/guestfs-performance.pod:377 ../examples/guestfs-recipes.pod:399 +#: ../examples/guestfs-testing.pod:300 ../fish/guestfish.pod:1298 +#: ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 +#: ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 +#: ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:60 +#: ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54 #: ../python/examples/guestfs-python.pod:56 -#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3430 +#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3414 #: ../test-tool/libguestfs-test-tool.pod:108 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)" msgstr "Richard W.M. Jones (C<rjones at redhat dot com>)" @@ -1670,7 +1671,7 @@ msgstr "Richard W.M. Jones (C<rjones at redhat dot com>)" #. type: textblock #: ../appliance/libguestfs-make-fixed-appliance.pod:159 #: ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:334 -#: ../src/guestfs.pod:3434 ../test-tool/libguestfs-test-tool.pod:112 +#: ../src/guestfs.pod:3418 ../test-tool/libguestfs-test-tool.pod:112 msgid "Copyright (C) 2009-2012 Red Hat Inc. L<http://libguestfs.org/>" msgstr "" @@ -4692,13 +4693,13 @@ msgstr "" #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:121 -#: ../examples/guestfs-examples.pod:56 ../examples/guestfs-performance.pod:383 -#: ../examples/guestfs-recipes.pod:408 ../examples/guestfs-testing.pod:306 -#: ../java/examples/guestfs-java.pod:69 +#: ../examples/guestfs-examples.pod:56 ../examples/guestfs-faq.pod:544 +#: ../examples/guestfs-performance.pod:383 ../examples/guestfs-recipes.pod:408 +#: ../examples/guestfs-testing.pod:306 ../java/examples/guestfs-java.pod:69 #: ../ocaml/examples/guestfs-ocaml.pod:102 #: ../perl/examples/guestfs-perl.pod:63 #: ../python/examples/guestfs-python.pod:65 -#: ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3437 +#: ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3421 msgid "" "This library is free software; you can redistribute it and/or modify it " "under the terms of the GNU Lesser General Public License as published by the " @@ -4708,13 +4709,13 @@ msgstr "" #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:126 -#: ../examples/guestfs-examples.pod:61 ../examples/guestfs-performance.pod:388 -#: ../examples/guestfs-recipes.pod:413 ../examples/guestfs-testing.pod:311 -#: ../java/examples/guestfs-java.pod:74 +#: ../examples/guestfs-examples.pod:61 ../examples/guestfs-faq.pod:549 +#: ../examples/guestfs-performance.pod:388 ../examples/guestfs-recipes.pod:413 +#: ../examples/guestfs-testing.pod:311 ../java/examples/guestfs-java.pod:74 #: ../ocaml/examples/guestfs-ocaml.pod:107 #: ../perl/examples/guestfs-perl.pod:68 #: ../python/examples/guestfs-python.pod:70 -#: ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3442 +#: ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3426 msgid "" "This library is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " @@ -4728,13 +4729,13 @@ msgstr "" #. type: textblock #: ../erlang/examples/guestfs-erlang.pod:131 -#: ../examples/guestfs-examples.pod:66 ../examples/guestfs-performance.pod:393 -#: ../examples/guestfs-recipes.pod:418 ../examples/guestfs-testing.pod:316 -#: ../java/examples/guestfs-java.pod:79 +#: ../examples/guestfs-examples.pod:66 ../examples/guestfs-faq.pod:554 +#: ../examples/guestfs-performance.pod:393 ../examples/guestfs-recipes.pod:418 +#: ../examples/guestfs-testing.pod:316 ../java/examples/guestfs-java.pod:79 #: ../ocaml/examples/guestfs-ocaml.pod:112 #: ../perl/examples/guestfs-perl.pod:73 #: ../python/examples/guestfs-python.pod:75 -#: ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3447 +#: ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3431 msgid "" "You should have received a copy of the GNU Lesser General Public License " "along with this library; if not, write to the Free Software Foundation, " @@ -4814,6 +4815,1161 @@ msgid "Copyright (C) 2010 Red Hat Inc. L<http://libguestfs.org/>" msgstr "© Red Hat Inc. L<http://libguestfs.org/>, 2010" #. type: textblock +#: ../examples/guestfs-faq.pod:5 +msgid "guestfs-faq - libguestfs Frequently Asked Questions (FAQ)" +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:7 +#, fuzzy +#| msgid "LIBGUESTFS_DEBUG" +msgid "ABOUT LIBGUESTFS" +msgstr "LIBGUESTFS_DEBUG" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:9 +msgid "What is libguestfs?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:11 +msgid "" +"libguestfs is a way to create, access and modify disk images. You can look " +"inside disk images, modify the files they contain, create them from scratch, " +"resize them, and much more. It's especially useful from scripts and " +"programs and from the command line." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:16 +msgid "" +"libguestfs is a C library (hence \"lib-\"), and a set of tools built on this " +"library, and a set of bindings in many different programming languages." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:20 +msgid "" +"For more information about what libguestfs can do read the introduction on " +"the home page (L<http://libguestfs.org>)." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:23 +msgid "What are the virt tools?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:25 +msgid "" +"Virt tools (website: L<http://virt-tools.org>) are a whole set of " +"virtualization management tools aimed at system administrators. Some of " +"them come from libguestfs, some from libvirt and many others from other open " +"source projects. So virt tools is a superset of libguestfs. However " +"libguestfs comes with many important tools. See L<http://libguestfs.org> " +"for a full list." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:32 +msgid "Does libguestfs need { libvirt / KVM / Red Hat / Fedora }?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:34 +msgid "No!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:36 +msgid "libvirt is not a requirement for libguestfs." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:38 +msgid "" +"libguestfs works with any disk image, including ones created in VMware, KVM, " +"qemu, VirtualBox, Xen, and many other hypervisors, and ones which you have " +"created from scratch." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:42 +msgid "" +"Red Hat sponsors (ie. pays for) development of libguestfs and a huge number " +"of other open source projects. But you can run libguestfs and the virt " +"tools on many different Linux distros and Mac OS X. Some virt tools have " +"been ported to Windows." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:47 +msgid "How does libguestfs compare to other tools?" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:51 +msgid "I<vs. kpartx>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:53 +msgid "" +"Libguestfs takes a different approach from kpartx. kpartx needs root, and " +"mounts filesystems on the host kernel (which can be insecure - see L<guestfs" +"(3)/SECURITY>). Libguestfs isolates your host kernel from guests, is more " +"flexible, scriptable, supports LVM, doesn't require root, is isolated from " +"other processes, and cleans up after itself. Libguestfs is more than just " +"file access because you can use it to create images from scratch." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:61 +#, fuzzy +#| msgid "C<fuse>" +msgid "I<vs. vdfuse>" +msgstr "C<fuse>" + +#. type: textblock +#: ../examples/guestfs-faq.pod:63 +msgid "" +"vdfuse is like kpartx but for VirtualBox images. See the kpartx comparison " +"above. You can use libguestfs on the partition files exposed by vdfuse, " +"although it's not necessary since libguestfs can access VirtualBox images " +"directly." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:68 +msgid "I<vs. qemu-nbd>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:70 +msgid "" +"nbd is like kpartx but for qcow2 images. See the kpartx comparison above. " +"You can use libguestfs and qemu-nbd together for access to block devices " +"over the network." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:74 +msgid "I<vs. mounting filesystems in the host>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:76 +msgid "" +"Mounting guest filesystems in the host is insecure and should be avoided " +"completely for untrusted guests. Use libguestfs to provide a layer of " +"protection against filesystem exploits. See also L<guestmount(1)>." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:81 +#, fuzzy +#| msgid "B<part_end>" +msgid "I<vs. parted>" +msgstr "B<part_end>" + +#. type: textblock +#: ../examples/guestfs-faq.pod:83 +msgid "" +"Libguestfs supports LVM. Libguestfs uses parted and provides most parted " +"features through the libguestfs API." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:88 +msgid "GETTING HELP AND REPORTING BUGS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:90 +msgid "How do I know what version I'm using?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:92 +msgid "The simplest method is:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:94 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfish --remote exit\n" +#| "\n" +msgid "" +" guestfish --version\n" +"\n" +msgstr "" +" guestfish --remote exit\n" +"\n" + +#. type: textblock +#: ../examples/guestfs-faq.pod:96 +msgid "" +"Libguestfs development happens along an unstable branch and we periodically " +"create a stable branch which we backport stable patches to. To find out " +"more, read L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:100 +msgid "How can I get help? What mailing lists or chat rooms are available?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:103 +msgid "" +"If you are a Red Hat customer using Red Hat Enterprise Linux, please contact " +"Red Hat Support: L<http://redhat.com/support>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:106 +msgid "" +"There is a mailing list, mainly for development, but users are also welcome " +"to ask questions about libguestfs and the virt tools: L<https://www.redhat." +"com/mailman/listinfo/libguestfs>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:110 +msgid "" +"You can also talk to us on IRC channel C<#libguestfs> on FreeNode. We're " +"not always around, so please stay in the channel after asking your question " +"and someone will get back to you." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:114 +msgid "" +"For other virt tools (not ones supplied with libguestfs) there is a general " +"virt tools mailing list: L<https://www.redhat.com/mailman/listinfo/virt-" +"tools-list>" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:118 +msgid "How do I report bugs?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:120 +msgid "Please use the following link to enter a bug in Bugzilla:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:122 +#, fuzzy, no-wrap +#| msgid "https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools" +msgid "" +" https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools\n" +"\n" +msgstr "https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools" + +#. type: textblock +#: ../examples/guestfs-faq.pod:124 +msgid "Include as much detail as you can and a way to reproduce the problem." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:126 +msgid "Include the full output of L<libguestfs-test-tool(1)>." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:128 +msgid "DOWNLOADING, INSTALLING, COMPILING LIBGUESTFS" +msgstr "" + +#. type: =end +#: ../examples/guestfs-faq.pod:130 ../examples/guestfs-faq.pod:135 +#: ../examples/guestfs-faq.pod:312 ../examples/guestfs-faq.pod:317 +#: ../src/guestfs.pod:2322 ../src/guestfs.pod:2327 +msgid "html" +msgstr "html" + +#. type: textblock +#: ../examples/guestfs-faq.pod:132 +#, fuzzy +#| msgid "" +#| "<!-- old anchor for the next section --> <a name=" +#| "\"state_machine_and_low_level_event_api\"/>" +msgid "<!-- old anchor for the next section --> <a name=\"binaries\"/>" +msgstr "" +"<!-- old anchor for the next section --> <a name=" +"\"state_machine_and_low_level_event_api\"/>" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:137 +msgid "Where can I get the latest binaries for ...?" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:141 +msgid "Fedora E<ge> 11, RHEL E<ge> 5.3, EPEL 5" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:143 +msgid "Use:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:145 +#, no-wrap +msgid "" +" yum install '*guestf*'\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:147 +msgid "" +"For the latest builds, see: L<http://koji.fedoraproject.org/koji/packageinfo?" +"packageID=8391>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:150 +#, fuzzy +#| msgid "Red Hat Enterprise Linux." +msgid "Red Hat Enterprise Linux 6" +msgstr "Red Hat Enterprise Linux." + +#. type: textblock +#: ../examples/guestfs-faq.pod:152 +msgid "" +"It is part of the default install. On RHEL 6 (only) you have to install " +"C<libguestfs-winsupport> to get Windows guest support." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:155 +msgid "RHEL 6.3" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:157 +msgid "" +"Preview packages are available here: L<http://people.redhat.com/~rjones/" +"libguestfs-RHEL-6.3-preview/>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:160 +msgid "Debian Squeeze (6)" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:162 +msgid "" +"Use Hilko Bengen's backport repository: L<http://people.debian.org/~bengen/" +"libguestfs/>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:165 +msgid "Debian Wheezy and later (7+)" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:167 +msgid "" +"Official Debian packages are available: L<http://packages.debian.org/search?" +"keywords=libguestfs> (thanks Hilko Bengen)." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:171 +#, fuzzy +#| msgid "Ubuntu." +msgid "Ubuntu" +msgstr "Ubuntu." + +#. type: textblock +#: ../examples/guestfs-faq.pod:173 +msgid "" +"We don't have an Ubuntu maintainer, and the packages supplied by Canonical " +"(which are outside our control) are broken. Try compiling from source (next " +"section)." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:177 +#, fuzzy +#| msgid "Ubuntu." +msgid "Ubuntu 10.04" +msgstr "Ubuntu." + +#. type: textblock +#: ../examples/guestfs-faq.pod:179 +msgid "See: L<http://libguestfs.org/download/binaries/ubuntu1004-packages/>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:182 +#, fuzzy +#| msgid "Ubuntu." +msgid "Ubuntu 12.04" +msgstr "Ubuntu." + +#. type: textblock +#: ../examples/guestfs-faq.pod:184 +msgid "" +"The packages supplied by Canonical are broken. See: L<https://www.redhat." +"com/archives/libguestfs/2012-April/thread.html#00028>" +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:187 +msgid "Other Linux distro" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:189 +msgid "Compile from source (next section)." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:191 +msgid "Other non-Linux distro" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:193 +msgid "You'll have to compile from source, and port it." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:197 +msgid "How can I compile and install libguestfs from source?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:199 +msgid "" +"If your Linux distro has a working port of febootstrap (that is, Fedora, Red " +"Hat Enterprise Linux >= 6.3, Debian, Ubuntu and ArchLinux) then you should " +"just be able to compile from source in the usual way. Download the latest " +"tarball from L<http://libguestfs/download>, unpack it, and start by reading " +"the README file." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:205 +msgid "" +"If you I<don't> have febootstrap, you will need to use the \"fixed appliance " +"method\". See: L<http://libguestfs.org/download/binaries/appliance/>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:209 +msgid "Patches to port febootstrap to more Linux distros are welcome." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:211 +msgid "" +"Why do I get an error when I try to rebuild from the source RPMs supplied by " +"Red Hat / Fedora?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:214 +msgid "" +"Because of the complexity of building the libguestfs appliance, the source " +"RPMs provided cannot be rebuilt directly using C<rpmbuild> or C<mock>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:218 +msgid "" +"If you use Koji (which is open source software and may be installed " +"locally), then the SRPMs can be rebuilt in Koji. L<https://fedoraproject." +"org/wiki/Koji>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:222 +msgid "" +"If you don't have or want to use Koji, then you have to give libguestfs " +"access to the network so it can download the RPMs for building the " +"appliance. You also need to set an RPM macro to tell libguestfs to use the " +"network. Put the following line into a file called C<$HOME/.rpmmacros>:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:228 +#, fuzzy, no-wrap +#| msgid "" +#| " libguestfs-test-tool\n" +#| "\n" +msgid "" +" %libguestfs_buildnet 1\n" +"\n" +msgstr "" +" libguestfs-test-tool\n" +"\n" + +#. type: textblock +#: ../examples/guestfs-faq.pod:230 +msgid "If you are using mock, do:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:232 +#, no-wrap +msgid "" +" mock -D '%libguestfs_buildnet 1' [etc]\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:234 +msgid "Libguestfs has a really long list of dependencies!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:236 +msgid "That's because it does a lot of things." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:238 +msgid "How can I speed up libguestfs builds?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:240 +msgid "" +"By far the most important thing you can do is to install and properly " +"configure Squid. Note that the default configuration that ships with Squid " +"is rubbish, so configuring it is not optional." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:244 +msgid "" +"A very good place to start with Squid configuration is here: L<https://" +"fedoraproject.org/wiki/Extras/" +"MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads>" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:247 +msgid "" +"Make sure Squid is running, and that the environment variables C<" +"$http_proxy> and C<$ftp_proxy> are pointing to it." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:250 +msgid "" +"With Squid running and correctly configured, appliance builds should be " +"reduced to a few minutes." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:253 +msgid "SPEED, DISK SPACE USED BY LIBGUESTFS" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:255 +msgid "" +"Note: Most of the information in this section has moved: L<guestfs-" +"performance(1)>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:258 +msgid "Upload or write seem very slow." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:260 +msgid "" +"In libguestfs E<lt> 1.13.16, the mount command (L<guestfs(3)/guestfs_mount>) " +"enabled option C<-o sync> implicitly. This causes very poor write " +"performance, and was one of the main gotchas for new libguestfs users." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:265 +msgid "" +"For libguestfs E<lt> 1.13.16, replace mount with C<mount-options>, leaving " +"the first parameter as an empty string." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:268 +msgid "" +"You can also do this with more recent versions of libguestfs, but if you " +"know that you are using libguestfs ≥ 1.13.16 then it's safe to use plain " +"mount." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:272 +msgid "" +"If the underlying disk is not fully allocated (eg. sparse raw or qcow2) then " +"writes can be slow because the host operating system has to do costly disk " +"allocations while you are writing. The solution is to use a fully allocated " +"format instead, ie. non-sparse raw, or qcow2 with the " +"C<preallocation=metadata> option." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:278 +msgid "Libguestfs uses too much disk space!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:280 +msgid "libguestfs caches a large-ish appliance in:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:282 +#, no-wrap +msgid "" +" /var/tmp/.guestfs-<UID>\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:284 +msgid "" +"If the environment variable C<TMPDIR> is defined, then C<$TMPDIR/.guestfs-" +"E<lt>UIDE<gt>> is used instead." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:287 +msgid "It is safe to delete this directory when you are not using libguestfs." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:289 +#, fuzzy +#| msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" +msgid "USING LIBGUESTFS IN YOUR OWN PROGRAMS" +msgstr "ВИКОРИСТАННЯ LIBGUESTFS ЗА ДОПОМОГОЮ ІНШИХ МОВ ПРОГРАМУВАННЯ" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:291 +msgid "The API has hundreds of methods, where do I start?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:293 +msgid "" +"We recommend you start by reading the API overview: L<guestfs(3)/API " +"OVERVIEW>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:296 +msgid "" +"Although the API overview covers the C API, it is still worth reading even " +"if you are going to use another programming language, because the API is the " +"same, just with simple logical changes to the names of the calls:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:301 +#, no-wrap +msgid "" +" C guestfs_ln_sf (g, target, linkname);\n" +" Python g.ln_sf (target, linkname);\n" +" OCaml g#ln_sf target linkname;\n" +" Perl $g->ln_sf (target, linkname);\n" +" Shell (guestfish) ln-sf target linkname\n" +" PHP guestfs_ln_sf ($g, $target, $linkname);\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:308 +msgid "" +"Once you're familiar with the API overview, you should look at this list of " +"starting points for other language bindings: L<guestfs(3)/USING LIBGUESTFS " +"WITH OTHER PROGRAMMING LANGUAGES>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:314 +#, fuzzy +#| msgid "" +#| "<!-- old anchor for the next section --> <a name=" +#| "\"state_machine_and_low_level_event_api\"/>" +msgid "<!-- old anchor for the next section --> <a name=\"debug\"/>" +msgstr "" +"<!-- old anchor for the next section --> <a name=" +"\"state_machine_and_low_level_event_api\"/>" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:319 +#, fuzzy +#| msgid "USING GUESTFISH" +msgid "DEBUGGING LIBGUESTFS" +msgstr "ВИКОРИСТАННЯ GUESTFISH" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:321 +msgid "" +"How do I debug when using any libguestfs program or tool (eg. virt-v2v or " +"virt-df)?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:324 +msgid "" +"There are two C<LIBGUESTFS_*> environment variables you can set in order to " +"get more information from libguestfs." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:329 +#, fuzzy +#| msgid "LIBGUESTFS_DEBUG" +msgid "C<LIBGUESTFS_TRACE>" +msgstr "LIBGUESTFS_DEBUG" + +#. type: textblock +#: ../examples/guestfs-faq.pod:331 +msgid "" +"Set this to 1 and libguestfs will print out each command / API call in a " +"format which is similar to guestfish commands." +msgstr "" + +#. type: =item +#: ../examples/guestfs-faq.pod:334 +#, fuzzy +#| msgid "LIBGUESTFS_DEBUG" +msgid "C<LIBGUESTFS_DEBUG>" +msgstr "LIBGUESTFS_DEBUG" + +#. type: textblock +#: ../examples/guestfs-faq.pod:336 +msgid "" +"Set this to 1 in order to enable massive amounts of debug messages. If you " +"think there is some problem inside the libguestfs appliance, then you should " +"use this option." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:342 +msgid "To set these from the shell, do this before running the program:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:344 +#, no-wrap +msgid "" +" export LIBGUESTFS_TRACE=1\n" +" export LIBGUESTFS_DEBUG=1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:347 +msgid "For csh/tcsh the equivalent commands would be:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:349 +#, no-wrap +msgid "" +" setenv LIBGUESTFS_TRACE 1\n" +" setenv LIBGUESTFS_DEBUG 1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:352 +msgid "For further information, see: L<guestfs(3)/ENVIRONMENT VARIABLES>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:354 +msgid "How do I debug when using guestfish?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:356 +msgid "" +"You can use the same environment variables above. Alternatively use the " +"guestfish options -x (to trace commands) or -v (to get the full debug " +"output), or both." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:360 +msgid "For further information, see: L<guestfish(1)>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:362 +msgid "How do I debug when using the API?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:364 +msgid "" +"Call L<guestfs(3)/guestfs_set_trace> to enable command traces, and/or " +"L<guestfs(3)/guestfs_set_verbose> to enable debug messages." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:367 +msgid "" +"For best results, call these functions as early as possible, just after " +"creating the guestfs handle if you can, and definitely before calling launch." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:371 +msgid "How do I capture debug output and put it into my logging system?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:373 +msgid "" +"Use the event API. For examples, see: L<guestfs(3)/SETTING CALLBACKS TO " +"HANDLE EVENTS>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:376 +msgid "Digging deeper into the appliance boot process." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:378 +msgid "" +"Enable debugging and then read this documentation on the appliance boot " +"process: L<guestfs(3)/INTERNALS>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:381 +msgid "libguestfs hangs or fails during run/launch." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:383 +msgid "" +"Enable debugging and look at the full output. If you cannot work out what " +"is going on, file a bug report, including the I<complete> output of " +"L<libguestfs-test-tool(1)>." +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-faq.pod:387 +msgid "DESIGN/INTERNALS OF LIBGUESTFS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:389 +msgid "Why don't you do everything through the FUSE / filesystem interface?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:392 +msgid "" +"We offer a command called L<guestmount(1)> which lets you mount guest " +"filesystems on the host. This is implemented as a FUSE module. Why don't " +"we just implement the whole of libguestfs using this mechanism, instead of " +"having the large and rather complicated API?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:397 +msgid "" +"The reasons are twofold. Firstly, libguestfs offers API calls for doing " +"things like creating and deleting partitions and logical volumes, which " +"don't fit into a filesystem model very easily. Or rather, you could fit " +"them in: for example, creating a partition could be mapped to C<mkdir /fs/" +"hda1> but then you'd have to specify some method to choose the size of the " +"partition (maybe C<echo 100M E<gt> /fs/hda1/.size>), and the partition type, " +"start and end sectors etc., but once you've done that the filesystem-based " +"API starts to look more complicated than the call-based API we currently " +"have." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:407 +msgid "" +"The second reason is for efficiency. FUSE itself is reasonably efficient, " +"but it does make lots of small, independent calls into the FUSE module. In " +"guestmount these have to be translated into messages to the libguestfs " +"appliance which has a big overhead (in time and round trips). For example, " +"reading a file in 64 KB chunks is inefficient because each chunk would turn " +"into a single round trip. In the libguestfs API it is much more efficient " +"to download an entire file or directory through one of the streaming calls " +"like C<guestfs_download> or C<guestfs_tar_out>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:417 +msgid "Why don't you do everything through GVFS?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:419 +msgid "The problems are similar to the problems with FUSE." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:421 +msgid "" +"GVFS is a better abstraction than POSIX/FUSE. There is an FTP backend for " +"GVFS, which is encouraging because FTP is conceptually similar to the " +"libguestfs API. However the GVFS FTP backend makes multiple simultaneous " +"connections in order to keep interactivity, which we can't easily do with " +"libguestfs." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:427 +msgid "Can I use C<guestfish --ro> as a way to backup my virtual machines?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:429 +msgid "" +"Usually this is not a good idea. The question is answered in more detail in " +"this mailing list posting: L<https://www.redhat.com/archives/libguestfs/2010-" +"August/msg00024.html>" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:433 +msgid "What's the difference between guestfish and virt-rescue?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:435 +msgid "" +"A lot of people are confused by the two superficially similar tools we " +"provide:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:438 +#, fuzzy, no-wrap +#| msgid "" +#| " guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +#| "\n" +msgid "" +" $ guestfish --ro -a guest.img\n" +" ><fs> run\n" +" ><fs> fsck /dev/sda1\n" +"\n" +msgstr "" +" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n" +"\n" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:442 +#, no-wrap +msgid "" +" $ virt-rescue --ro guest.img\n" +" ><rescue> /sbin/fsck /dev/sda1\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:445 +msgid "" +"And the related question which then arises is why you can't type in full " +"shell commands with all the --options in guestfish (but you can in L<virt-" +"rescue(1)>)." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:449 +msgid "" +"L<guestfish(1)> is a program providing structured access to the L<guestfs(3)" +"> API. It happens to be a nice interactive shell too, but its primary " +"purpose is structured access from shell scripts. Think of it more like a " +"language binding, like Python and other bindings, but for shell. The key " +"differentiating factor of guestfish (and the libguestfs API in general) is " +"the ability to automate changes." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:456 +msgid "" +"L<virt-rescue(1)> is a free-for-all freeform way to boot the libguestfs " +"appliance and make arbitrary changes to your VM. It's not structured, you " +"can't automate it, but for making quick ad-hoc fixes to your guests, it can " +"be quite useful." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:461 +msgid "" +"But, libguestfs also has a \"backdoor\" into the appliance allowing you to " +"send arbitrary shell commands. It's not as flexible as virt-rescue, because " +"you can't interact with the shell commands, but here it is anyway:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:466 +#, no-wrap +msgid "" +" ><fs> debug sh \"cmd arg1 arg2 ...\"\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:468 +msgid "" +"Note that you should B<not> rely on this. It could be removed or changed in " +"future. If your program needs some operation, please add it to the " +"libguestfs API instead." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-faq.pod:472 +msgid "" +"What's the deal with C<guestfish -i>? Why does virt-cat only work on a real " +"VM image, but virt-df works on any disk image? What does \"no root device " +"found in this operating system image\" mean?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:477 +msgid "" +"These questions are all related at a fundamental level which may not be " +"immediately obvious." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:480 +msgid "" +"At the L<guestfs(3)> API level, a \"disk image\" is just a pile of " +"partitions and filesystems." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:483 +msgid "" +"In contrast, when the virtual machine boots, it mounts those filesystems " +"into a consistent hierarchy such as:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:486 +#, no-wrap +msgid "" +" / (/dev/sda2)\n" +" |\n" +" +-- /boot (/dev/sda1)\n" +" |\n" +" +-- /home (/dev/vg_external/Homes)\n" +" |\n" +" +-- /usr (/dev/vg_os/lv_usr)\n" +" |\n" +" +-- /var (/dev/vg_os/lv_var)\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:496 +msgid "(or drive letters on Windows)." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:498 +msgid "" +"The API first of all sees the disk image at the \"pile of filesystems\" " +"level. But it also has a way to inspect the disk image to see if it " +"contains an operating system, and how the disks are mounted when the " +"operating system boots: L<guestfs(3)/INSPECTION>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:503 +msgid "Users expect some tools (like L<virt-cat(1)>) to work with VM paths:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-faq.pod:505 +#, fuzzy, no-wrap +#| msgid "" +#| " virt-cat -a disk.img /var/log/messages | tail\n" +#| "\n" +msgid "" +" virt-cat fedora.img /var/log/messages\n" +"\n" +msgstr "" +" virt-cat -a disk.img /var/log/messages | tail\n" +"\n" + +#. type: textblock +#: ../examples/guestfs-faq.pod:507 +msgid "" +"How does virt-cat know that C</var> is a separate partition? The trick is " +"that virt-cat performs inspection on the disk image, and uses that to " +"translate the path correctly." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:511 +msgid "" +"Some tools (including L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)>) use " +"inspection to map VM paths. Other tools, such as L<virt-df(1)> and L<virt-" +"filesystems(1)> operate entirely at the raw \"big pile of filesystems\" " +"level of the libguestfs API, and don't use inspection." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:516 +msgid "" +"L<guestfish(1)> is in an interesting middle ground. If you use the I<-a> " +"and I<-m> command line options, then you have to tell guestfish exactly how " +"to add disk images and where to mount partitions. This is the raw API level." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:521 +msgid "" +"If you use the I<-i> option, libguestfs performs inspection and mounts the " +"filesystems for you." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:524 +msgid "" +"The error C<no root device found in this operating system image> is related " +"to this. It means inspection was unable to locate an operating system " +"within the disk image you gave it. You might see this from programs like " +"virt-cat if you try to run them on something which is just a disk image, not " +"a virtual machine disk image." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-faq.pod:532 +#, fuzzy +#| msgid "L<guestfs(3)>, L<http://libguestfs.org/>, L<http://qemu.org/>." +msgid "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>." +msgstr "L<guestfs(3)>, L<http://libguestfs.org/>, L<http://qemu.org/>." + +#. type: textblock +#: ../examples/guestfs-faq.pod:542 ../examples/guestfs-performance.pod:381 +#, fuzzy +#| msgid "Copyright (C) 2011 Red Hat Inc. L<http://libguestfs.org/>" +msgid "Copyright (C) 2012 Red Hat Inc. L<http://libguestfs.org/>" +msgstr "© Red Hat Inc. L<http://libguestfs.org/>, 2011" + +#. type: textblock #: ../examples/guestfs-performance.pod:5 msgid "guestfs-performance - engineering libguestfs for greatest performance" msgstr "" @@ -5125,8 +6281,8 @@ msgstr "" #: ../examples/guestfs-performance.pod:162 #: ../examples/guestfs-performance.pod:211 ../resize/virt-resize.pod:31 #: ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:230 -#: ../src/guestfs.pod:488 ../src/guestfs.pod:1387 ../src/guestfs.pod:1526 -#: ../src/guestfs.pod:2774 +#: ../src/guestfs.pod:471 ../src/guestfs.pod:1370 ../src/guestfs.pod:1509 +#: ../src/guestfs.pod:2757 msgid "1." msgstr "1." @@ -5141,8 +6297,8 @@ msgstr "" #: ../examples/guestfs-performance.pod:168 #: ../examples/guestfs-performance.pod:218 ../resize/virt-resize.pod:44 #: ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:237 -#: ../src/guestfs.pod:494 ../src/guestfs.pod:1391 ../src/guestfs.pod:1530 -#: ../src/guestfs.pod:2799 +#: ../src/guestfs.pod:477 ../src/guestfs.pod:1374 ../src/guestfs.pod:1513 +#: ../src/guestfs.pod:2782 msgid "2." msgstr "2." @@ -5160,7 +6316,7 @@ msgstr "" #: ../examples/guestfs-performance.pod:176 #: ../examples/guestfs-performance.pod:224 ../resize/virt-resize.pod:52 #: ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:243 -#: ../src/guestfs.pod:505 ../src/guestfs.pod:1536 +#: ../src/guestfs.pod:488 ../src/guestfs.pod:1519 msgid "3." msgstr "3." @@ -5383,7 +6539,7 @@ msgid "Save the following script as C<time.stap>:" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:305 ../src/guestfs.pod:2287 +#: ../examples/guestfs-performance.pod:305 ../src/guestfs.pod:2270 #, no-wrap msgid "" " global last;\n" @@ -5391,7 +6547,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:307 ../src/guestfs.pod:2289 +#: ../examples/guestfs-performance.pod:307 ../src/guestfs.pod:2272 #, no-wrap msgid "" " function display_time () {\n" @@ -5404,7 +6560,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:314 ../src/guestfs.pod:2296 +#: ../examples/guestfs-performance.pod:314 ../src/guestfs.pod:2279 #, no-wrap msgid "" " printf (\"%d (+%d):\", now, delta);\n" @@ -5413,7 +6569,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:317 ../src/guestfs.pod:2299 +#: ../examples/guestfs-performance.pod:317 ../src/guestfs.pod:2282 #, no-wrap msgid "" " probe begin {\n" @@ -5424,7 +6580,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2304 +#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2287 #, no-wrap msgid "" " /* Display all calls to static markers. */\n" @@ -5534,13 +6690,6 @@ msgstr "" "L<guestfs(3)>, L<guestfish(1)>, L<virt-filesystems(1)>, L<virt-rescue(1)>, " "L<virt-resize(1)>, L<http://libguestfs.org/>." -#. type: textblock -#: ../examples/guestfs-performance.pod:381 -#, fuzzy -#| msgid "Copyright (C) 2011 Red Hat Inc. L<http://libguestfs.org/>" -msgid "Copyright (C) 2012 Red Hat Inc. L<http://libguestfs.org/>" -msgstr "© Red Hat Inc. L<http://libguestfs.org/>, 2011" - #. type: =end #: ../examples/guestfs-recipes.pod:3 ../examples/guestfs-recipes.pod:12 msgid "comment" @@ -5850,7 +6999,7 @@ msgstr "" #: ../fish/guestfish-actions.pod:1576 ../fish/guestfish-actions.pod:1967 #: ../fish/guestfish-actions.pod:2394 ../src/guestfs-actions.pod:18 #: ../src/guestfs-actions.pod:2547 ../src/guestfs-actions.pod:3106 -#: ../src/guestfs-actions.pod:3675 ../src/guestfs.pod:1770 +#: ../src/guestfs-actions.pod:3675 ../src/guestfs.pod:1753 #: ../tools/virt-win-reg.pl:717 msgid "Notes:" msgstr "Нотатки:" @@ -6610,7 +7759,7 @@ msgstr "" #. type: textblock #: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161 #: ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234 -#: ../src/guestfs.pod:2877 +#: ../src/guestfs.pod:2860 msgid "or:" msgstr "або:" @@ -6797,7 +7946,7 @@ msgid "Try importing virt-df CSV output into a spreadsheet or database." msgstr "" #. type: textblock -#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3158 +#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3141 msgid "Run:" msgstr "Віддайте команду:" @@ -7587,7 +8736,7 @@ msgstr "" #. type: =item #: ../fish/guestfish-actions.pod:171 ../src/guestfs-actions.pod:231 -#: ../src/guestfs.pod:3037 +#: ../src/guestfs.pod:3020 msgid "C<format>" msgstr "C<format>" @@ -18126,7 +19275,7 @@ msgstr "" #. type: =item #: ../fish/guestfish-actions.pod:4848 ../src/guestfs-actions.pod:7570 -#: ../src/guestfs.pod:3001 +#: ../src/guestfs.pod:2984 msgid "C<appliance>" msgstr "C<appliance>" @@ -22188,7 +23337,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2328 +#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2311 #, no-wrap msgid "" " guestfish -N fs\n" @@ -23681,7 +24830,7 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:825 ../src/guestfs.pod:538 +#: ../fish/guestfish.pod:825 ../src/guestfs.pod:521 msgid "ENCRYPTED DISKS" msgstr "ЗАШИФРОВАНІ ДИСКИ" @@ -24046,7 +25195,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:982 ../src/guestfs.pod:1065 +#: ../fish/guestfish.pod:982 ../src/guestfs.pod:1048 #, no-wrap msgid "" " #!/bin/bash -\n" @@ -24337,7 +25486,7 @@ msgid "COMMANDS" msgstr "КОМАНДИ" #. type: textblock -#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1605 +#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1588 msgid "@ACTIONS@" msgstr "@ACTIONS@" @@ -24361,17 +25510,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3288 +#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3271 msgid "FEBOOTSTRAP_KERNEL" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3290 +#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3273 msgid "FEBOOTSTRAP_MODULES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3292 +#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3275 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 " @@ -24429,17 +25578,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3298 +#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3281 msgid "LIBGUESTFS_APPEND" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3300 +#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3283 msgid "Pass additional options to the guest kernel." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3302 +#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3285 msgid "LIBGUESTFS_DEBUG" msgstr "LIBGUESTFS_DEBUG" @@ -24451,18 +25600,18 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3307 +#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3290 msgid "LIBGUESTFS_MEMSIZE" msgstr "LIBGUESTFS_MEMSIZE" #. type: textblock -#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3309 +#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3292 msgid "" "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3312 +#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3295 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -24472,7 +25621,7 @@ msgstr "" "\n" #. type: =item -#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3314 +#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3297 msgid "LIBGUESTFS_PATH" msgstr "" @@ -24484,19 +25633,19 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3319 +#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3302 msgid "LIBGUESTFS_QEMU" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3321 +#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3304 msgid "" "Set the default qemu binary that libguestfs uses. If not set, then the qemu " "which was found at compile time by the configure script is used." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3327 +#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3310 msgid "LIBGUESTFS_TRACE" msgstr "" @@ -24519,19 +25668,19 @@ msgstr "" #. type: =item #: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:263 -#: ../src/guestfs.pod:3332 +#: ../src/guestfs.pod:3315 msgid "TMPDIR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3334 +#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3317 msgid "" "Location of temporary directory, defaults to C</tmp> except for the cached " "supermin appliance which defaults to C</var/tmp>." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3337 +#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3320 msgid "" "If libguestfs was compiled to use the supermin appliance then the real " "appliance is cached in this directory, shared between all handles belonging " @@ -40944,69 +42093,49 @@ msgstr "" #. type: textblock #: ../src/guestfs.pod:25 +#, fuzzy +#| msgid "guestfs - Library for accessing and modifying virtual machine images" msgid "" -"Libguestfs is a library for accessing and modifying guest disk images. " -"Amongst the things this is good for: making batch configuration changes to " -"guests, getting disk used/free statistics (see also: virt-df), migrating " -"between virtualization systems (see also: virt-p2v), performing partial " -"backups, performing partial guest clones, cloning guests and changing " -"registry/UUID/hostname info, and much else besides." -msgstr "" - -#. type: textblock -#: ../src/guestfs.pod:33 -msgid "" -"Libguestfs uses Linux kernel and qemu code, and can access any type of guest " -"filesystem that Linux and qemu can, including but not limited to: ext2/3/4, " -"btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, " -"qcow2, vmdk." -msgstr "" - -#. type: textblock -#: ../src/guestfs.pod:38 -msgid "" -"Libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, " -"what filesystem is in each LV, etc.). It can also run commands in the " -"context of the guest. Also you can access filesystems over FUSE." +"Libguestfs is a library for accessing and modifying disk images and virtual " +"machines. This manual page documents the C API." msgstr "" +"guestfs — бібліотека для доступу та внесення змін до образів віртуальних " +"машин" #. type: textblock -#: ../src/guestfs.pod:43 +#: ../src/guestfs.pod:28 msgid "" -"Libguestfs is a library that can be linked with C and C++ management " -"programs (or management programs written in OCaml, Perl, Python, Ruby, Java, " -"PHP, Erlang, Haskell or C#). You can also use it from shell scripts or the " -"command line." +"If you are looking for an introduction to libguestfs, see the web site: " +"L<http://libguestfs.org/>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:48 +#: ../src/guestfs.pod:31 msgid "" -"You don't need to be root to use libguestfs, although obviously you do need " -"enough permissions to access the disk images." +"Each virt tool has its own man page (for a full list, go to L</SEE ALSO> at " +"the end of this file)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:51 -msgid "" -"Libguestfs is a large API because it can do many things. For a gentle " -"introduction, please read the L</API OVERVIEW> section next." +#: ../src/guestfs.pod:34 +msgid "The libguestfs FAQ contains many useful answers: L<guestfs-faq(1)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:54 +#: ../src/guestfs.pod:36 msgid "" -"There are also some example programs in the L<guestfs-examples(3)> manual " -"page." +"For examples of using the API from C, see L<guestfs-examples(3)>. For " +"examples in other languages, see L</USING LIBGUESTFS WITH OTHER PROGRAMMING " +"LANGUAGES> below." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:57 +#: ../src/guestfs.pod:40 msgid "API OVERVIEW" msgstr "ОГЛЯД API" #. type: textblock -#: ../src/guestfs.pod:59 +#: ../src/guestfs.pod:42 msgid "" "This section provides a gentler overview of the libguestfs API. We also try " "to group API calls together, where that may not be obvious from reading " @@ -41014,12 +42143,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:64 +#: ../src/guestfs.pod:47 msgid "HANDLES" msgstr "ОБРОБНИКИ" #. type: textblock -#: ../src/guestfs.pod:66 +#: ../src/guestfs.pod:49 msgid "" "Before you can use libguestfs calls, you have to create a handle. Then you " "must add at least one disk image to the handle, followed by launching the " @@ -41029,12 +42158,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:73 +#: ../src/guestfs.pod:56 msgid "The general structure of all libguestfs-using programs looks like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:76 +#: ../src/guestfs.pod:59 #, no-wrap msgid "" " guestfs_h *g = guestfs_create ();\n" @@ -41044,7 +42173,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:78 +#: ../src/guestfs.pod:61 #, no-wrap msgid "" " /* Call guestfs_add_drive additional times if there are\n" @@ -41055,7 +42184,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:83 +#: ../src/guestfs.pod:66 #, no-wrap msgid "" " /* Most manipulation calls won't work until you've launched\n" @@ -41067,7 +42196,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:89 +#: ../src/guestfs.pod:72 #, no-wrap msgid "" " /* Now you can examine what partitions, LVs etc are available.\n" @@ -41083,7 +42212,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:94 +#: ../src/guestfs.pod:77 #, no-wrap msgid "" " /* To access a filesystem in the image, you must mount it.\n" @@ -41097,7 +42226,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:98 +#: ../src/guestfs.pod:81 #, no-wrap msgid "" " /* Now you can perform filesystem actions on the guest\n" @@ -41113,7 +42242,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:103 +#: ../src/guestfs.pod:86 #, no-wrap msgid "" " /* This is only needed for libguestfs < 1.5.24. Since then\n" @@ -41125,7 +42254,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:109 +#: ../src/guestfs.pod:92 #, no-wrap msgid "" " /* Close the handle 'g'. */\n" @@ -41137,7 +42266,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:112 +#: ../src/guestfs.pod:95 msgid "" "The code above doesn't include any error checking. In real code you should " "check return values carefully for errors. In general all functions that " @@ -41149,12 +42278,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:121 +#: ../src/guestfs.pod:104 msgid "DISK IMAGES" msgstr "ОБРАЗИ ДИСКІВ" #. type: textblock -#: ../src/guestfs.pod:123 +#: ../src/guestfs.pod:106 msgid "" "The image filename (C<\"guest.img\"> in the example above) could be a disk " "image from a virtual machine, a L<dd(1)> copy of a physical hard disk, an " @@ -41164,7 +42293,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:129 +#: ../src/guestfs.pod:112 msgid "" "The call you should use in modern code for adding drives is L</" "guestfs_add_drive_opts>. To add a disk image, allowing writes, and " @@ -41172,7 +42301,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:133 +#: ../src/guestfs.pod:116 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -41186,12 +42315,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:137 +#: ../src/guestfs.pod:120 msgid "You can add a disk read-only using:" msgstr "Ви можете додати диск у режимі лише читання:" #. type: verbatim -#: ../src/guestfs.pod:139 +#: ../src/guestfs.pod:122 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -41207,14 +42336,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:144 +#: ../src/guestfs.pod:127 msgid "" "or by calling the older function L</guestfs_add_drive_ro>. In either case " "libguestfs won't modify the file." msgstr "" #. type: textblock -#: ../src/guestfs.pod:147 +#: ../src/guestfs.pod:130 msgid "" "Be extremely cautious if the disk image is in use, eg. if it is being used " "by a virtual machine. Adding it read-write will almost certainly cause disk " @@ -41222,7 +42351,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:151 +#: ../src/guestfs.pod:134 msgid "" "You must add at least one disk image, and you may add multiple disk images. " "In the API, the disk images are usually referred to as C</dev/sda> (for the " @@ -41230,7 +42359,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:156 +#: ../src/guestfs.pod:139 msgid "" "Once L</guestfs_launch> has been called you cannot add any more images. You " "can call L</guestfs_list_devices> to get a list of the device names, in the " @@ -41238,12 +42367,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:161 +#: ../src/guestfs.pod:144 msgid "MOUNTING" msgstr "МОНТУВАННЯ" #. type: textblock -#: ../src/guestfs.pod:163 +#: ../src/guestfs.pod:146 msgid "" "Before you can read or write files, create directories and so on in a disk " "image that contains filesystems, you have to mount those filesystems using " @@ -41253,7 +42382,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:170 +#: ../src/guestfs.pod:153 #, no-wrap msgid "" " guestfs_mount_options (g, \"\", \"/dev/sda1\", \"/\");\n" @@ -41263,7 +42392,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:172 +#: ../src/guestfs.pod:155 msgid "" "where C</dev/sda1> means literally the first partition (C<1>) of the first " "disk image that we added (C</dev/sda>). If the disk contains Linux LVM2 " @@ -41273,7 +42402,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:178 +#: ../src/guestfs.pod:161 msgid "" "If you are given a disk image and you don't know what it contains then you " "have to find out. Libguestfs can do that too: use L</" @@ -41284,7 +42413,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:186 +#: ../src/guestfs.pod:169 msgid "" "Libguestfs also has a set of APIs for inspection of unknown disk images (see " "L</INSPECTION> below). But you might find it easier to look at higher level " @@ -41292,19 +42421,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:191 +#: ../src/guestfs.pod:174 msgid "" "To mount a filesystem read-only, use L</guestfs_mount_ro>. There are " "several other variations of the C<guestfs_mount_*> call." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:194 +#: ../src/guestfs.pod:177 msgid "FILESYSTEM ACCESS AND MODIFICATION" msgstr "ДОСТУП ТА ВНЕСЕННЯ ЗМІН ДО ФАЙЛОВИХ СИСТЕМ" #. type: textblock -#: ../src/guestfs.pod:196 +#: ../src/guestfs.pod:179 msgid "" "The majority of the libguestfs API consists of fairly low-level calls for " "accessing and modifying the files, directories, symlinks etc on mounted " @@ -41314,7 +42443,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:202 +#: ../src/guestfs.pod:185 msgid "" "Specify filenames as full paths, starting with C<\"/\"> and including the " "mount point." @@ -41323,7 +42452,7 @@ msgstr "" "точкою монтування." #. type: textblock -#: ../src/guestfs.pod:205 +#: ../src/guestfs.pod:188 msgid "" "For example, if you mounted a filesystem at C<\"/\"> and you want to read " "the file called C<\"etc/passwd\"> then you could do:" @@ -41333,7 +42462,7 @@ msgstr "" "таким кодом:" #. type: verbatim -#: ../src/guestfs.pod:208 +#: ../src/guestfs.pod:191 #, no-wrap msgid "" " char *data = guestfs_cat (g, \"/etc/passwd\");\n" @@ -41343,7 +42472,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:210 +#: ../src/guestfs.pod:193 msgid "" "This would return C<data> as a newly allocated buffer containing the full " "content of that file (with some conditions: see also L</DOWNLOADING> below), " @@ -41351,14 +42480,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:214 +#: ../src/guestfs.pod:197 msgid "" "As another example, to create a top-level directory on that filesystem " "called C<\"var\"> you would do:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:217 +#: ../src/guestfs.pod:200 #, no-wrap msgid "" " guestfs_mkdir (g, \"/var\");\n" @@ -41368,12 +42497,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:219 +#: ../src/guestfs.pod:202 msgid "To create a symlink you could do:" msgstr "Щоб створити символічне посилання, ви можете скористатися таким кодом:" #. type: verbatim -#: ../src/guestfs.pod:221 +#: ../src/guestfs.pod:204 #, no-wrap msgid "" " guestfs_ln_s (g, \"/etc/init.d/portmap\",\n" @@ -41385,14 +42514,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:224 +#: ../src/guestfs.pod:207 msgid "" "Libguestfs will reject attempts to use relative paths and there is no " "concept of a current working directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:227 +#: ../src/guestfs.pod:210 msgid "" "Libguestfs can return errors in many situations: for example if the " "filesystem isn't writable, or if a file or directory that you requested " @@ -41402,40 +42531,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:233 +#: ../src/guestfs.pod:216 msgid "" "File writes are affected by the per-handle umask, set by calling L</" "guestfs_umask> and defaulting to 022. See L</UMASK>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:236 +#: ../src/guestfs.pod:219 msgid "" "Since libguestfs 1.18, it is possible to mount the libguestfs filesystem on " "a local directory, subject to some restrictions. See L</MOUNT LOCAL> below." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:240 +#: ../src/guestfs.pod:223 msgid "PARTITIONING" msgstr "ПОДІЛ НА РОЗДІЛИ" #. type: textblock -#: ../src/guestfs.pod:242 +#: ../src/guestfs.pod:225 msgid "" "Libguestfs contains API calls to read, create and modify partition tables on " "disk images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:245 +#: ../src/guestfs.pod:228 msgid "" "In the common case where you want to create a single partition covering the " "whole disk, you should use the L</guestfs_part_disk> call:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:249 +#: ../src/guestfs.pod:232 #, no-wrap msgid "" " const char *parttype = \"mbr\";\n" @@ -41451,18 +42580,18 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:254 +#: ../src/guestfs.pod:237 msgid "" "Obviously this effectively wipes anything that was on that disk image before." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:257 +#: ../src/guestfs.pod:240 msgid "LVM2" msgstr "LVM2" #. type: textblock -#: ../src/guestfs.pod:259 +#: ../src/guestfs.pod:242 msgid "" "Libguestfs provides access to a large part of the LVM2 API, such as L</" "guestfs_lvcreate> and L</guestfs_vgremove>. It won't make much sense unless " @@ -41471,19 +42600,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:264 +#: ../src/guestfs.pod:247 msgid "" "This author strongly recommends reading the LVM HOWTO, online at L<http://" "tldp.org/HOWTO/LVM-HOWTO/>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:267 +#: ../src/guestfs.pod:250 msgid "DOWNLOADING" msgstr "ОТРИМАННЯ ДАНИХ" #. type: textblock -#: ../src/guestfs.pod:269 +#: ../src/guestfs.pod:252 msgid "" "Use L</guestfs_cat> to download small, text only files. This call is " "limited to files which are less than 2 MB and which cannot contain any ASCII " @@ -41491,7 +42620,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:273 +#: ../src/guestfs.pod:256 msgid "" "L</guestfs_read_file> can be used to read files which contain arbitrary 8 " "bit data, since it returns a (pointer, size) pair. However it is still " @@ -41499,31 +42628,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:277 +#: ../src/guestfs.pod:260 msgid "" "L</guestfs_download> can be used to download any file, with no limits on " "content or size (even files larger than 4 GB)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:280 +#: ../src/guestfs.pod:263 msgid "" "To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:283 +#: ../src/guestfs.pod:266 msgid "UPLOADING" msgstr "ВИВАНТАЖЕННЯ" #. type: textblock -#: ../src/guestfs.pod:285 +#: ../src/guestfs.pod:268 msgid "" "It's often the case that you want to write a file or files to the disk image." msgstr "" #. type: textblock -#: ../src/guestfs.pod:288 +#: ../src/guestfs.pod:271 msgid "" "To write a small file with fixed content, use L</guestfs_write>. To create " "a file of all zeroes, use L</guestfs_truncate_size> (sparse) or L</" @@ -41533,20 +42662,20 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:294 +#: ../src/guestfs.pod:277 msgid "" "To upload a single file, use L</guestfs_upload>. This call has no limits on " "file content or size (even files larger than 4 GB)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:297 +#: ../src/guestfs.pod:280 msgid "" "To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:299 +#: ../src/guestfs.pod:282 msgid "" "However the fastest way to upload I<large numbers of arbitrary files> is to " "turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and L<mkisofs(8)" @@ -41560,12 +42689,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:310 +#: ../src/guestfs.pod:293 msgid "COPYING" msgstr "КОПІЮВАННЯ" #. type: textblock -#: ../src/guestfs.pod:312 +#: ../src/guestfs.pod:295 msgid "" "There are various different commands for copying between files and devices " "and in and out of the guest filesystem. These are summarised in the table " @@ -41573,52 +42702,52 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:318 +#: ../src/guestfs.pod:301 msgid "B<file> to B<file>" msgstr "B<файл> у B<файл>" #. type: textblock -#: ../src/guestfs.pod:320 +#: ../src/guestfs.pod:303 msgid "" "Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy " "directories recursively." msgstr "" #. type: textblock -#: ../src/guestfs.pod:323 +#: ../src/guestfs.pod:306 msgid "" "To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>." msgstr "" #. type: =item -#: ../src/guestfs.pod:326 +#: ../src/guestfs.pod:309 msgid "B<file> to B<device>" msgstr "B<файл> на B<пристрій>" #. type: =item -#: ../src/guestfs.pod:328 +#: ../src/guestfs.pod:311 msgid "B<device> to B<file>" msgstr "B<пристрій> до B<файла>" #. type: =item -#: ../src/guestfs.pod:330 +#: ../src/guestfs.pod:313 msgid "B<device> to B<device>" msgstr "B<пристрій> на B<пристрій>" #. type: textblock -#: ../src/guestfs.pod:332 +#: ../src/guestfs.pod:315 msgid "" "Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or L</" "guestfs_copy_device_to_device>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:335 +#: ../src/guestfs.pod:318 msgid "Example: duplicate the contents of an LV:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:337 +#: ../src/guestfs.pod:320 #, no-wrap msgid "" " guestfs_copy_device_to_device (g,\n" @@ -41629,7 +42758,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:342 +#: ../src/guestfs.pod:325 msgid "" "The destination (C</dev/VG/Copy>) must be at least as large as the source " "(C</dev/VG/Original>). To copy less than the whole source device, use the " @@ -41637,7 +42766,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:346 +#: ../src/guestfs.pod:329 #, no-wrap msgid "" " guestfs_copy_device_to_device (g,\n" @@ -41648,32 +42777,32 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:351 +#: ../src/guestfs.pod:334 msgid "B<file on the host> to B<file or device>" msgstr "B<файл на вузлі> на B<файл або пристрій>" #. type: textblock -#: ../src/guestfs.pod:353 +#: ../src/guestfs.pod:336 msgid "Use L</guestfs_upload>. See L</UPLOADING> above." msgstr "" #. type: =item -#: ../src/guestfs.pod:355 +#: ../src/guestfs.pod:338 msgid "B<file or device> to B<file on the host>" msgstr "B<файл або пристрій> у B<файл на вузлі>" #. type: textblock -#: ../src/guestfs.pod:357 +#: ../src/guestfs.pod:340 msgid "Use L</guestfs_download>. See L</DOWNLOADING> above." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:361 +#: ../src/guestfs.pod:344 msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:363 +#: ../src/guestfs.pod:346 msgid "" "Calls like L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, L</" "guestfs_tar_out> etc appear to only take filenames as arguments, so it " @@ -41684,12 +42813,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:371 +#: ../src/guestfs.pod:354 msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:374 +#: ../src/guestfs.pod:357 #, no-wrap msgid "" " guestfs_download (g, filename, \"/dev/stdout\");\n" @@ -41699,12 +42828,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:376 +#: ../src/guestfs.pod:359 msgid "and you can write tar output to a file descriptor C<fd> by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:378 +#: ../src/guestfs.pod:361 #, no-wrap msgid "" " char devfd[64];\n" @@ -41718,26 +42847,26 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:382 +#: ../src/guestfs.pod:365 msgid "LISTING FILES" msgstr "СПИСКИ ФАЙЛІВ" #. type: textblock -#: ../src/guestfs.pod:384 +#: ../src/guestfs.pod:367 msgid "" "L</guestfs_ll> is just designed for humans to read (mainly when using the " "L<guestfish(1)>-equivalent command C<ll>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:387 +#: ../src/guestfs.pod:370 msgid "" "L</guestfs_ls> is a quick way to get a list of files in a directory from " "programs, as a flat list of strings." msgstr "" #. type: textblock -#: ../src/guestfs.pod:390 +#: ../src/guestfs.pod:373 msgid "" "L</guestfs_readdir> is a programmatic way to get a list of files in a " "directory, plus additional information about each one. It is more " @@ -41745,18 +42874,18 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:394 +#: ../src/guestfs.pod:377 msgid "" "L</guestfs_find> and L</guestfs_find0> can be used to recursively list files." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:397 +#: ../src/guestfs.pod:380 msgid "RUNNING COMMANDS" msgstr "ВИКОНАННЯ КОМАНД" #. type: textblock -#: ../src/guestfs.pod:399 +#: ../src/guestfs.pod:382 msgid "" "Although libguestfs is primarily an API for manipulating files inside guest " "images, we also provide some limited facilities for running commands inside " @@ -41764,56 +42893,56 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:403 +#: ../src/guestfs.pod:386 msgid "There are many limitations to this:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:409 +#: ../src/guestfs.pod:392 msgid "" "The kernel version that the command runs under will be different from what " "it expects." msgstr "" #. type: textblock -#: ../src/guestfs.pod:414 +#: ../src/guestfs.pod:397 msgid "" "If the command needs to communicate with daemons, then most likely they " "won't be running." msgstr "" #. type: textblock -#: ../src/guestfs.pod:419 +#: ../src/guestfs.pod:402 msgid "The command will be running in limited memory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:423 +#: ../src/guestfs.pod:406 msgid "" "The network may not be available unless you enable it (see L</" "guestfs_set_network>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:428 +#: ../src/guestfs.pod:411 msgid "Only supports Linux guests (not Windows, BSD, etc)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:432 +#: ../src/guestfs.pod:415 msgid "" "Architecture limitations (eg. won't work for a PPC guest on an X86 host)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:437 +#: ../src/guestfs.pod:420 msgid "" "For SELinux guests, you may need to enable SELinux and load policy first. " "See L</SELINUX> in this manpage." msgstr "" #. type: textblock -#: ../src/guestfs.pod:442 +#: ../src/guestfs.pod:425 msgid "" "I<Security:> It is not safe to run commands from untrusted, possibly " "malicious guests. These commands may attempt to exploit your program by " @@ -41825,7 +42954,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:451 +#: ../src/guestfs.pod:434 msgid "" "A secure alternative is to use libguestfs to install a \"firstboot\" script " "(a script which runs when the guest next boots normally), and to have this " @@ -41835,26 +42964,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:459 +#: ../src/guestfs.pod:442 msgid "" "The two main API calls to run commands are L</guestfs_command> and L</" "guestfs_sh> (there are also variations)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:462 +#: ../src/guestfs.pod:445 msgid "" "The difference is that L</guestfs_sh> runs commands using the shell, so any " "shell globs, redirections, etc will work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:465 +#: ../src/guestfs.pod:448 msgid "CONFIGURATION FILES" msgstr "ФАЙЛИ НАЛАШТУВАННЯ" #. type: textblock -#: ../src/guestfs.pod:467 +#: ../src/guestfs.pod:450 msgid "" "To read and write configuration files in Linux guest filesystems, we " "strongly recommend using Augeas. For example, Augeas understands how to " @@ -41863,7 +42992,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:472 +#: ../src/guestfs.pod:455 msgid "" "The main Augeas calls are bound through the C<guestfs_aug_*> APIs. We don't " "document Augeas itself here because there is excellent documentation on the " @@ -41871,7 +43000,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:476 +#: ../src/guestfs.pod:459 msgid "" "If you don't want to use Augeas (you fool!) then try calling L</" "guestfs_read_lines> to get the file as a list of lines which you can iterate " @@ -41879,24 +43008,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:480 +#: ../src/guestfs.pod:463 msgid "SELINUX" msgstr "SELINUX" #. type: textblock -#: ../src/guestfs.pod:482 +#: ../src/guestfs.pod:465 msgid "" "We support SELinux guests. To ensure that labeling happens correctly in " "SELinux guests, you need to enable SELinux and load the guest's policy:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:490 +#: ../src/guestfs.pod:473 msgid "Before launching, do:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:492 +#: ../src/guestfs.pod:475 #, no-wrap msgid "" " guestfs_set_selinux (g, 1);\n" @@ -41906,14 +43035,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:496 +#: ../src/guestfs.pod:479 msgid "" "After mounting the guest's filesystem(s), load the policy. This is best " "done by running the L<load_policy(8)> command in the guest itself:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:500 +#: ../src/guestfs.pod:483 #, no-wrap msgid "" " guestfs_sh (g, \"/usr/sbin/load_policy\");\n" @@ -41923,21 +43052,21 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:502 +#: ../src/guestfs.pod:485 msgid "" "(Older versions of C<load_policy> require you to specify the name of the " "policy file)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:507 +#: ../src/guestfs.pod:490 msgid "" "Optionally, set the security context for the API. The correct security " "context to use can only be known by inspecting the guest. As an example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:511 +#: ../src/guestfs.pod:494 #, no-wrap msgid "" " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n" @@ -41947,24 +43076,24 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:515 +#: ../src/guestfs.pod:498 msgid "This will work for running commands and editing existing files." msgstr "" #. type: textblock -#: ../src/guestfs.pod:517 +#: ../src/guestfs.pod:500 msgid "" "When new files are created, you may need to label them explicitly, for " "example by running the external command C<restorecon pathname>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:521 +#: ../src/guestfs.pod:504 msgid "UMASK" msgstr "UMASK" #. type: textblock -#: ../src/guestfs.pod:523 +#: ../src/guestfs.pod:506 msgid "" "Certain calls are affected by the current file mode creation mask (the " "\"umask\"). In particular ones which create files or directories, such as " @@ -41974,14 +43103,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:529 +#: ../src/guestfs.pod:512 msgid "" "The default umask is C<022>, so files are created with modes such as C<0644> " "and directories with C<0755>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:532 +#: ../src/guestfs.pod:515 msgid "" "There are two ways to avoid being affected by umask. Either set umask to 0 " "(call C<guestfs_umask (g, 0)> early after launching). Or call L</" @@ -41989,12 +43118,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:536 +#: ../src/guestfs.pod:519 msgid "For more information about umask, see L<umask(2)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:540 +#: ../src/guestfs.pod:523 msgid "" "Libguestfs allows you to access Linux guests which have been encrypted using " "whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) " @@ -42003,21 +43132,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:546 +#: ../src/guestfs.pod:529 msgid "" "Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it " "returns the string C<crypto_LUKS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:549 +#: ../src/guestfs.pod:532 msgid "" "Then open these devices by calling L</guestfs_luks_open>. Obviously you " "will require the passphrase!" msgstr "" #. type: textblock -#: ../src/guestfs.pod:552 +#: ../src/guestfs.pod:535 msgid "" "Opening a LUKS device creates a new device mapper device called C</dev/" "mapper/mapname> (where C<mapname> is the string you supply to L</" @@ -42026,7 +43155,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:558 +#: ../src/guestfs.pod:541 msgid "" "LVM volume groups on the device can be made visible by calling L</" "guestfs_vgscan> followed by L</guestfs_vg_activate_all>. The logical volume" @@ -42034,7 +43163,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:562 +#: ../src/guestfs.pod:545 msgid "" "Use the reverse process to close a LUKS device. Unmount any logical volumes " "on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, " @@ -42044,19 +43173,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:569 +#: ../src/guestfs.pod:552 msgid "MOUNT LOCAL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:571 +#: ../src/guestfs.pod:554 msgid "" "In libguestfs E<ge> 1.18, it is possible to mount the libguestfs filesystem " "on a local directory and access it using ordinary POSIX calls and programs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:575 +#: ../src/guestfs.pod:558 msgid "" "Availability of this is subject to a number of restrictions: it requires " "FUSE (the Filesystem in USErspace), and libfuse must also have been " @@ -42067,7 +43196,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:582 +#: ../src/guestfs.pod:565 msgid "" "The call to mount the libguestfs filesystem on a local directory is L</" "guestfs_mount_local> (q.v.) followed by L</guestfs_mount_local_run>. The " @@ -42080,7 +43209,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:592 +#: ../src/guestfs.pod:575 msgid "" "L</guestfs_mount_local> needs a certain amount of time to set up the " "mountpoint. The mountpoint is not ready to use until the call returns. At " @@ -42091,12 +43220,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:600 +#: ../src/guestfs.pod:583 msgid "MOUNT LOCAL COMPATIBILITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:602 +#: ../src/guestfs.pod:585 msgid "" "Since local mounting was only added in libguestfs 1.18, and may not be " "available even in these builds, you should consider writing code so that it " @@ -42105,7 +43234,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:607 +#: ../src/guestfs.pod:590 msgid "" "If libguestfs was compiled without support for L</guestfs_mount_local> then " "calling it will return an error with errno set to C<ENOTSUP> (see L</" @@ -42113,12 +43242,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:611 +#: ../src/guestfs.pod:594 msgid "MOUNT LOCAL PERFORMANCE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:613 +#: ../src/guestfs.pod:596 msgid "" "Libguestfs on top of FUSE performs quite poorly. For best performance do " "not use it. Use ordinary libguestfs filesystem calls, upload, download etc. " @@ -42126,12 +43255,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:617 +#: ../src/guestfs.pod:600 msgid "INSPECTION" msgstr "ПЕРЕВІРКА" #. type: textblock -#: ../src/guestfs.pod:619 +#: ../src/guestfs.pod:602 msgid "" "Libguestfs has APIs for inspecting an unknown disk image to find out if it " "contains operating systems, an install CD or a live CD. (These APIs used to " @@ -42141,14 +43270,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:626 +#: ../src/guestfs.pod:609 msgid "" "Add all disks belonging to the unknown virtual machine and call L</" "guestfs_launch> in the usual way." msgstr "" #. type: textblock -#: ../src/guestfs.pod:629 +#: ../src/guestfs.pod:612 msgid "" "Then call L</guestfs_inspect_os>. This function uses other libguestfs calls " "and certain heuristics, and returns a list of operating systems that were " @@ -42161,7 +43290,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:638 +#: ../src/guestfs.pod:621 msgid "" "For each root, you can then call various C<guestfs_inspect_get_*> functions " "to get additional details about that operating system. For example, call L</" @@ -42170,7 +43299,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:644 +#: ../src/guestfs.pod:627 msgid "" "Un*x-like and Linux-based operating systems usually consist of several " "filesystems which are mounted at boot time (for example, a separate boot " @@ -42181,7 +43310,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:651 +#: ../src/guestfs.pod:634 #, no-wrap msgid "" " /boot => /dev/sda1\n" @@ -42195,21 +43324,21 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:655 +#: ../src/guestfs.pod:638 msgid "" "The caller can then make calls to L</guestfs_mount_options> to mount the " "filesystems as suggested." msgstr "" #. type: textblock -#: ../src/guestfs.pod:658 +#: ../src/guestfs.pod:641 msgid "" "Be careful to mount filesystems in the right order (eg. C</> before C</" "usr>). Sorting the keys of the hash by length, shortest first, should work." msgstr "" #. type: textblock -#: ../src/guestfs.pod:662 +#: ../src/guestfs.pod:645 msgid "" "Inspection currently only works for some common operating systems. " "Contributors are welcome to send patches for other operating systems that we " @@ -42217,7 +43346,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:666 +#: ../src/guestfs.pod:649 msgid "" "Encrypted disks must be opened before inspection. See L</ENCRYPTED DISKS> " "for more details. The L</guestfs_inspect_os> function just ignores any " @@ -42225,7 +43354,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:670 +#: ../src/guestfs.pod:653 msgid "" "A note on the implementation: The call L</guestfs_inspect_os> performs " "inspection and caches the results in the guest handle. Subsequent calls to " @@ -42238,19 +43367,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:679 +#: ../src/guestfs.pod:662 msgid "INSPECTING INSTALL DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:681 +#: ../src/guestfs.pod:664 msgid "" "Libguestfs (since 1.9.4) can detect some install disks, install CDs, live " "CDs and more." msgstr "" #. type: textblock -#: ../src/guestfs.pod:684 +#: ../src/guestfs.pod:667 msgid "" "Call L</guestfs_inspect_get_format> to return the format of the operating " "system, which currently can be C<installed> (a regular operating system) or " @@ -42258,7 +43387,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:688 +#: ../src/guestfs.pod:671 msgid "" "Further information is available about the operating system that can be " "installed using the regular inspection APIs like L</" @@ -42266,7 +43395,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:693 +#: ../src/guestfs.pod:676 msgid "" "Some additional information specific to installer disks is also available " "from the L</guestfs_inspect_is_live>, L</guestfs_inspect_is_netinst> and L</" @@ -42274,24 +43403,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:698 +#: ../src/guestfs.pod:681 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:700 +#: ../src/guestfs.pod:683 msgid "" "Libguestfs can mount NTFS partitions. It does this using the L<http://www." "ntfs-3g.org/> driver." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:703 +#: ../src/guestfs.pod:686 msgid "DRIVE LETTERS AND PATHS" msgstr "ЛІТЕРИ ДИСКІВ ТА ШЛЯХИ" #. type: textblock -#: ../src/guestfs.pod:705 +#: ../src/guestfs.pod:688 msgid "" "DOS and Windows still use drive letters, and the filesystems are always " "treated as case insensitive by Windows itself, and therefore you might find " @@ -42301,14 +43430,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:711 +#: ../src/guestfs.pod:694 msgid "" "Drive letter mappings can be found using inspection (see L</INSPECTION> and " "L</guestfs_inspect_get_drive_mappings>)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:714 +#: ../src/guestfs.pod:697 msgid "" "Dealing with separator characters (backslash vs forward slash) is outside " "the scope of libguestfs, but usually a simple character replacement will " @@ -42316,19 +43445,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:718 +#: ../src/guestfs.pod:701 msgid "" "To resolve the case insensitivity of paths, call L</" "guestfs_case_sensitive_path>." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:721 +#: ../src/guestfs.pod:704 msgid "ACCESSING THE WINDOWS REGISTRY" msgstr "ДОСТУП ДО РЕГІСТРУ WINDOWS" #. type: textblock -#: ../src/guestfs.pod:723 +#: ../src/guestfs.pod:706 msgid "" "Libguestfs also provides some help for decoding Windows Registry \"hive\" " "files, through the library C<hivex> which is part of the libguestfs project " @@ -42339,12 +43468,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:731 +#: ../src/guestfs.pod:714 msgid "SYMLINKS ON NTFS-3G FILESYSTEMS" msgstr "СИМВОЛІЧНІ ПОСИЛАННЯ У ФАЙЛОВИХ СИСТЕМАХ NTFS-3G" #. type: textblock -#: ../src/guestfs.pod:733 +#: ../src/guestfs.pod:716 msgid "" "Ntfs-3g tries to rewrite \"Junction Points\" and NTFS \"symbolic links\" to " "provide something which looks like a Linux symlink. The way it tries to do " @@ -42352,7 +43481,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:737 +#: ../src/guestfs.pod:720 msgid "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-" "symbolic-links/>" @@ -42361,7 +43490,7 @@ msgstr "" "symbolic-links/>" #. type: textblock -#: ../src/guestfs.pod:739 +#: ../src/guestfs.pod:722 msgid "" "The essential problem is that ntfs-3g simply does not have enough " "information to do a correct job. NTFS links can contain drive letters and " @@ -42371,7 +43500,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:746 +#: ../src/guestfs.pod:729 msgid "" "Instead if you encounter a symbolic link on an ntfs-3g filesystem, use L</" "guestfs_lgetxattr> to read the C<system.ntfs_reparse_data> extended " @@ -42380,38 +43509,38 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:751 +#: ../src/guestfs.pod:734 msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:753 +#: ../src/guestfs.pod:736 msgid "" "There are other useful extended attributes that can be read from ntfs-3g " "filesystems (using L</guestfs_getxattr>). See:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:756 +#: ../src/guestfs.pod:739 msgid "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>" msgstr "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>" #. type: =head2 -#: ../src/guestfs.pod:758 +#: ../src/guestfs.pod:741 msgid "RESIZE2FS ERRORS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:760 +#: ../src/guestfs.pod:743 msgid "" "The L</guestfs_resize2fs>, L</guestfs_resize2fs_size> and L</" "guestfs_resize2fs_M> calls are used to resize ext2/3/4 filesystems." msgstr "" #. type: textblock -#: ../src/guestfs.pod:763 +#: ../src/guestfs.pod:746 msgid "" "The underlying program (L<resize2fs(8)>) requires that the filesystem is " "clean and recently fsck'd before you can resize it. Also, if the resize " @@ -42420,7 +43549,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:768 +#: ../src/guestfs.pod:751 msgid "" "In libguestfs C<lt> 1.17.14, you usually had to call L</guestfs_e2fsck_f> " "before the resize. However, in C<ge> 1.17.14, L<e2fsck(8)> is called " @@ -42428,14 +43557,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:773 +#: ../src/guestfs.pod:756 msgid "" "The L<resize2fs(8)> program can still fail, in which case it prints an error " "message similar to:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:776 +#: ../src/guestfs.pod:759 #, no-wrap msgid "" " Please run 'e2fsck -fy <device>' to fix the filesystem\n" @@ -42444,7 +43573,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:779 +#: ../src/guestfs.pod:762 msgid "" "You can do this by calling L</guestfs_e2fsck> with the C<forceall> option. " "However in the context of disk images, it is usually better to avoid this " @@ -42453,19 +43582,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:784 +#: ../src/guestfs.pod:767 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" msgstr "ВИКОРИСТАННЯ LIBGUESTFS ЗА ДОПОМОГОЮ ІНШИХ МОВ ПРОГРАМУВАННЯ" #. type: textblock -#: ../src/guestfs.pod:786 +#: ../src/guestfs.pod:769 msgid "" "Although we don't want to discourage you from using the C API, we will " "mention here that the same API is also available in other languages." msgstr "" #. type: textblock -#: ../src/guestfs.pod:789 +#: ../src/guestfs.pod:772 msgid "" "The API is broadly identical in all supported languages. This means that " "the C call C<guestfs_add_drive_ro(g,file)> is C<$g-E<gt>add_drive_ro($file)> " @@ -42475,14 +43604,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:795 +#: ../src/guestfs.pod:778 msgid "" "Error messages are automatically transformed into exceptions if the language " "supports it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:798 +#: ../src/guestfs.pod:781 msgid "" "We don't try to \"object orientify\" parts of the API in OO languages, " "although contributors are welcome to write higher level APIs above what we " @@ -42490,58 +43619,58 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:804 +#: ../src/guestfs.pod:787 msgid "B<C++>" msgstr "B<C++>" #. type: textblock -#: ../src/guestfs.pod:806 +#: ../src/guestfs.pod:789 msgid "" "You can use the I<guestfs.h> header file from C++ programs. The C++ API is " "identical to the C API. C++ classes and exceptions are not used." msgstr "" #. type: =item -#: ../src/guestfs.pod:810 +#: ../src/guestfs.pod:793 msgid "B<C#>" msgstr "B<C#>" #. type: textblock -#: ../src/guestfs.pod:812 +#: ../src/guestfs.pod:795 msgid "" "The C# bindings are highly experimental. Please read the warnings at the " "top of C<csharp/Libguestfs.cs>." msgstr "" #. type: =item -#: ../src/guestfs.pod:815 +#: ../src/guestfs.pod:798 msgid "B<Erlang>" msgstr "B<Erlang>" #. type: textblock -#: ../src/guestfs.pod:817 +#: ../src/guestfs.pod:800 msgid "See L<guestfs-erlang(3)>." msgstr "Див. L<guestfs-erlang(3)>." #. type: =item -#: ../src/guestfs.pod:819 +#: ../src/guestfs.pod:802 msgid "B<GObject>" msgstr "B<GObject>" #. type: textblock -#: ../src/guestfs.pod:821 +#: ../src/guestfs.pod:804 msgid "" "Experimental GObject bindings (with GObject Introspection support) are " "available. See the C<gobject> directory in the source." msgstr "" #. type: =item -#: ../src/guestfs.pod:824 +#: ../src/guestfs.pod:807 msgid "B<Haskell>" msgstr "B<Haskell>" #. type: textblock -#: ../src/guestfs.pod:826 +#: ../src/guestfs.pod:809 msgid "" "This is the only language binding that is working but incomplete. Only " "calls which return simple integers have been bound in Haskell, and we are " @@ -42549,96 +43678,96 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:830 +#: ../src/guestfs.pod:813 msgid "B<Java>" msgstr "B<Java>" #. type: textblock -#: ../src/guestfs.pod:832 +#: ../src/guestfs.pod:815 msgid "" "Full documentation is contained in the Javadoc which is distributed with " "libguestfs. For examples, see L<guestfs-java(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:835 +#: ../src/guestfs.pod:818 msgid "B<OCaml>" msgstr "B<OCaml>" #. type: textblock -#: ../src/guestfs.pod:837 +#: ../src/guestfs.pod:820 msgid "See L<guestfs-ocaml(3)>." msgstr "Див. L<guestfs-ocaml(3)>." #. type: =item -#: ../src/guestfs.pod:839 +#: ../src/guestfs.pod:822 msgid "B<Perl>" msgstr "B<Perl>" #. type: textblock -#: ../src/guestfs.pod:841 +#: ../src/guestfs.pod:824 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:843 +#: ../src/guestfs.pod:826 msgid "B<PHP>" msgstr "B<PHP>" #. type: textblock -#: ../src/guestfs.pod:845 +#: ../src/guestfs.pod:828 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:848 +#: ../src/guestfs.pod:831 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "" #. type: =item -#: ../src/guestfs.pod:850 +#: ../src/guestfs.pod:833 msgid "B<Python>" msgstr "B<Python>" #. type: textblock -#: ../src/guestfs.pod:852 +#: ../src/guestfs.pod:835 msgid "See L<guestfs-python(3)>." msgstr "Див. L<guestfs-python(3)>." #. type: =item -#: ../src/guestfs.pod:854 +#: ../src/guestfs.pod:837 msgid "B<Ruby>" msgstr "B<Ruby>" #. type: textblock -#: ../src/guestfs.pod:856 +#: ../src/guestfs.pod:839 msgid "See L<guestfs-ruby(3)>." msgstr "Див. L<guestfs-ruby(3)>." #. type: textblock -#: ../src/guestfs.pod:858 +#: ../src/guestfs.pod:841 msgid "For JRuby, use the Java bindings." msgstr "" #. type: =item -#: ../src/guestfs.pod:860 +#: ../src/guestfs.pod:843 msgid "B<shell scripts>" msgstr "B<скрипти оболонки>" #. type: textblock -#: ../src/guestfs.pod:862 +#: ../src/guestfs.pod:845 msgid "See L<guestfish(1)>." msgstr "Див. L<guestfish(1)>." #. type: =head2 -#: ../src/guestfs.pod:866 +#: ../src/guestfs.pod:849 msgid "LIBGUESTFS GOTCHAS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:868 +#: ../src/guestfs.pod:851 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 " @@ -42646,7 +43775,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:872 +#: ../src/guestfs.pod:855 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -42655,19 +43784,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:880 +#: ../src/guestfs.pod:863 msgid "Autosync / forgetting to sync." msgstr "" #. type: textblock -#: ../src/guestfs.pod:882 +#: ../src/guestfs.pod:865 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:885 +#: ../src/guestfs.pod:868 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 " @@ -42675,7 +43804,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:889 +#: ../src/guestfs.pod:872 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -42685,14 +43814,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:891 +#: ../src/guestfs.pod:874 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:895 +#: ../src/guestfs.pod:878 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 " @@ -42700,7 +43829,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:899 +#: ../src/guestfs.pod:882 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 " @@ -42708,19 +43837,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:903 +#: ../src/guestfs.pod:886 msgid "Mount option C<-o sync> should not be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:905 +#: ../src/guestfs.pod:888 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:908 +#: ../src/guestfs.pod:891 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 " @@ -42728,31 +43857,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:912 +#: ../src/guestfs.pod:895 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:915 +#: ../src/guestfs.pod:898 msgid "Read-only should be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:917 +#: ../src/guestfs.pod:900 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:920 +#: ../src/guestfs.pod:903 msgid "This would reduce the potential to corrupt live VM images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:922 +#: ../src/guestfs.pod:905 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</" @@ -42760,12 +43889,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:926 +#: ../src/guestfs.pod:909 msgid "guestfish command line is hard to use." msgstr "" #. type: textblock -#: ../src/guestfs.pod:928 +#: ../src/guestfs.pod:911 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 " @@ -42775,12 +43904,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:935 +#: ../src/guestfs.pod:918 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" #. type: textblock -#: ../src/guestfs.pod:937 +#: ../src/guestfs.pod:920 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 " @@ -42790,12 +43919,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:944 +#: ../src/guestfs.pod:927 msgid "The most common is L</guestfs_lvcreate>. The guestfish command:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:946 +#: ../src/guestfs.pod:929 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -42805,7 +43934,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:948 +#: ../src/guestfs.pod:931 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 " @@ -42814,19 +43943,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:936 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:956 +#: ../src/guestfs.pod:939 msgid "Ambiguity between devices and paths" msgstr "" #. type: textblock -#: ../src/guestfs.pod:958 +#: ../src/guestfs.pod:941 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 " @@ -42834,7 +43963,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:963 +#: ../src/guestfs.pod:946 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>. " @@ -42843,7 +43972,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:969 +#: ../src/guestfs.pod:952 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 " @@ -42853,7 +43982,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:975 +#: ../src/guestfs.pod:958 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -42861,12 +43990,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:977 +#: ../src/guestfs.pod:960 msgid "which would allow you to pass arguments like:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:979 +#: ../src/guestfs.pod:962 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -42877,26 +44006,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:984 +#: ../src/guestfs.pod:967 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:989 +#: ../src/guestfs.pod:972 msgid "KEYS AND PASSPHRASES" msgstr "КЛЮЧІ І ПАРОЛІ" #. type: textblock -#: ../src/guestfs.pod:991 +#: ../src/guestfs.pod:974 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" #. type: textblock -#: ../src/guestfs.pod:994 +#: ../src/guestfs.pod:977 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 " @@ -42905,7 +44034,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:999 +#: ../src/guestfs.pod:982 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, " @@ -42913,19 +44042,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1004 +#: ../src/guestfs.pod:987 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1006 +#: ../src/guestfs.pod:989 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:1009 +#: ../src/guestfs.pod:992 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 " @@ -42933,33 +44062,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1013 +#: ../src/guestfs.pod:996 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1016 +#: ../src/guestfs.pod:999 msgid "PATH" msgstr "ШЛЯХ" #. type: textblock -#: ../src/guestfs.pod:1018 +#: ../src/guestfs.pod:1001 msgid "" "Libguestfs needs a supermin appliance, which it finds by looking along an " "internal path." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1021 +#: ../src/guestfs.pod:1004 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:1024 +#: ../src/guestfs.pod:1007 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 " @@ -42970,12 +44099,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1031 +#: ../src/guestfs.pod:1014 msgid "QEMU WRAPPERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1033 +#: ../src/guestfs.pod:1016 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 " @@ -42983,7 +44112,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1037 +#: ../src/guestfs.pod:1020 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 " @@ -42992,14 +44121,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1042 +#: ../src/guestfs.pod:1025 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:1045 +#: ../src/guestfs.pod:1028 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -43013,7 +44142,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1049 +#: ../src/guestfs.pod:1032 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 " @@ -43021,7 +44150,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1053 +#: ../src/guestfs.pod:1036 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -43031,14 +44160,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1055 +#: ../src/guestfs.pod:1038 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1058 +#: ../src/guestfs.pod:1041 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 " @@ -43048,7 +44177,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1067 +#: ../src/guestfs.pod:1050 #, no-wrap msgid "" " i=0\n" @@ -43066,7 +44195,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1079 +#: ../src/guestfs.pod:1062 #, no-wrap msgid "" " exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n" @@ -43074,19 +44203,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1081 +#: ../src/guestfs.pod:1064 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ ФОНОВИХ СЛУЖБ" #. type: textblock -#: ../src/guestfs.pod:1083 +#: ../src/guestfs.pod:1066 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:1086 +#: ../src/guestfs.pod:1069 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 " @@ -43094,12 +44223,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1090 +#: ../src/guestfs.pod:1073 msgid "Using guestfs_set_attach_method" msgstr "За допомогою guestfs_set_attach_method" #. type: textblock -#: ../src/guestfs.pod:1092 +#: ../src/guestfs.pod:1075 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</" @@ -43107,14 +44236,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1096 +#: ../src/guestfs.pod:1079 msgid "" "The normal attach method is C<appliance>, where a small appliance is created " "containing the daemon, and then the library connects to this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1099 +#: ../src/guestfs.pod:1082 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 " @@ -43122,7 +44251,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1103 +#: ../src/guestfs.pod:1086 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 " @@ -43130,12 +44259,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1107 +#: ../src/guestfs.pod:1090 msgid "Using guestfs_add_domain with live flag" msgstr "За допомогою guestfs_add_domain з прапорцем live" #. type: textblock -#: ../src/guestfs.pod:1109 +#: ../src/guestfs.pod:1092 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 " @@ -43144,7 +44273,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1115 +#: ../src/guestfs.pod:1098 #, no-wrap msgid "" " <domain>\n" @@ -43174,14 +44303,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1127 +#: ../src/guestfs.pod:1110 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:1130 +#: ../src/guestfs.pod:1113 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 " @@ -43189,19 +44318,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1134 +#: ../src/guestfs.pod:1117 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:1138 +#: ../src/guestfs.pod:1121 msgid "ABI GUARANTEE" msgstr "ГАРАНТІЯ ЩОДО ABI" #. type: textblock -#: ../src/guestfs.pod:1140 +#: ../src/guestfs.pod:1123 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -43211,12 +44340,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1146 +#: ../src/guestfs.pod:1129 msgid "BLOCK DEVICE NAMING" msgstr "ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ" #. type: textblock -#: ../src/guestfs.pod:1148 +#: ../src/guestfs.pod:1131 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 " @@ -43230,7 +44359,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1160 +#: ../src/guestfs.pod:1143 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 " @@ -43238,7 +44367,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1164 +#: ../src/guestfs.pod:1147 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 " @@ -43246,7 +44375,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1169 +#: ../src/guestfs.pod:1152 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 " @@ -43255,7 +44384,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1175 +#: ../src/guestfs.pod:1158 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 " @@ -43263,12 +44392,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1163 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1182 +#: ../src/guestfs.pod:1165 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 " @@ -43277,7 +44406,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1188 +#: ../src/guestfs.pod:1171 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</" @@ -43285,54 +44414,54 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1196 +#: ../src/guestfs.pod:1179 msgid "Is the string a parameter which is a device or partition name?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1200 +#: ../src/guestfs.pod:1183 msgid "Does the string begin with C</dev/sd>?" msgstr "Чи починається рядок з C</dev/sd>?" #. type: textblock -#: ../src/guestfs.pod:1204 +#: ../src/guestfs.pod:1187 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:1209 +#: ../src/guestfs.pod:1192 msgid "Replace initial C</dev/sd> string with C</dev/hd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1211 +#: ../src/guestfs.pod:1194 msgid "For example, change C</dev/sda2> to C</dev/hda2>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1213 +#: ../src/guestfs.pod:1196 msgid "If that named device exists, use it. If not, continue." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1217 +#: ../src/guestfs.pod:1200 msgid "Replace initial C</dev/sd> string with C</dev/vd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1219 +#: ../src/guestfs.pod:1202 msgid "If that named device exists, use it. If not, return an error." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1223 +#: ../src/guestfs.pod:1206 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1208 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 " @@ -43340,51 +44469,51 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1229 +#: ../src/guestfs.pod:1212 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1236 +#: ../src/guestfs.pod:1219 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:1239 +#: ../src/guestfs.pod:1222 msgid "" "Since those device names exist by definition, they will never be translated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1244 +#: ../src/guestfs.pod:1227 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1249 ../sysprep/virt-sysprep.pod:376 +#: ../src/guestfs.pod:1232 ../sysprep/virt-sysprep.pod:376 msgid "SECURITY" msgstr "БЕЗПЕКА" #. type: textblock -#: ../src/guestfs.pod:1251 +#: ../src/guestfs.pod:1234 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1254 +#: ../src/guestfs.pod:1237 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "ЗАГАЛЬНІ ЗАУВАЖЕННЯ ЩОДО ЗАХИСТУ" #. type: textblock -#: ../src/guestfs.pod:1256 +#: ../src/guestfs.pod:1239 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 " @@ -43394,42 +44523,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1266 +#: ../src/guestfs.pod:1249 msgid "the data (file etc) not being present" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1270 +#: ../src/guestfs.pod:1253 msgid "being present but empty" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1274 +#: ../src/guestfs.pod:1257 msgid "being much larger than normal" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1278 +#: ../src/guestfs.pod:1261 msgid "containing arbitrary 8 bit data" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1282 +#: ../src/guestfs.pod:1265 msgid "being in an unexpected character encoding" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1286 +#: ../src/guestfs.pod:1269 msgid "containing homoglyphs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1290 +#: ../src/guestfs.pod:1273 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "ЗАХИСТ ФАЙЛОВИХ СИСТЕМ МОНТУВАННЯ" #. type: textblock -#: ../src/guestfs.pod:1292 +#: ../src/guestfs.pod:1275 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -43445,7 +44574,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1305 +#: ../src/guestfs.pod:1288 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 " @@ -43459,19 +44588,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1299 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:1319 +#: ../src/guestfs.pod:1302 msgid "PROTOCOL SECURITY" msgstr "ЗАХИСТ ПРОТОКОЛУ" #. type: textblock -#: ../src/guestfs.pod:1321 +#: ../src/guestfs.pod:1304 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 " @@ -43481,12 +44610,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1327 +#: ../src/guestfs.pod:1310 msgid "INSPECTION SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1329 +#: ../src/guestfs.pod:1312 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 " @@ -43495,7 +44624,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1335 +#: ../src/guestfs.pod:1318 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -43506,7 +44635,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1343 +#: ../src/guestfs.pod:1326 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -43516,12 +44645,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1349 +#: ../src/guestfs.pod:1332 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "ЗАПУСК НЕЗАХИЩЕНИХ КОМАНД ГОСТЬОВОЇ СИСТЕМИ" #. type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1334 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 " @@ -43531,24 +44660,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1357 +#: ../src/guestfs.pod:1340 msgid "CVE-2010-3851" msgstr "CVE-2010-3851" #. type: textblock -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1342 msgid "https://bugzilla.redhat.com/642934" msgstr "https://bugzilla.redhat.com/642934" #. type: textblock -#: ../src/guestfs.pod:1361 +#: ../src/guestfs.pod:1344 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1364 +#: ../src/guestfs.pod:1347 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 " @@ -43557,7 +44686,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1369 +#: ../src/guestfs.pod:1352 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 " @@ -43566,7 +44695,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1374 +#: ../src/guestfs.pod:1357 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 " @@ -43578,25 +44707,25 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1365 msgid "" "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1389 +#: ../src/guestfs.pod:1372 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1393 +#: ../src/guestfs.pod:1376 msgid "" "You are also running untrusted code from the guest (see L</RUNNING " "COMMANDS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1398 +#: ../src/guestfs.pod:1381 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 " @@ -43605,31 +44734,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1403 +#: ../src/guestfs.pod:1386 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:1406 +#: ../src/guestfs.pod:1389 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1409 +#: ../src/guestfs.pod:1392 msgid "CONNECTION MANAGEMENT" msgstr "КЕРУВАННЯ З’ЄДНАННЯМ" #. type: =head2 -#: ../src/guestfs.pod:1411 +#: ../src/guestfs.pod:1394 msgid "guestfs_h *" msgstr "guestfs_h *" #. type: textblock -#: ../src/guestfs.pod:1413 +#: ../src/guestfs.pod:1396 msgid "" "C<guestfs_h> is the opaque type representing a connection handle. Create a " "handle by calling L</guestfs_create>. Call L</guestfs_close> to free the " @@ -43637,19 +44766,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1417 +#: ../src/guestfs.pod:1400 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:1420 +#: ../src/guestfs.pod:1403 msgid "guestfs_create" msgstr "guestfs_create" #. type: verbatim -#: ../src/guestfs.pod:1422 +#: ../src/guestfs.pod:1405 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -43659,19 +44788,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1424 +#: ../src/guestfs.pod:1407 msgid "Create a connection handle." msgstr "Створити дескриптор з’єднання." #. type: textblock -#: ../src/guestfs.pod:1426 +#: ../src/guestfs.pod:1409 msgid "" "On success this returns a non-NULL pointer to a handle. On error it returns " "NULL." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1429 +#: ../src/guestfs.pod:1412 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 " @@ -43679,24 +44808,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1433 +#: ../src/guestfs.pod:1416 msgid "After configuring the handle, you have to call L</guestfs_launch>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1435 +#: ../src/guestfs.pod:1418 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:1438 +#: ../src/guestfs.pod:1421 msgid "guestfs_close" msgstr "guestfs_close" #. type: verbatim -#: ../src/guestfs.pod:1440 +#: ../src/guestfs.pod:1423 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -43706,12 +44835,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1442 +#: ../src/guestfs.pod:1425 msgid "This closes the connection handle and frees up all resources used." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1444 +#: ../src/guestfs.pod:1427 msgid "" "If autosync was set on the handle and the handle was launched, then this " "implicitly calls various functions to unmount filesystems and sync the " @@ -43719,24 +44848,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1448 +#: ../src/guestfs.pod:1431 msgid "If a close callback was set on the handle, then it is called." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1450 +#: ../src/guestfs.pod:1433 msgid "ERROR HANDLING" msgstr "ОБРОБКА ПОМИЛОК" #. type: textblock -#: ../src/guestfs.pod:1452 +#: ../src/guestfs.pod:1435 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:1455 +#: ../src/guestfs.pod:1438 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 " @@ -43744,7 +44873,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1459 +#: ../src/guestfs.pod:1442 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 " @@ -43752,7 +44881,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1464 +#: ../src/guestfs.pod:1447 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 " @@ -43760,7 +44889,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1468 +#: ../src/guestfs.pod:1451 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -43772,21 +44901,21 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1471 +#: ../src/guestfs.pod:1454 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:1474 +#: ../src/guestfs.pod:1457 msgid "" "For other programs the caller will almost certainly want to install an " "alternate error handler or do error handling in-line like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1477 +#: ../src/guestfs.pod:1460 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -43796,7 +44925,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1481 +#: ../src/guestfs.pod:1464 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -43813,7 +44942,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1492 +#: ../src/guestfs.pod:1475 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</" @@ -43821,7 +44950,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1496 +#: ../src/guestfs.pod:1479 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 " @@ -43831,12 +44960,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1502 +#: ../src/guestfs.pod:1485 msgid "guestfs_last_error" msgstr "guestfs_last_error" #. type: verbatim -#: ../src/guestfs.pod:1504 +#: ../src/guestfs.pod:1487 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -43846,26 +44975,26 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1506 +#: ../src/guestfs.pod:1489 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:1510 +#: ../src/guestfs.pod:1493 msgid "" "The lifetime of the returned string is until the next error occurs, or L</" "guestfs_close> is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1513 +#: ../src/guestfs.pod:1496 msgid "guestfs_last_errno" msgstr "guestfs_last_errno" #. type: verbatim -#: ../src/guestfs.pod:1515 +#: ../src/guestfs.pod:1498 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -43875,28 +45004,28 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1517 +#: ../src/guestfs.pod:1500 msgid "This returns the last error number (errno) that happened on C<g>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1519 +#: ../src/guestfs.pod:1502 msgid "If successful, an errno integer not equal to zero is returned." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1521 +#: ../src/guestfs.pod:1504 msgid "" "If no error, this returns 0. This call can return 0 in three situations:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1528 +#: ../src/guestfs.pod:1511 msgid "There has not been any error on the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1515 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 " @@ -43904,14 +45033,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1538 +#: ../src/guestfs.pod:1521 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:1544 +#: ../src/guestfs.pod:1527 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -43922,12 +45051,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1552 +#: ../src/guestfs.pod:1535 msgid "guestfs_set_error_handler" msgstr "guestfs_set_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1554 +#: ../src/guestfs.pod:1537 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -43947,7 +45076,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1561 +#: ../src/guestfs.pod:1544 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 " @@ -43955,14 +45084,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1565 +#: ../src/guestfs.pod:1548 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:1568 +#: ../src/guestfs.pod:1551 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 " @@ -43970,22 +45099,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1572 +#: ../src/guestfs.pod:1555 msgid "The default handler prints messages on C<stderr>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1574 +#: ../src/guestfs.pod:1557 msgid "If you set C<cb> to C<NULL> then I<no> handler is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1576 +#: ../src/guestfs.pod:1559 msgid "guestfs_get_error_handler" msgstr "guestfs_get_error_handler" #. type: verbatim -#: ../src/guestfs.pod:1578 +#: ../src/guestfs.pod:1561 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -43997,17 +45126,17 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1581 +#: ../src/guestfs.pod:1564 msgid "Returns the current error handler callback." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1583 +#: ../src/guestfs.pod:1566 msgid "guestfs_set_out_of_memory_handler" msgstr "guestfs_set_out_of_memory_handler" #. type: verbatim -#: ../src/guestfs.pod:1585 +#: ../src/guestfs.pod:1568 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -44017,30 +45146,30 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1589 +#: ../src/guestfs.pod:1572 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:1592 +#: ../src/guestfs.pod:1575 msgid "The default is to call L<abort(3)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1594 +#: ../src/guestfs.pod:1577 msgid "" "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1597 +#: ../src/guestfs.pod:1580 msgid "guestfs_get_out_of_memory_handler" msgstr "guestfs_get_out_of_memory_handler" #. type: verbatim -#: ../src/guestfs.pod:1599 +#: ../src/guestfs.pod:1582 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -44050,37 +45179,37 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1601 +#: ../src/guestfs.pod:1584 msgid "This returns the current out of memory handler." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1603 +#: ../src/guestfs.pod:1586 msgid "API CALLS" msgstr "ВИКЛИКИ API" #. type: =head1 -#: ../src/guestfs.pod:1607 +#: ../src/guestfs.pod:1590 msgid "STRUCTURES" msgstr "СТРУКТУРИ" #. type: textblock -#: ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1592 msgid "@STRUCTS@" msgstr "@STRUCTS@" #. type: =head1 -#: ../src/guestfs.pod:1611 +#: ../src/guestfs.pod:1594 msgid "AVAILABILITY" msgstr "ДОСТУПНІСТЬ" #. type: =head2 -#: ../src/guestfs.pod:1613 +#: ../src/guestfs.pod:1596 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "ГРУПИ ФУНКЦІОНАЛЬНИХ МОЖЛИВОСТЕЙ У ОБРАЗІ ОСНОВНОЇ СИСТЕМИ" #. type: textblock -#: ../src/guestfs.pod:1615 +#: ../src/guestfs.pod:1598 msgid "" "Using L</guestfs_available> you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -44088,17 +45217,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1620 +#: ../src/guestfs.pod:1603 msgid "@AVAILABILITY@" msgstr "@AVAILABILITY@" #. type: =head2 -#: ../src/guestfs.pod:1622 +#: ../src/guestfs.pod:1605 msgid "GUESTFISH supported COMMAND" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1624 +#: ../src/guestfs.pod:1607 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 " @@ -44106,19 +45235,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1629 +#: ../src/guestfs.pod:1612 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1631 +#: ../src/guestfs.pod:1614 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:1634 +#: ../src/guestfs.pod:1617 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -44128,12 +45257,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1636 +#: ../src/guestfs.pod:1619 msgid "if L</guestfs_dd> is available." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1638 +#: ../src/guestfs.pod:1621 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 " @@ -44141,7 +45270,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1643 +#: ../src/guestfs.pod:1626 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -44153,19 +45282,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1646 +#: ../src/guestfs.pod:1629 msgid "" "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined " "in your program." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1649 +#: ../src/guestfs.pod:1632 msgid "SINGLE CALLS AT RUN TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1651 +#: ../src/guestfs.pod:1634 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 " @@ -44175,7 +45304,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1658 +#: ../src/guestfs.pod:1641 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 " @@ -44183,7 +45312,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1662 +#: ../src/guestfs.pod:1645 #, no-wrap msgid "" " #include <stdio.h>\n" @@ -44201,7 +45330,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1651 #, no-wrap msgid "" " main ()\n" @@ -44219,7 +45348,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1674 +#: ../src/guestfs.pod:1657 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -44234,7 +45363,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1683 +#: ../src/guestfs.pod:1666 #, no-wrap msgid "" " if (!has_function)\n" @@ -44253,7 +45382,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1696 +#: ../src/guestfs.pod:1679 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 " @@ -44261,7 +45390,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1701 +#: ../src/guestfs.pod:1684 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -44269,12 +45398,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1703 +#: ../src/guestfs.pod:1686 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1705 +#: ../src/guestfs.pod:1688 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 " @@ -44282,7 +45411,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1710 +#: ../src/guestfs.pod:1693 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -44292,14 +45421,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1712 +#: ../src/guestfs.pod:1695 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:1715 +#: ../src/guestfs.pod:1698 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -44309,12 +45438,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1717 +#: ../src/guestfs.pod:1700 msgid "With a single optional argument:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1719 +#: ../src/guestfs.pod:1702 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -44328,12 +45457,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1723 +#: ../src/guestfs.pod:1706 msgid "With two:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1725 +#: ../src/guestfs.pod:1708 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -44349,19 +45478,19 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1730 +#: ../src/guestfs.pod:1713 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1733 +#: ../src/guestfs.pod:1716 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1735 +#: ../src/guestfs.pod:1718 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 " @@ -44369,7 +45498,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1739 +#: ../src/guestfs.pod:1722 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -44381,12 +45510,12 @@ msgstr "" "\n" #. type: =head2 -#: ../src/guestfs.pod:1742 +#: ../src/guestfs.pod:1725 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1744 +#: ../src/guestfs.pod:1727 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 " @@ -44396,7 +45525,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1750 +#: ../src/guestfs.pod:1733 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -44420,12 +45549,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1759 +#: ../src/guestfs.pod:1742 msgid "You could call it like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1744 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -44445,7 +45574,7 @@ msgstr "" " \n" #. type: verbatim -#: ../src/guestfs.pod:1768 +#: ../src/guestfs.pod:1751 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -44455,29 +45584,29 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1776 +#: ../src/guestfs.pod:1759 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1781 +#: ../src/guestfs.pod:1764 msgid "You do not need to fill in all fields of the structure." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1768 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:1790 +#: ../src/guestfs.pod:1773 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1792 +#: ../src/guestfs.pod:1775 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -44485,17 +45614,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1796 +#: ../src/guestfs.pod:1779 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1798 +#: ../src/guestfs.pod:1781 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1800 +#: ../src/guestfs.pod:1783 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 " @@ -44507,7 +45636,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1809 +#: ../src/guestfs.pod:1792 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -44519,7 +45648,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1817 +#: ../src/guestfs.pod:1800 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 " @@ -44528,31 +45657,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1822 +#: ../src/guestfs.pod:1805 msgid "" "Events may contain a payload, usually nothing (void), an array of 64 bit " "unsigned integers, or a message buffer. Payloads are discussed later on." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1826 +#: ../src/guestfs.pod:1809 msgid "CLASSES OF EVENTS" msgstr "" #. type: =item -#: ../src/guestfs.pod:1830 +#: ../src/guestfs.pod:1813 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1833 +#: ../src/guestfs.pod:1816 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L</guestfs_close>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1836 +#: ../src/guestfs.pod:1819 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 " @@ -44563,19 +45692,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1843 +#: ../src/guestfs.pod:1826 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:1846 +#: ../src/guestfs.pod:1829 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1849 +#: ../src/guestfs.pod:1832 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L</guestfs_kill_subprocess>. (This " @@ -44583,17 +45712,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1853 ../src/guestfs.pod:1862 ../src/guestfs.pod:1979 +#: ../src/guestfs.pod:1836 ../src/guestfs.pod:1845 ../src/guestfs.pod:1962 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:1855 +#: ../src/guestfs.pod:1838 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1858 +#: ../src/guestfs.pod:1841 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 " @@ -44601,12 +45730,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1864 +#: ../src/guestfs.pod:1847 msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1867 +#: ../src/guestfs.pod:1850 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -44616,14 +45745,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1873 +#: ../src/guestfs.pod:1856 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:1876 +#: ../src/guestfs.pod:1859 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 " @@ -44631,24 +45760,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1881 +#: ../src/guestfs.pod:1864 msgid "The only defined and stable parts of the API are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1887 +#: ../src/guestfs.pod:1870 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:1892 +#: ../src/guestfs.pod:1875 msgid "0 E<lt>= C<position> E<lt>= C<total>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1896 +#: ../src/guestfs.pod:1879 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 " @@ -44656,7 +45785,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1900 +#: ../src/guestfs.pod:1883 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 " @@ -44664,7 +45793,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1906 +#: ../src/guestfs.pod:1889 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 " @@ -44673,7 +45802,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1911 +#: ../src/guestfs.pod:1894 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 " @@ -44681,14 +45810,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1915 +#: ../src/guestfs.pod:1898 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:1920 +#: ../src/guestfs.pod:1903 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 " @@ -44697,31 +45826,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:1909 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:1928 +#: ../src/guestfs.pod:1911 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1931 +#: ../src/guestfs.pod:1914 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:1934 +#: ../src/guestfs.pod:1917 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:1937 ../src/guestfs.pod:1951 +#: ../src/guestfs.pod:1920 ../src/guestfs.pod:1934 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 " @@ -44729,63 +45858,63 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1942 +#: ../src/guestfs.pod:1925 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1945 +#: ../src/guestfs.pod:1928 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1948 +#: ../src/guestfs.pod:1931 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:1956 +#: ../src/guestfs.pod:1939 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1959 +#: ../src/guestfs.pod:1942 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:1962 +#: ../src/guestfs.pod:1945 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:1966 +#: ../src/guestfs.pod:1949 msgid "GUESTFS_EVENT_ENTER (payload type: function name)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1969 +#: ../src/guestfs.pod:1952 msgid "" "The callback function is called whenever a libguestfs function is entered." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1972 +#: ../src/guestfs.pod:1955 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:1975 +#: ../src/guestfs.pod:1958 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 " @@ -44793,12 +45922,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1983 +#: ../src/guestfs.pod:1966 msgid "guestfs_set_event_callback" msgstr "guestfs_set_event_callback" #. type: verbatim -#: ../src/guestfs.pod:1985 +#: ../src/guestfs.pod:1968 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -44816,14 +45945,14 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:1991 +#: ../src/guestfs.pod:1974 msgid "" "This function registers a callback (C<cb>) for all event classes in the " "C<event_bitmask>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1994 +#: ../src/guestfs.pod:1977 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>. " @@ -44832,40 +45961,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2000 +#: ../src/guestfs.pod:1983 msgid "C<flags> should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2002 +#: ../src/guestfs.pod:1985 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:2005 +#: ../src/guestfs.pod:1988 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:2008 +#: ../src/guestfs.pod:1991 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:2011 +#: ../src/guestfs.pod:1994 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2014 +#: ../src/guestfs.pod:1997 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 " @@ -44873,12 +46002,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2018 +#: ../src/guestfs.pod:2001 msgid "guestfs_delete_event_callback" msgstr "guestfs_delete_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2020 +#: ../src/guestfs.pod:2003 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -44886,7 +46015,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2022 +#: ../src/guestfs.pod:2005 msgid "" "Delete a callback that was previously registered. C<event_handle> should be " "the integer that was returned by a previous call to " @@ -44894,12 +46023,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2026 +#: ../src/guestfs.pod:2009 msgid "guestfs_event_callback" msgstr "guestfs_event_callback" #. type: verbatim -#: ../src/guestfs.pod:2028 +#: ../src/guestfs.pod:2011 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -44914,13 +46043,13 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2037 +#: ../src/guestfs.pod:2020 msgid "" "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2040 +#: ../src/guestfs.pod:2023 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 " @@ -44928,7 +46057,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2044 +#: ../src/guestfs.pod:2027 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 " @@ -44937,7 +46066,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2049 +#: ../src/guestfs.pod:2032 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 " @@ -44945,19 +46074,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2053 +#: ../src/guestfs.pod:2036 msgid "" "C<array> and C<array_len> is an array of 64 bit unsigned integers. At the " "moment this is only used for progress messages." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2056 +#: ../src/guestfs.pod:2039 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2058 +#: ../src/guestfs.pod:2041 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 " @@ -44965,7 +46094,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2062 +#: ../src/guestfs.pod:2045 msgid "" "Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, " "C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error " @@ -44973,14 +46102,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2067 +#: ../src/guestfs.pod:2050 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2070 +#: ../src/guestfs.pod:2053 #, no-wrap msgid "" " int eh =\n" @@ -44996,14 +46125,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2080 +#: ../src/guestfs.pod:2063 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:2083 +#: ../src/guestfs.pod:2066 #, no-wrap msgid "" " static void\n" @@ -45024,12 +46153,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2098 +#: ../src/guestfs.pod:2081 msgid "CANCELLING LONG TRANSFERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2100 +#: ../src/guestfs.pod:2083 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 " @@ -45038,12 +46167,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2105 +#: ../src/guestfs.pod:2088 msgid "guestfs_user_cancel" msgstr "guestfs_user_cancel" #. type: verbatim -#: ../src/guestfs.pod:2107 +#: ../src/guestfs.pod:2090 #, no-wrap msgid "" " void guestfs_user_cancel (guestfs_h *g);\n" @@ -45051,13 +46180,13 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2109 +#: ../src/guestfs.pod:2092 msgid "" "C<guestfs_user_cancel> cancels the current upload or download operation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2112 +#: ../src/guestfs.pod:2095 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 " @@ -45065,7 +46194,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2116 +#: ../src/guestfs.pod:2099 msgid "" "The transfer that was in progress (if there is one) will stop shortly " "afterwards, and will return an error. The errno (see L</" @@ -45074,7 +46203,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2122 +#: ../src/guestfs.pod:2105 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 " @@ -45082,12 +46211,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2126 +#: ../src/guestfs.pod:2109 msgid "There are two common places that you might call C<guestfs_user_cancel>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2128 +#: ../src/guestfs.pod:2111 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 " @@ -45096,19 +46225,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2133 +#: ../src/guestfs.pod:2116 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:2137 +#: ../src/guestfs.pod:2120 msgid "PRIVATE DATA AREA" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2139 +#: ../src/guestfs.pod:2122 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 " @@ -45116,12 +46245,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2144 +#: ../src/guestfs.pod:2127 msgid "To attach a named piece of data, use the following call:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2146 +#: ../src/guestfs.pod:2129 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -45131,7 +46260,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2148 +#: ../src/guestfs.pod:2131 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 " @@ -45139,7 +46268,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2152 +#: ../src/guestfs.pod:2135 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 " @@ -45149,12 +46278,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2158 +#: ../src/guestfs.pod:2141 msgid "To retrieve the pointer, use:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2160 +#: ../src/guestfs.pod:2143 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -45164,7 +46293,7 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2162 +#: ../src/guestfs.pod:2145 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 " @@ -45172,7 +46301,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2166 +#: ../src/guestfs.pod:2149 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 " @@ -45183,12 +46312,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2173 +#: ../src/guestfs.pod:2156 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2175 +#: ../src/guestfs.pod:2158 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -45198,7 +46327,7 @@ msgstr "" "\n" #. type: verbatim -#: ../src/guestfs.pod:2177 +#: ../src/guestfs.pod:2160 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -45206,7 +46335,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2179 +#: ../src/guestfs.pod:2162 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 " @@ -45216,7 +46345,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2185 +#: ../src/guestfs.pod:2168 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 " @@ -45224,18 +46353,18 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2189 +#: ../src/guestfs.pod:2172 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2195 +#: ../src/guestfs.pod:2178 msgid "" "You must not call C<guestfs_set_private> while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2200 +#: ../src/guestfs.pod:2183 msgid "" "The handle maintains an internal iterator which is reset when you call " "C<guestfs_first_private>. This internal iterator is invalidated when you " @@ -45243,12 +46372,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2206 +#: ../src/guestfs.pod:2189 msgid "If you have set the data pointer associated with a key to C<NULL>, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2208 +#: ../src/guestfs.pod:2191 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -45256,26 +46385,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2210 +#: ../src/guestfs.pod:2193 msgid "then that C<key> is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2214 +#: ../src/guestfs.pod:2197 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:2220 +#: ../src/guestfs.pod:2203 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:2223 +#: ../src/guestfs.pod:2206 #, no-wrap msgid "" " const char *key;\n" @@ -45289,14 +46418,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2231 +#: ../src/guestfs.pod:2214 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:2234 +#: ../src/guestfs.pod:2217 #, no-wrap msgid "" " const char *key;\n" @@ -45311,7 +46440,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2226 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 " @@ -45319,7 +46448,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2247 +#: ../src/guestfs.pod:2230 #, no-wrap msgid "" " const char *key;\n" @@ -45341,7 +46470,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2263 +#: ../src/guestfs.pod:2246 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 " @@ -45350,12 +46479,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2268 +#: ../src/guestfs.pod:2251 msgid "SYSTEMTAP" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2270 +#: ../src/guestfs.pod:2253 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 " @@ -45363,12 +46492,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2274 +#: ../src/guestfs.pod:2257 msgid "You can list all the static markers by doing:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2276 +#: ../src/guestfs.pod:2259 #, no-wrap msgid "" " stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n" @@ -45377,26 +46506,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2279 +#: ../src/guestfs.pod:2262 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:2282 +#: ../src/guestfs.pod:2265 msgid "SYSTEMTAP SCRIPT EXAMPLE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2284 +#: ../src/guestfs.pod:2267 msgid "" "This script contains examples of displaying both the static markers and some " "ordinary C entry points:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2311 +#: ../src/guestfs.pod:2294 #, no-wrap msgid "" " /* Display all calls to guestfs_mkfs* functions. */\n" @@ -45409,7 +46538,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2318 +#: ../src/guestfs.pod:2301 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 " @@ -45418,7 +46547,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2323 +#: ../src/guestfs.pod:2306 #, no-wrap msgid "" " # stap /tmp/test.stap\n" @@ -45430,17 +46559,17 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2326 +#: ../src/guestfs.pod:2309 msgid "In another terminal, run a guestfish command such as this:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2330 +#: ../src/guestfs.pod:2313 msgid "In the first terminal, stap trace output similar to this is shown:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2332 +#: ../src/guestfs.pod:2315 #, no-wrap msgid "" " 1318248056692655 (+0):\tlaunch_start\n" @@ -45452,13 +46581,8 @@ msgid "" "\n" msgstr "" -#. type: =end -#: ../src/guestfs.pod:2339 ../src/guestfs.pod:2344 -msgid "html" -msgstr "html" - #. type: textblock -#: ../src/guestfs.pod:2341 +#: ../src/guestfs.pod:2324 msgid "" "<!-- old anchor for the next section --> <a name=" "\"state_machine_and_low_level_event_api\"/>" @@ -45467,12 +46591,12 @@ msgstr "" "\"state_machine_and_low_level_event_api\"/>" #. type: =head1 -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2329 msgid "ARCHITECTURE" msgstr "АРХІТЕКТУРА" #. type: textblock -#: ../src/guestfs.pod:2348 +#: ../src/guestfs.pod:2331 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 " @@ -45480,7 +46604,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2352 +#: ../src/guestfs.pod:2335 #, no-wrap msgid "" " ___________________\n" @@ -45506,14 +46630,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2372 +#: ../src/guestfs.pod:2355 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:2375 +#: ../src/guestfs.pod:2358 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 " @@ -45525,7 +46649,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2384 +#: ../src/guestfs.pod:2367 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 " @@ -45536,17 +46660,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2391 +#: ../src/guestfs.pod:2374 msgid "STATE MACHINE" msgstr "СКІНЧЕННИЙ АВТОМАТ" #. type: textblock -#: ../src/guestfs.pod:2393 +#: ../src/guestfs.pod:2376 msgid "libguestfs uses a state machine to model the child process:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2395 +#: ../src/guestfs.pod:2378 #, no-wrap msgid "" " |\n" @@ -45574,7 +46698,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2417 +#: ../src/guestfs.pod:2400 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), " @@ -45583,7 +46707,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2422 +#: ../src/guestfs.pod:2405 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 " @@ -45591,14 +46715,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2426 +#: ../src/guestfs.pod:2409 msgid "" "Configuration commands for qemu such as L</guestfs_add_drive> can only be " "issued when in the CONFIG state." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2429 +#: ../src/guestfs.pod:2412 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 " @@ -45607,7 +46731,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2435 +#: ../src/guestfs.pod:2418 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. " @@ -45616,7 +46740,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2440 +#: ../src/guestfs.pod:2423 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -45624,17 +46748,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2444 +#: ../src/guestfs.pod:2427 msgid "INTERNALS" msgstr "ВНУТРІШНІ ПРИНЦИПИ РОБОТИ" #. type: =head2 -#: ../src/guestfs.pod:2446 +#: ../src/guestfs.pod:2429 msgid "APPLIANCE BOOT PROCESS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2448 +#: ../src/guestfs.pod:2431 msgid "" "This process has evolved and continues to evolve. The description here " "corresponds only to the current version of libguestfs and is provided for " @@ -45642,55 +46766,55 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2452 +#: ../src/guestfs.pod:2435 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:2457 +#: ../src/guestfs.pod:2440 msgid "Create the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2459 +#: ../src/guestfs.pod:2442 msgid "" "C<febootstrap-supermin-helper> is invoked to create the kernel, a small " "initrd and the appliance." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2462 +#: ../src/guestfs.pod:2445 msgid "" "The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another " "directory if C<TMPDIR> is set)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2465 +#: ../src/guestfs.pod:2448 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:2469 +#: ../src/guestfs.pod:2452 msgid "Start qemu and boot the kernel" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2471 +#: ../src/guestfs.pod:2454 msgid "qemu is invoked to boot the kernel." msgstr "" #. type: =item -#: ../src/guestfs.pod:2473 +#: ../src/guestfs.pod:2456 msgid "Run the initrd" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2475 +#: ../src/guestfs.pod:2458 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 " @@ -45698,21 +46822,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2479 +#: ../src/guestfs.pod:2462 msgid "" "The initrd is a cpio archive called C</var/tmp/.guestfs-E<lt>UIDE<gt>/" "initrd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2482 +#: ../src/guestfs.pod:2465 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:2485 +#: ../src/guestfs.pod:2468 #, no-wrap msgid "" " febootstrap: ext2 mini initrd starting up\n" @@ -45723,12 +46847,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2490 +#: ../src/guestfs.pod:2473 msgid "Find and mount the appliance device" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2492 +#: ../src/guestfs.pod:2475 msgid "" "The appliance is a sparse file containing an ext2 filesystem which contains " "a familiar (although reduced in size) Linux operating system. It would " @@ -45736,33 +46860,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2496 +#: ../src/guestfs.pod:2479 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:2499 +#: ../src/guestfs.pod:2482 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:2502 +#: ../src/guestfs.pod:2485 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:2506 +#: ../src/guestfs.pod:2489 msgid "If this works successfully you will see messages such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2508 +#: ../src/guestfs.pod:2491 #, no-wrap msgid "" " febootstrap: picked /sys/block/vdb/dev as root device\n" @@ -45774,19 +46898,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2514 +#: ../src/guestfs.pod:2497 msgid "" "Note that C<Starting /init script ...> indicates that the appliance's init " "script is now running." msgstr "" #. type: =item -#: ../src/guestfs.pod:2517 +#: ../src/guestfs.pod:2500 msgid "Initialize the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2519 +#: ../src/guestfs.pod:2502 msgid "" "The appliance itself now initializes itself. This involves starting certain " "processes like C<udev>, possibly printing some debug information, and " @@ -45794,19 +46918,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2523 +#: ../src/guestfs.pod:2506 msgid "The daemon" msgstr "Фонова служба" #. type: textblock -#: ../src/guestfs.pod:2525 +#: ../src/guestfs.pod:2508 msgid "" "Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you " "should see:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2528 +#: ../src/guestfs.pod:2511 #, no-wrap msgid "" " verbose daemon enabled\n" @@ -45814,14 +46938,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2530 +#: ../src/guestfs.pod:2513 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:2533 +#: ../src/guestfs.pod:2516 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 " @@ -45829,19 +46953,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2539 +#: ../src/guestfs.pod:2522 msgid "COMMUNICATION PROTOCOL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2541 +#: ../src/guestfs.pod:2524 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:2544 +#: ../src/guestfs.pod:2527 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 " @@ -45849,14 +46973,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2548 +#: ../src/guestfs.pod:2531 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:2551 +#: ../src/guestfs.pod:2534 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 " @@ -45866,17 +46990,17 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2558 +#: ../src/guestfs.pod:2541 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2560 +#: ../src/guestfs.pod:2543 msgid "For ordinary functions, the request message is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2562 +#: ../src/guestfs.pod:2545 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -45887,7 +47011,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2567 +#: ../src/guestfs.pod:2550 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 " @@ -45896,21 +47020,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2573 +#: ../src/guestfs.pod:2556 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:2576 +#: ../src/guestfs.pod:2559 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:2580 +#: ../src/guestfs.pod:2563 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 " @@ -45922,12 +47046,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2588 +#: ../src/guestfs.pod:2571 msgid "The reply message for ordinary functions is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2590 +#: ../src/guestfs.pod:2573 #, no-wrap msgid "" " total length (header + ret,\n" @@ -45938,27 +47062,27 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2595 +#: ../src/guestfs.pod:2578 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:2598 +#: ../src/guestfs.pod:2581 msgid "" "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2601 +#: ../src/guestfs.pod:2584 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:2604 +#: ../src/guestfs.pod:2587 #, no-wrap msgid "" " total length (header + error,\n" @@ -45969,19 +47093,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2609 +#: ../src/guestfs.pod:2592 msgid "" "The C<guestfs_message_error> structure contains the error message as a " "string." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2612 +#: ../src/guestfs.pod:2595 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2614 +#: ../src/guestfs.pod:2597 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 " @@ -45989,7 +47113,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2618 +#: ../src/guestfs.pod:2601 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -46003,12 +47127,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2626 +#: ../src/guestfs.pod:2609 msgid "The \"sequence of chunks\" is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2628 +#: ../src/guestfs.pod:2611 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -46022,7 +47146,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2636 +#: ../src/guestfs.pod:2619 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 " @@ -46030,7 +47154,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2640 +#: ../src/guestfs.pod:2623 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -46039,7 +47163,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2645 +#: ../src/guestfs.pod:2628 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 " @@ -46048,7 +47172,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2651 +#: ../src/guestfs.pod:2634 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 " @@ -46060,7 +47184,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2660 +#: ../src/guestfs.pod:2643 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 " @@ -46070,19 +47194,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2666 +#: ../src/guestfs.pod:2649 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2668 +#: ../src/guestfs.pod:2651 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:2671 +#: ../src/guestfs.pod:2654 #, no-wrap msgid "" " total length (header + ret,\n" @@ -46096,12 +47220,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2679 +#: ../src/guestfs.pod:2662 msgid "INITIAL MESSAGE" msgstr "ПОЧАТКОВЕ ПОВІДОМЛЕННЯ" #. type: textblock -#: ../src/guestfs.pod:2681 +#: ../src/guestfs.pod:2664 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</" @@ -46109,12 +47233,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2668 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2687 +#: ../src/guestfs.pod:2670 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -46122,7 +47246,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2691 +#: ../src/guestfs.pod:2674 msgid "" "The library turns them into progress callbacks (see L</" "GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them " @@ -46130,7 +47254,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2695 +#: ../src/guestfs.pod:2678 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C<daemon/proto.c:notify_progress>). Not all calls generate progress " @@ -46138,12 +47262,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2699 +#: ../src/guestfs.pod:2682 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2701 +#: ../src/guestfs.pod:2684 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -46151,7 +47275,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2706 +#: ../src/guestfs.pod:2689 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -46168,12 +47292,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2717 +#: ../src/guestfs.pod:2700 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2719 +#: ../src/guestfs.pod:2702 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 " @@ -46183,26 +47307,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2725 +#: ../src/guestfs.pod:2708 msgid "Our criteria for backporting changes are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2731 +#: ../src/guestfs.pod:2714 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:2737 +#: ../src/guestfs.pod:2720 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2742 +#: ../src/guestfs.pod:2725 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 " @@ -46210,7 +47334,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2748 +#: ../src/guestfs.pod:2731 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 " @@ -46218,7 +47342,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2754 +#: ../src/guestfs.pod:2737 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 " @@ -46229,17 +47353,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2762 +#: ../src/guestfs.pod:2745 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2764 +#: ../src/guestfs.pod:2747 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2766 +#: ../src/guestfs.pod:2749 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated, and this makes it easy to extend the " @@ -46247,19 +47371,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2770 +#: ../src/guestfs.pod:2753 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2776 +#: ../src/guestfs.pod:2759 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C<generator/generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2779 +#: ../src/guestfs.pod:2762 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 " @@ -46270,7 +47394,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2787 +#: ../src/guestfs.pod:2770 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 " @@ -46280,7 +47404,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2793 +#: ../src/guestfs.pod:2776 msgid "" "For library-only actions of the second type, add to the " "C<non_daemon_functions> list. Since these functions are serviced by the " @@ -46290,36 +47414,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2801 +#: ../src/guestfs.pod:2784 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2803 +#: ../src/guestfs.pod:2786 msgid "" "For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the " "C<daemon/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2806 +#: ../src/guestfs.pod:2789 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:2809 +#: ../src/guestfs.pod:2792 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2813 +#: ../src/guestfs.pod:2796 msgid "After making these changes, use C<make> to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2815 +#: ../src/guestfs.pod:2798 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 " @@ -46327,12 +47451,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2819 +#: ../src/guestfs.pod:2802 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2821 +#: ../src/guestfs.pod:2804 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/" @@ -46342,61 +47466,61 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2828 +#: ../src/guestfs.pod:2811 msgid "" "The following describes the test environment used when you add an API test " "in C<generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2831 +#: ../src/guestfs.pod:2814 msgid "The test environment has 4 block devices:" msgstr "" #. type: =item -#: ../src/guestfs.pod:2835 +#: ../src/guestfs.pod:2818 msgid "C</dev/sda> 500MB" msgstr "C</dev/sda> 500 МБ" #. type: textblock -#: ../src/guestfs.pod:2837 +#: ../src/guestfs.pod:2820 msgid "General block device for testing." msgstr "" #. type: =item -#: ../src/guestfs.pod:2839 +#: ../src/guestfs.pod:2822 msgid "C</dev/sdb> 50MB" msgstr "C</dev/sdb> 50 МБ" #. type: textblock -#: ../src/guestfs.pod:2841 +#: ../src/guestfs.pod:2824 msgid "" "C</dev/sdb1> is an ext2 filesystem used for testing filesystem write " "operations." msgstr "" #. type: =item -#: ../src/guestfs.pod:2844 +#: ../src/guestfs.pod:2827 msgid "C</dev/sdc> 10MB" msgstr "C</dev/sdc> 10 МБ" #. type: textblock -#: ../src/guestfs.pod:2846 +#: ../src/guestfs.pod:2829 msgid "Used in a few tests where two block devices are needed." msgstr "" #. type: =item -#: ../src/guestfs.pod:2848 +#: ../src/guestfs.pod:2831 msgid "C</dev/sdd>" msgstr "C</dev/sdd>" #. type: textblock -#: ../src/guestfs.pod:2850 +#: ../src/guestfs.pod:2833 msgid "ISO with fixed content (see C<images/test.iso>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2854 +#: ../src/guestfs.pod:2837 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 " @@ -46404,7 +47528,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2858 +#: ../src/guestfs.pod:2841 msgid "" "Each test starts with an initial scenario, selected using one of the " "C<Init*> expressions, described in C<generator/generator_types.ml>. These " @@ -46414,7 +47538,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2864 +#: ../src/guestfs.pod:2847 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 " @@ -46424,14 +47548,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2870 +#: ../src/guestfs.pod:2853 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C<make check>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2873 +#: ../src/guestfs.pod:2856 #, no-wrap msgid "" " SKIP_TEST_<CMD>_<NUM>=1\n" @@ -46439,12 +47563,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2875 +#: ../src/guestfs.pod:2858 msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2879 +#: ../src/guestfs.pod:2862 #, no-wrap msgid "" " SKIP_TEST_<CMD>=1\n" @@ -46454,17 +47578,17 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2881 +#: ../src/guestfs.pod:2864 msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2883 +#: ../src/guestfs.pod:2866 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2885 +#: ../src/guestfs.pod:2868 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -46474,29 +47598,29 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2887 +#: ../src/guestfs.pod:2870 msgid "" "See C<tests/c-api/tests.c> for more details of how these environment " "variables work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2890 +#: ../src/guestfs.pod:2873 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2892 +#: ../src/guestfs.pod:2875 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2894 +#: ../src/guestfs.pod:2877 msgid "You can use guestfish to try out new commands." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2896 +#: ../src/guestfs.pod:2879 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 " @@ -46504,12 +47628,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2900 +#: ../src/guestfs.pod:2883 msgid "FORMATTING CODE AND OTHER CONVENTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2902 +#: ../src/guestfs.pod:2885 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -46519,14 +47643,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2908 +#: ../src/guestfs.pod:2891 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:2911 +#: ../src/guestfs.pod:2894 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -46542,7 +47666,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2921 +#: ../src/guestfs.pod:2904 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -46560,12 +47684,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2933 +#: ../src/guestfs.pod:2916 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2936 +#: ../src/guestfs.pod:2919 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -46575,12 +47699,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2938 +#: ../src/guestfs.pod:2921 msgid "Useful targets are:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2940 +#: ../src/guestfs.pod:2923 #, no-wrap msgid "" " make syntax-check # checks the syntax of the C code\n" @@ -46589,43 +47713,43 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2943 +#: ../src/guestfs.pod:2926 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2945 +#: ../src/guestfs.pod:2928 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:2950 +#: ../src/guestfs.pod:2933 msgid "%Q" msgstr "%Q" #. type: textblock -#: ../src/guestfs.pod:2952 +#: ../src/guestfs.pod:2935 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." msgstr "" #. type: =item -#: ../src/guestfs.pod:2955 +#: ../src/guestfs.pod:2938 msgid "%R" msgstr "%R" #. type: textblock -#: ../src/guestfs.pod:2957 +#: ../src/guestfs.pod:2940 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:2964 +#: ../src/guestfs.pod:2947 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -46635,12 +47759,12 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:2966 +#: ../src/guestfs.pod:2949 msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2968 +#: ../src/guestfs.pod:2951 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 " @@ -46649,29 +47773,29 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2974 +#: ../src/guestfs.pod:2957 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2976 +#: ../src/guestfs.pod:2959 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:2980 +#: ../src/guestfs.pod:2963 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2982 +#: ../src/guestfs.pod:2965 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2984 +#: ../src/guestfs.pod:2967 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 " @@ -46680,102 +47804,102 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2990 +#: ../src/guestfs.pod:2973 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2993 +#: ../src/guestfs.pod:2976 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "" #. type: =item -#: ../src/guestfs.pod:2997 +#: ../src/guestfs.pod:2980 msgid "C<align>" msgstr "C<align>" #. type: textblock -#: ../src/guestfs.pod:2999 +#: ../src/guestfs.pod:2982 msgid "L<virt-alignment-scan(1)> command and documentation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3003 +#: ../src/guestfs.pod:2986 msgid "The libguestfs appliance, build scripts and so on." msgstr "" #. type: =item -#: ../src/guestfs.pod:3005 +#: ../src/guestfs.pod:2988 msgid "C<cat>" msgstr "C<cat>" #. type: textblock -#: ../src/guestfs.pod:3007 +#: ../src/guestfs.pod:2990 msgid "" "The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and " "documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3010 +#: ../src/guestfs.pod:2993 msgid "C<contrib>" msgstr "C<contrib>" #. type: textblock -#: ../src/guestfs.pod:3012 +#: ../src/guestfs.pod:2995 msgid "Outside contributions, experimental parts." msgstr "" #. type: =item -#: ../src/guestfs.pod:3014 +#: ../src/guestfs.pod:2997 msgid "C<daemon>" msgstr "C<daemon>" #. type: textblock -#: ../src/guestfs.pod:3016 +#: ../src/guestfs.pod:2999 msgid "" "The daemon that runs inside the libguestfs appliance and carries out actions." msgstr "" #. type: =item -#: ../src/guestfs.pod:3019 +#: ../src/guestfs.pod:3002 msgid "C<df>" msgstr "C<df>" #. type: textblock -#: ../src/guestfs.pod:3021 +#: ../src/guestfs.pod:3004 msgid "L<virt-df(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3023 +#: ../src/guestfs.pod:3006 msgid "C<edit>" msgstr "C<edit>" #. type: textblock -#: ../src/guestfs.pod:3025 +#: ../src/guestfs.pod:3008 msgid "L<virt-edit(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3027 +#: ../src/guestfs.pod:3010 msgid "C<examples>" msgstr "C<examples>" #. type: textblock -#: ../src/guestfs.pod:3029 +#: ../src/guestfs.pod:3012 msgid "C API example code." msgstr "Код прикладів використання програмного інтерфейсу мовою C." #. type: =item -#: ../src/guestfs.pod:3031 +#: ../src/guestfs.pod:3014 msgid "C<fish>" msgstr "C<fish>" #. type: textblock -#: ../src/guestfs.pod:3033 +#: ../src/guestfs.pod:3016 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)>, " @@ -46783,80 +47907,80 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3039 +#: ../src/guestfs.pod:3022 msgid "L<virt-format(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3041 +#: ../src/guestfs.pod:3024 msgid "C<fuse>" msgstr "C<fuse>" #. type: textblock -#: ../src/guestfs.pod:3043 +#: ../src/guestfs.pod:3026 msgid "" "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3045 +#: ../src/guestfs.pod:3028 msgid "C<generator>" msgstr "C<generator>" #. type: textblock -#: ../src/guestfs.pod:3047 +#: ../src/guestfs.pod:3030 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:3050 +#: ../src/guestfs.pod:3033 msgid "C<inspector>" msgstr "C<inspector>" #. type: textblock -#: ../src/guestfs.pod:3052 +#: ../src/guestfs.pod:3035 msgid "L<virt-inspector(1)>, the virtual machine image inspector." msgstr "" #. type: =item -#: ../src/guestfs.pod:3054 +#: ../src/guestfs.pod:3037 msgid "C<logo>" msgstr "C<logo>" #. type: textblock -#: ../src/guestfs.pod:3056 +#: ../src/guestfs.pod:3039 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:3058 +#: ../src/guestfs.pod:3041 msgid "C<m4>" msgstr "C<m4>" #. type: textblock -#: ../src/guestfs.pod:3060 +#: ../src/guestfs.pod:3043 msgid "M4 macros used by autoconf." msgstr "" #. type: =item -#: ../src/guestfs.pod:3062 +#: ../src/guestfs.pod:3045 msgid "C<po>" msgstr "C<po>" #. type: textblock -#: ../src/guestfs.pod:3064 +#: ../src/guestfs.pod:3047 msgid "Translations of simple gettext strings." msgstr "Переклади простих рядків gettext." #. type: =item -#: ../src/guestfs.pod:3066 +#: ../src/guestfs.pod:3049 msgid "C<po-docs>" msgstr "C<po-docs>" #. type: textblock -#: ../src/guestfs.pod:3068 +#: ../src/guestfs.pod:3051 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 " @@ -46864,150 +47988,150 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:3072 +#: ../src/guestfs.pod:3055 msgid "C<rescue>" msgstr "C<rescue>" #. type: textblock -#: ../src/guestfs.pod:3074 +#: ../src/guestfs.pod:3057 msgid "L<virt-rescue(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3076 +#: ../src/guestfs.pod:3059 msgid "C<resize>" msgstr "C<resize>" #. type: textblock -#: ../src/guestfs.pod:3078 +#: ../src/guestfs.pod:3061 msgid "L<virt-resize(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3080 +#: ../src/guestfs.pod:3063 msgid "C<sparsify>" msgstr "C<sparsify>" #. type: textblock -#: ../src/guestfs.pod:3082 +#: ../src/guestfs.pod:3065 msgid "L<virt-sparsify(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3084 +#: ../src/guestfs.pod:3067 msgid "C<src>" msgstr "C<src>" #. type: textblock -#: ../src/guestfs.pod:3086 +#: ../src/guestfs.pod:3069 msgid "Source code to the C library." msgstr "" #. type: =item -#: ../src/guestfs.pod:3088 +#: ../src/guestfs.pod:3071 msgid "C<sysprep>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3090 +#: ../src/guestfs.pod:3073 msgid "L<virt-sysprep(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:3092 +#: ../src/guestfs.pod:3075 msgid "C<test-tool>" msgstr "C<test-tool>" #. type: textblock -#: ../src/guestfs.pod:3094 +#: ../src/guestfs.pod:3077 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:3097 +#: ../src/guestfs.pod:3080 msgid "C<tests>" msgstr "C<tests>" #. type: textblock -#: ../src/guestfs.pod:3099 +#: ../src/guestfs.pod:3082 msgid "Tests." msgstr "Тести." #. type: =item -#: ../src/guestfs.pod:3101 +#: ../src/guestfs.pod:3084 msgid "C<tools>" msgstr "C<tools>" #. type: textblock -#: ../src/guestfs.pod:3103 +#: ../src/guestfs.pod:3086 msgid "" "Command line tools written in Perl (L<virt-win-reg(1)> and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:3105 +#: ../src/guestfs.pod:3088 msgid "C<csharp>" msgstr "C<csharp>" #. type: =item -#: ../src/guestfs.pod:3107 +#: ../src/guestfs.pod:3090 msgid "C<erlang>" msgstr "C<erlang>" #. type: =item -#: ../src/guestfs.pod:3109 +#: ../src/guestfs.pod:3092 msgid "C<gobject>" msgstr "C<gobject>" #. type: =item -#: ../src/guestfs.pod:3111 +#: ../src/guestfs.pod:3094 msgid "C<haskell>" msgstr "C<haskell>" #. type: =item -#: ../src/guestfs.pod:3113 +#: ../src/guestfs.pod:3096 msgid "C<java>" msgstr "C<java>" #. type: =item -#: ../src/guestfs.pod:3115 +#: ../src/guestfs.pod:3098 msgid "C<ocaml>" msgstr "C<ocaml>" #. type: =item -#: ../src/guestfs.pod:3117 +#: ../src/guestfs.pod:3100 msgid "C<php>" msgstr "C<php>" #. type: =item -#: ../src/guestfs.pod:3119 +#: ../src/guestfs.pod:3102 msgid "C<perl>" msgstr "C<perl>" #. type: =item -#: ../src/guestfs.pod:3121 +#: ../src/guestfs.pod:3104 msgid "C<python>" msgstr "C<python>" #. type: =item -#: ../src/guestfs.pod:3123 +#: ../src/guestfs.pod:3106 msgid "C<ruby>" msgstr "C<ruby>" #. type: textblock -#: ../src/guestfs.pod:3125 +#: ../src/guestfs.pod:3108 msgid "Language bindings." msgstr "Прив’язки до мов програмування." #. type: =head2 -#: ../src/guestfs.pod:3129 +#: ../src/guestfs.pod:3112 msgid "MAKING A STABLE RELEASE" msgstr "СТВОРЕННЯ СТАБІЛЬНОГО ВИПУСКУ" #. type: textblock -#: ../src/guestfs.pod:3131 +#: ../src/guestfs.pod:3114 msgid "" "When we make a stable release, there are several steps documented here. See " "L</LIBGUESTFS VERSION NUMBERS> for general information about the stable " @@ -47015,33 +48139,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3139 +#: ../src/guestfs.pod:3122 msgid "" "Check C<make && make check> works on at least Fedora, Debian and Ubuntu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3144 +#: ../src/guestfs.pod:3127 msgid "Finalize RELEASE-NOTES." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3148 +#: ../src/guestfs.pod:3131 msgid "Update ROADMAP." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3152 +#: ../src/guestfs.pod:3135 msgid "Run C<src/api-support/update-from-tarballs.sh>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3156 +#: ../src/guestfs.pod:3139 msgid "Push and pull from Transifex." msgstr "Передавання даних на Transifex та отримання даних з Transifex." #. type: verbatim -#: ../src/guestfs.pod:3160 +#: ../src/guestfs.pod:3143 #, no-wrap msgid "" " tx push -s\n" @@ -47051,13 +48175,13 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3162 +#: ../src/guestfs.pod:3145 msgid "to push the latest POT files to Transifex. Then run:" msgstr "" "щоб надіслати найсвіжіші файли POT на Transifex. Потім віддайте команду:" #. type: verbatim -#: ../src/guestfs.pod:3164 +#: ../src/guestfs.pod:3147 #, no-wrap msgid "" " ./tx-pull.sh\n" @@ -47067,24 +48191,24 @@ msgstr "" "\n" #. type: textblock -#: ../src/guestfs.pod:3166 +#: ../src/guestfs.pod:3149 msgid "which is a wrapper to pull the latest translated C<*.po> files." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3170 +#: ../src/guestfs.pod:3153 msgid "" "Create new stable and development directories under L<http://libguestfs.org/" "download>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3175 +#: ../src/guestfs.pod:3158 msgid "Create the branch in git:" msgstr "Створення гілки у git:" #. type: verbatim -#: ../src/guestfs.pod:3177 +#: ../src/guestfs.pod:3160 #, no-wrap msgid "" " git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n" @@ -47100,17 +48224,17 @@ msgstr "" "\n" #. type: =head1 -#: ../src/guestfs.pod:3184 +#: ../src/guestfs.pod:3167 msgid "LIMITS" msgstr "ОБМЕЖЕННЯ" #. type: =head2 -#: ../src/guestfs.pod:3186 +#: ../src/guestfs.pod:3169 msgid "PROTOCOL LIMITS" msgstr "ОБМЕЖЕННЯ ПРОТОКОЛУ" #. type: textblock -#: ../src/guestfs.pod:3188 +#: ../src/guestfs.pod:3171 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 " @@ -47121,7 +48245,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3196 +#: ../src/guestfs.pod:3179 msgid "" "A simple call such as L</guestfs_cat> returns its result (the file data) in " "a simple string. Because this string is at some point internally encoded as " @@ -47130,7 +48254,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3202 +#: ../src/guestfs.pod:3185 msgid "" "In order to transfer large files into and out of the guest filesystem, you " "need to use particular calls that support this. The sections L</UPLOADING> " @@ -47138,24 +48262,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3206 +#: ../src/guestfs.pod:3189 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L<guestmount(1)>)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3209 +#: ../src/guestfs.pod:3192 msgid "MAXIMUM NUMBER OF DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3211 +#: ../src/guestfs.pod:3194 msgid "When using virtio disks (the default) the current limit is B<25> disks." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3214 +#: ../src/guestfs.pod:3197 msgid "" "Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 " "slots. However febootstrap only understands disks with names C</dev/vda> " @@ -47164,14 +48288,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3219 +#: ../src/guestfs.pod:3202 msgid "" "We are working to substantially raise this limit in future versions but it " "requires complex changes to qemu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3222 +#: ../src/guestfs.pod:3205 msgid "" "In future versions of libguestfs it should also be possible to \"hot plug\" " "disks (add and remove disks after calling L</guestfs_launch>). This also " @@ -47179,41 +48303,41 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3226 +#: ../src/guestfs.pod:3209 msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3228 +#: ../src/guestfs.pod:3211 msgid "Virtio limits the maximum number of partitions per disk to B<15>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3230 +#: ../src/guestfs.pod:3213 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:3233 +#: ../src/guestfs.pod:3216 msgid "" "If you attach a disk with more than 15 partitions, the extra partitions are " "ignored by libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3236 +#: ../src/guestfs.pod:3219 msgid "MAXIMUM SIZE OF A DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3238 +#: ../src/guestfs.pod:3221 msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3240 +#: ../src/guestfs.pod:3223 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 " @@ -47221,7 +48345,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3244 +#: ../src/guestfs.pod:3227 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 " @@ -47231,19 +48355,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3250 +#: ../src/guestfs.pod:3233 msgid "" "For the hugest disk image files, we recommend using XFS on the host for " "storage." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3253 +#: ../src/guestfs.pod:3236 msgid "MAXIMUM SIZE OF A PARTITION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3255 +#: ../src/guestfs.pod:3238 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 " @@ -47251,7 +48375,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3259 +#: ../src/guestfs.pod:3242 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 " @@ -47259,12 +48383,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3264 +#: ../src/guestfs.pod:3247 msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3266 +#: ../src/guestfs.pod:3249 msgid "" "This depends on the filesystem type. libguestfs itself does not impose any " "known limit. Consult Wikipedia or the filesystem documentation to find out " @@ -47272,12 +48396,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3270 +#: ../src/guestfs.pod:3253 msgid "MAXIMUM UPLOAD AND DOWNLOAD" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3272 +#: ../src/guestfs.pod:3255 msgid "" "The API functions L</guestfs_upload>, L</guestfs_download>, L</" "guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized " @@ -47285,12 +48409,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3276 +#: ../src/guestfs.pod:3259 msgid "INSPECTION LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3278 +#: ../src/guestfs.pod:3261 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 " @@ -47300,33 +48424,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3304 +#: ../src/guestfs.pod:3287 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:3316 +#: ../src/guestfs.pod:3299 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:3325 +#: ../src/guestfs.pod:3308 msgid "See also L</QEMU WRAPPERS> above." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3329 +#: ../src/guestfs.pod:3312 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:3347 +#: ../src/guestfs.pod:3330 #, fuzzy #| msgid "" #| "L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, " @@ -47349,10 +48473,10 @@ msgid "" "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-performance(1)>, L<guestfs-testing(1)>, L<libguestfs-test-" -"tool(1)>, L<libguestfs-make-fixed-appliance(1)>, L<febootstrap(1)>, " -"L<febootstrap-supermin-helper(8)>, L<qemu(1)>, L<hivex(3)>, L<stap(1)>, " -"L<http://libguestfs.org/>." +"(1)>, L<guestfs-faq(1)>, L<guestfs-performance(1)>, L<guestfs-testing(1)>, " +"L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-appliance(1)>, " +"L<febootstrap(1)>, L<febootstrap-supermin-helper(8)>, L<qemu(1)>, L<hivex(3)" +">, L<stap(1)>, L<http://libguestfs.org/>." msgstr "" "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)>, " @@ -47366,27 +48490,27 @@ msgstr "" "supermin-helper(8)>, L<hivex(3)>, L<stap(1)>, L<http://libguestfs.org/>." #. type: textblock -#: ../src/guestfs.pod:3388 +#: ../src/guestfs.pod:3372 msgid "" "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm" "(8)>, L<disktype(1)>." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3395 ../tools/virt-make-fs.pl:574 +#: ../src/guestfs.pod:3379 ../tools/virt-make-fs.pl:574 #: ../tools/virt-win-reg.pl:772 msgid "BUGS" msgstr "ВАДИ" #. type: textblock -#: ../src/guestfs.pod:3397 +#: ../src/guestfs.pod:3381 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" "Щоб переглянути список відомих вад у libguestfs, скористайтеся таким " "посиланням:" #. type: textblock -#: ../src/guestfs.pod:3399 +#: ../src/guestfs.pod:3383 msgid "" "L<https://bugzilla.redhat.com/buglist.cgi?" "component=libguestfs&product=Virtualization+Tools>" @@ -47395,12 +48519,12 @@ msgstr "" "component=libguestfs&product=Virtualization+Tools>" #. type: textblock -#: ../src/guestfs.pod:3401 +#: ../src/guestfs.pod:3385 msgid "To report a new bug against libguestfs use this link:" msgstr "Для звітування щодо вад у libguestfs скористайтеся цим посиланням:" #. type: textblock -#: ../src/guestfs.pod:3403 +#: ../src/guestfs.pod:3387 msgid "" "L<https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools>" @@ -47409,27 +48533,27 @@ msgstr "" "component=libguestfs&product=Virtualization+Tools>" #. type: textblock -#: ../src/guestfs.pod:3405 +#: ../src/guestfs.pod:3389 msgid "When reporting a bug, please check:" msgstr "Під час створення повідомлення щодо вади вам слід переконатися:" #. type: textblock -#: ../src/guestfs.pod:3411 +#: ../src/guestfs.pod:3395 msgid "That the bug hasn't been reported already." msgstr "Що про ваду вже не повідомлено кимось іншим." #. type: textblock -#: ../src/guestfs.pod:3415 +#: ../src/guestfs.pod:3399 msgid "That you are testing a recent version." msgstr "Що ви користуєтеся найсвіжішою версією." #. type: textblock -#: ../src/guestfs.pod:3419 +#: ../src/guestfs.pod:3403 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "Що ви точно описали ваду та способи її відтворення." #. type: textblock -#: ../src/guestfs.pod:3423 +#: ../src/guestfs.pod:3407 msgid "" "Run libguestfs-test-tool and paste the B<complete, unedited> output into the " "bug report." diff --git a/po/libguestfs.pot b/po/libguestfs.pot index d58cde69..747f45b2 100644 --- a/po/libguestfs.pot +++ b/po/libguestfs.pot @@ -6,10 +6,10 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: libguestfs 1.17.37\n" +"Project-Id-Version: libguestfs 1.17.38\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2012-05-01 09:42+0100\n" +"POT-Creation-Date: 2012-05-01 14:06+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" |