From 71290b4f4702f0f7c7b35fce790274d4893e71c2 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 18 Nov 2010 12:59:23 +0000 Subject: [PATCH] Version 1.6.2. --- BUGS | 38 +- configure.ac | 2 +- po-docs/ja.po | 2434 ++++++++++++++++++++++++------------------- po-docs/libguestfs-docs.pot | 2397 ++++++++++++++++++++++++------------------ po/es.po | 111 +- po/gu.po | 111 +- po/hi.po | 111 +- po/kn.po | 111 +- po/libguestfs.pot | 112 +- po/ml.po | 111 +- po/mr.po | 111 +- po/nl.po | 110 +- po/or.po | 111 +- po/pa.po | 111 +- po/pl.po | 111 +- po/ta.po | 111 +- po/te.po | 111 +- 17 files changed, 3706 insertions(+), 2608 deletions(-) diff --git a/BUGS b/BUGS index ffdb019..4444f10 100644 --- a/BUGS +++ b/BUGS @@ -1,5 +1,5 @@ NOTE: This file is automatically generated from "update-bugs". -Last updated: 2010-11-05 15:21:17 +Last updated: 2010-11-18 12:58:43 This contains a local list of the bugs that are open against libguestfs. Bugs are tracked in the Red Hat Bugzilla database @@ -303,45 +303,15 @@ You can help by testing the fixes. 646822 MODIFIED https://bugzilla.redhat.com/show_bug.cgi?id=646822 libguestfs trace mode should not print long binary strings +652796 MODIFIED https://bugzilla.redhat.com/show_bug.cgi?id=652796 + ruby bindings not installed by 'make install', hence omitted from the binary distribution + -------------------------------------------------- These bugs are in the VERIFIED state. -613562 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=613562 - virt-v2v | rhel6 v2v doesn't support install the guest driver by rhn - -617165 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=617165 - mount operation failed and hung on some images which running in read-only mode - 579664 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=579664 guestfish doesn't report error when there is not enough space for image allocation -598771 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=598771 - guestfish 'help' command should indicate error in exit status with an unknown command - -598807 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=598807 - add_cdrom does not work in RHEL 6 - -600148 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=600148 - mkfs-b does not support vfat/ntfs - -604552 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=604552 - libguestfs has extra characters after %{?dist} - -609990 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=609990 - guestfish: using -m option in conjunction with --listen option causes appliance to die - -615870 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=615870 - libguestfs-find-requires.sh is not autogenerating dependencies for libguestfs - -616438 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=616438 - libguestfs missing runtime Requires: binutils - -616753 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=616753 - libguestfs will use the wrong augeas lens for /etc/modules.conf - -619826 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=619826 - [RFE] Need a way to determine if a particular block device is a logical volume - 636454 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=636454 [RFE] Need a way to determine if a particular block device is a logical volume diff --git a/configure.ac b/configure.ac index e5f1076..b8592ee 100644 --- a/configure.ac +++ b/configure.ac @@ -18,7 +18,7 @@ # major/minor/release must be numbers m4_define([libguestfs_major], [1]) m4_define([libguestfs_minor], [6]) -m4_define([libguestfs_release], [1]) +m4_define([libguestfs_release], [2]) # extra can be any string m4_define([libguestfs_extra], []) diff --git a/po-docs/ja.po b/po-docs/ja.po index 5e13ad9..2cc3427 100644 --- a/po-docs/ja.po +++ b/po-docs/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2010-11-05 15:21+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-09-02 14:46+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -778,14 +778,16 @@ msgstr "" # type: =item #: ../src/guestfs.pod:360 ../src/guestfs.pod:365 ../src/guestfs.pod:370 #: ../src/guestfs.pod:374 ../src/guestfs.pod:379 ../src/guestfs.pod:383 -#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:1186 -#: ../src/guestfs.pod:1191 ../src/guestfs.pod:1195 ../src/guestfs.pod:1411 -#: ../src/guestfs.pod:1416 ../src/guestfs.pod:1420 ../src/guestfs.pod:1522 -#: ../src/guestfs.pod:1526 ../src/guestfs.pod:1530 ../src/guestfs.pod:1535 -#: ../src/guestfs.pod:1543 ../src/guestfs.pod:1562 ../src/guestfs.pod:1570 -#: ../src/guestfs.pod:1800 ../src/guestfs.pod:1806 ../src/guestfs.pod:1811 -#: ../src/guestfs.pod:1817 ../src/guestfs.pod:1924 ../src/guestfs.pod:1928 -#: ../src/guestfs.pod:1932 ../src/guestfs.pod:1936 +#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:966 +#: ../src/guestfs.pod:970 ../src/guestfs.pod:974 ../src/guestfs.pod:979 +#: ../src/guestfs.pod:987 ../src/guestfs.pod:1006 ../src/guestfs.pod:1014 +#: ../src/guestfs.pod:1036 ../src/guestfs.pod:1040 ../src/guestfs.pod:1044 +#: ../src/guestfs.pod:1048 ../src/guestfs.pod:1052 ../src/guestfs.pod:1056 +#: ../src/guestfs.pod:1481 ../src/guestfs.pod:1486 ../src/guestfs.pod:1490 +#: ../src/guestfs.pod:1600 ../src/guestfs.pod:1605 ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1953 ../src/guestfs.pod:1959 ../src/guestfs.pod:1964 +#: ../src/guestfs.pod:1970 ../src/guestfs.pod:2077 ../src/guestfs.pod:2081 +#: ../src/guestfs.pod:2085 ../src/guestfs.pod:2089 #: ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22 #: ../src/guestfs-actions.pod:461 ../src/guestfs-actions.pod:469 #: ../src/guestfs-actions.pod:476 ../src/guestfs-actions.pod:483 @@ -797,9 +799,9 @@ msgstr "" #: ../src/guestfs-actions.pod:1596 ../src/guestfs-actions.pod:1600 #: ../src/guestfs-actions.pod:1605 ../src/guestfs-actions.pod:1610 #: ../src/guestfs-actions.pod:1665 ../src/guestfs-actions.pod:1669 -#: ../src/guestfs-actions.pod:1674 ../fish/guestfish.pod:364 -#: ../fish/guestfish.pod:368 ../fish/guestfish.pod:372 -#: ../fish/guestfish.pod:376 ../fish/guestfish-actions.pod:13 +#: ../src/guestfs-actions.pod:1674 ../fish/guestfish.pod:371 +#: ../fish/guestfish.pod:375 ../fish/guestfish.pod:379 +#: ../fish/guestfish.pod:383 ../fish/guestfish-actions.pod:13 #: ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:339 #: ../fish/guestfish-actions.pod:347 ../fish/guestfish-actions.pod:354 #: ../fish/guestfish-actions.pod:361 ../fish/guestfish-actions.pod:1056 @@ -879,30 +881,31 @@ msgid "" "A secure alternative is to use libguestfs to install a \"firstboot\" script " "(a script which runs when the guest next boots normally), and to have this " "script run the commands you want in the normal context of the running guest, " -"network security and so on." +"network security and so on. For information about other security issues, " +"see L." msgstr "" # type: textblock -#: ../src/guestfs.pod:411 +#: ../src/guestfs.pod:412 msgid "" "The two main API calls to run commands are L and L (there are also variations)." msgstr "" # type: textblock -#: ../src/guestfs.pod:414 +#: ../src/guestfs.pod:415 msgid "" "The difference is that L runs commands using the shell, so any " "shell globs, redirections, etc will work." msgstr "" # type: =head2 -#: ../src/guestfs.pod:417 +#: ../src/guestfs.pod:418 msgid "CONFIGURATION FILES" msgstr "" # type: textblock -#: ../src/guestfs.pod:419 +#: ../src/guestfs.pod:420 msgid "" "To read and write configuration files in Linux guest filesystems, we " "strongly recommend using Augeas. For example, Augeas understands how to " @@ -911,7 +914,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:424 +#: ../src/guestfs.pod:425 msgid "" "The main Augeas calls are bound through the C APIs. We don't " "document Augeas itself here because there is excellent documentation on the " @@ -919,7 +922,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:428 +#: ../src/guestfs.pod:429 msgid "" "If you don't want to use Augeas (you fool!) then try calling L to get the file as a list of lines which you can iterate " @@ -927,29 +930,29 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:432 +#: ../src/guestfs.pod:433 msgid "SELINUX" msgstr "" # type: textblock -#: ../src/guestfs.pod:434 +#: ../src/guestfs.pod:435 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: =item -#: ../src/guestfs.pod:440 +#: ../src/guestfs.pod:441 ../src/guestfs.pod:1151 msgid "1." msgstr "" # type: textblock -#: ../src/guestfs.pod:442 +#: ../src/guestfs.pod:443 msgid "Before launching, do:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:444 +#: ../src/guestfs.pod:445 #, no-wrap msgid "" " guestfs_set_selinux (g, 1);\n" @@ -957,19 +960,19 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:446 +#: ../src/guestfs.pod:447 ../src/guestfs.pod:1155 msgid "2." msgstr "" # type: textblock -#: ../src/guestfs.pod:448 +#: ../src/guestfs.pod:449 msgid "" "After mounting the guest's filesystem(s), load the policy. This is best " "done by running the L command in the guest itself:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:452 +#: ../src/guestfs.pod:453 #, no-wrap msgid "" " guestfs_sh (g, \"/usr/sbin/load_policy\");\n" @@ -977,26 +980,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:454 +#: ../src/guestfs.pod:455 msgid "" "(Older versions of C require you to specify the name of the " "policy file)." msgstr "" # type: =item -#: ../src/guestfs.pod:457 +#: ../src/guestfs.pod:458 msgid "3." msgstr "" # type: textblock -#: ../src/guestfs.pod:459 +#: ../src/guestfs.pod:460 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:463 +#: ../src/guestfs.pod:464 #, no-wrap msgid "" " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n" @@ -1004,24 +1007,24 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:467 +#: ../src/guestfs.pod:468 msgid "This will work for running commands and editing existing files." msgstr "" # type: textblock -#: ../src/guestfs.pod:469 +#: ../src/guestfs.pod:470 msgid "" "When new files are created, you may need to label them explicitly, for " "example by running the external command C." msgstr "" # type: =head2 -#: ../src/guestfs.pod:473 +#: ../src/guestfs.pod:474 msgid "UMASK" msgstr "" # type: textblock -#: ../src/guestfs.pod:475 +#: ../src/guestfs.pod:476 msgid "" "Certain calls are affected by the current file mode creation mask (the " "\"umask\"). In particular ones which create files or directories, such as " @@ -1031,14 +1034,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:481 +#: ../src/guestfs.pod:482 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:484 +#: ../src/guestfs.pod:485 msgid "" "There are two ways to avoid being affected by umask. Either set umask to 0 " "(call C early after launching). Or call L." msgstr "" # type: =head1 -#: ../src/guestfs.pod:490 ../fish/guestfish.pod:630 +#: ../src/guestfs.pod:491 ../fish/guestfish.pod:664 msgid "ENCRYPTED DISKS" msgstr "" # type: textblock -#: ../src/guestfs.pod:492 +#: ../src/guestfs.pod:493 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) " @@ -1065,21 +1068,21 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:498 +#: ../src/guestfs.pod:499 msgid "" "Use L to identify LUKS-encrypted block devices (it " "returns the string C)." msgstr "" # type: textblock -#: ../src/guestfs.pod:501 +#: ../src/guestfs.pod:502 msgid "" "Then open these devices by calling L. Obviously you " "will require the passphrase!" msgstr "" # type: textblock -#: ../src/guestfs.pod:504 +#: ../src/guestfs.pod:505 msgid "" "Opening a LUKS device creates a new device mapper device called C (where C is the string you supply to L followed by L. The logical volume" @@ -1096,7 +1099,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:514 +#: ../src/guestfs.pod:515 msgid "" "Use the reverse process to close a LUKS device. Unmount any logical volumes " "on it, deactivate the volume groups by caling C in the usual way." msgstr "" # type: textblock -#: ../src/guestfs.pod:532 +#: ../src/guestfs.pod:533 msgid "" "Then call L. This function uses other libguestfs calls " "and certain heuristics, and returns a list of operating systems that were " @@ -1141,7 +1144,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:541 +#: ../src/guestfs.pod:542 msgid "" "For each root, you can then call various C functions " "to get additional details about that operating system. For example, call L /dev/sda1\n" @@ -1171,21 +1174,21 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:558 +#: ../src/guestfs.pod:559 msgid "" "The caller can then make calls to L to mount the " "filesystems as suggested." msgstr "" # type: textblock -#: ../src/guestfs.pod:561 +#: ../src/guestfs.pod:562 msgid "" "Be careful to mount filesystems in the right order (eg. C before C). Sorting the keys of the hash by length, shortest first, should work." msgstr "" # type: textblock -#: ../src/guestfs.pod:565 +#: ../src/guestfs.pod:566 msgid "" "Inspection currently only works for some common operating systems. " "Contributors are welcome to send patches for other operating systems that we " @@ -1193,7 +1196,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:569 +#: ../src/guestfs.pod:570 msgid "" "Encrypted disks must be opened before inspection. See L " "for more details. The L function just ignores any " @@ -1201,7 +1204,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:573 +#: ../src/guestfs.pod:574 msgid "" "A note on the implementation: The call L performs " "inspection and caches the results in the guest handle. Subsequent calls to " @@ -1211,19 +1214,19 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:580 +#: ../src/guestfs.pod:581 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:582 +#: ../src/guestfs.pod:583 msgid "" "Libguestfs can mount NTFS partitions. It does this using the L driver." msgstr "" # type: textblock -#: ../src/guestfs.pod:585 +#: ../src/guestfs.pod:586 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 " @@ -1233,7 +1236,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:591 +#: ../src/guestfs.pod:592 msgid "" "Drive letter mappings are outside the scope of libguestfs. You have to use " "libguestfs to read the appropriate Windows Registry and configuration files, " @@ -1242,21 +1245,21 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:596 +#: ../src/guestfs.pod:597 msgid "" "Replacing backslash characters with forward slash characters is also outside " "the scope of libguestfs, but something that you can easily do." msgstr "" # type: textblock -#: ../src/guestfs.pod:599 +#: ../src/guestfs.pod:600 msgid "" "Where we can help is in resolving the case insensitivity of paths. For " "this, call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:602 +#: ../src/guestfs.pod:603 msgid "" "Libguestfs also provides some help for decoding Windows Registry \"hive\" " "files, through the library C which is part of the libguestfs project " @@ -1267,19 +1270,19 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:610 +#: ../src/guestfs.pod:611 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" msgstr "" # type: textblock -#: ../src/guestfs.pod:612 +#: ../src/guestfs.pod:613 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:615 +#: ../src/guestfs.pod:616 msgid "" "The API is broadly identical in all supported languages. This means that " "the C call C is C<$g-Emount($path)> in Perl, C" msgstr "" # type: textblock -#: ../src/guestfs.pod:632 +#: ../src/guestfs.pod:633 msgid "" "You can use the I 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:636 +#: ../src/guestfs.pod:637 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:638 +#: ../src/guestfs.pod:639 msgid "" "The C# bindings are highly experimental. Please read the warnings at the " "top of C." msgstr "" # type: =item -#: ../src/guestfs.pod:641 +#: ../src/guestfs.pod:642 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:643 +#: ../src/guestfs.pod:644 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 " @@ -1340,66 +1343,66 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:647 +#: ../src/guestfs.pod:648 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:649 +#: ../src/guestfs.pod:650 msgid "" "Full documentation is contained in the Javadoc which is distributed with " "libguestfs." msgstr "" # type: =item -#: ../src/guestfs.pod:652 +#: ../src/guestfs.pod:653 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:654 +#: ../src/guestfs.pod:655 msgid "For documentation see the file C." msgstr "" # type: =item -#: ../src/guestfs.pod:656 +#: ../src/guestfs.pod:657 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:658 +#: ../src/guestfs.pod:659 msgid "For documentation see L." msgstr "" # type: =item -#: ../src/guestfs.pod:660 +#: ../src/guestfs.pod:661 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:662 +#: ../src/guestfs.pod:663 msgid "" "For documentation see C supplied with libguestfs sources or in " "the php-libguestfs package for your distribution." msgstr "" # type: textblock -#: ../src/guestfs.pod:665 +#: ../src/guestfs.pod:666 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "" # type: =item -#: ../src/guestfs.pod:667 +#: ../src/guestfs.pod:668 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:669 +#: ../src/guestfs.pod:670 msgid "For documentation do:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:671 +#: ../src/guestfs.pod:672 #, no-wrap msgid "" " $ python\n" @@ -1409,34 +1412,34 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:675 +#: ../src/guestfs.pod:676 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:677 +#: ../src/guestfs.pod:678 msgid "" "Use the Guestfs module. There is no Ruby-specific documentation, but you " "can find examples written in Ruby in the libguestfs source." msgstr "" # type: =item -#: ../src/guestfs.pod:680 +#: ../src/guestfs.pod:681 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:682 +#: ../src/guestfs.pod:683 msgid "For documentation see L." msgstr "" # type: =head2 -#: ../src/guestfs.pod:686 +#: ../src/guestfs.pod:687 msgid "LIBGUESTFS GOTCHAS" msgstr "" # type: textblock -#: ../src/guestfs.pod:688 +#: ../src/guestfs.pod:689 msgid "" "L: \"A feature of a " "system [...] that works in the way it is documented but is counterintuitive " @@ -1444,7 +1447,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:692 +#: ../src/guestfs.pod:693 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -1453,12 +1456,12 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:700 +#: ../src/guestfs.pod:701 msgid "Autosync / forgetting to sync." msgstr "" # type: textblock -#: ../src/guestfs.pod:702 +#: ../src/guestfs.pod:703 msgid "" "When modifying a filesystem from C or another language, you B unmount " "all filesystems and call L explicitly before you close the " @@ -1466,7 +1469,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:706 +#: ../src/guestfs.pod:707 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -1474,14 +1477,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:708 +#: ../src/guestfs.pod:709 msgid "" "to have the unmount/sync done automatically for you when the handle 'g' is " "closed. (This feature is called \"autosync\", L q.v.)" msgstr "" # type: textblock -#: ../src/guestfs.pod:712 +#: ../src/guestfs.pod:713 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 " @@ -1489,7 +1492,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:716 +#: ../src/guestfs.pod:717 msgid "" "Note that in L autosync is the default. So quick and dirty " "guestfish scripts that forget to sync will work just fine, which can make " @@ -1497,19 +1500,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:720 +#: ../src/guestfs.pod:721 msgid "" "Update: Autosync is enabled by default for all API users starting from " "libguestfs 1.5.24." msgstr "" # type: =item -#: ../src/guestfs.pod:723 +#: ../src/guestfs.pod:724 msgid "Mount option C<-o sync> should not be the default." msgstr "" # type: textblock -#: ../src/guestfs.pod:725 +#: ../src/guestfs.pod:726 msgid "" "If you use L, then C<-o sync,noatime> are added implicitly. " "However C<-o sync> does not add any reliability benefit, but does have a " @@ -1517,31 +1520,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:729 +#: ../src/guestfs.pod:730 msgid "" "The work around is to use L and set the mount " "options that you actually want to use." msgstr "" # type: =item -#: ../src/guestfs.pod:732 +#: ../src/guestfs.pod:733 msgid "Read-only should be the default." msgstr "" # type: textblock -#: ../src/guestfs.pod:734 +#: ../src/guestfs.pod:735 msgid "" "In L, 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:737 +#: ../src/guestfs.pod:738 msgid "This would reduce the potential to corrupt live VM images." msgstr "" # type: textblock -#: ../src/guestfs.pod:739 +#: ../src/guestfs.pod:740 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 doesn't do what people expect (open C for " "examination). It tries to run a guestfish command C which doesn't " @@ -1564,12 +1567,12 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:752 +#: ../src/guestfs.pod:753 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" # type: textblock -#: ../src/guestfs.pod:754 +#: ../src/guestfs.pod:755 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 " @@ -1579,12 +1582,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:761 +#: ../src/guestfs.pod:762 msgid "The most common is L. The guestfish command:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:763 +#: ../src/guestfs.pod:764 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -1592,7 +1595,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:765 +#: ../src/guestfs.pod:766 msgid "" "does not do what you might expect. Instead because L is " "already expecting megabytes, this tries to create a 100 I (100 " @@ -1601,19 +1604,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:770 +#: ../src/guestfs.pod:771 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:773 +#: ../src/guestfs.pod:774 msgid "Library should return errno with error messages." msgstr "" # type: textblock -#: ../src/guestfs.pod:775 +#: ../src/guestfs.pod:776 msgid "" "It would be a nice-to-have to be able to get the original value of 'errno' " "from inside the appliance along error paths (where set). Currently " @@ -1622,19 +1625,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:781 +#: ../src/guestfs.pod:782 msgid "" "In libguestfs 1.5.4, the protocol was changed so that the Linux errno is " "sent back from the daemon." msgstr "" # type: =item -#: ../src/guestfs.pod:784 +#: ../src/guestfs.pod:785 msgid "Ambiguity between devices and paths" msgstr "" # type: textblock -#: ../src/guestfs.pod:786 +#: ../src/guestfs.pod:787 msgid "" "There is a subtle ambiguity in the API between a device name (eg. C) and a similar pathname. A file might just happen to be called " @@ -1642,7 +1645,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:791 +#: ../src/guestfs.pod:792 msgid "" "In the current API we usually resolve this ambiguity by having two separate " "calls, for example L and L. " @@ -1651,7 +1654,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:797 +#: ../src/guestfs.pod:798 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 " @@ -1661,7 +1664,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:803 +#: ../src/guestfs.pod:804 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -1669,12 +1672,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:805 +#: ../src/guestfs.pod:806 msgid "which would allow you to pass arguments like:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:807 +#: ../src/guestfs.pod:808 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -1685,19 +1688,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:812 +#: ../src/guestfs.pod:813 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:817 +#: ../src/guestfs.pod:818 msgid "PROTOCOL LIMITS" msgstr "" # type: textblock -#: ../src/guestfs.pod:819 +#: ../src/guestfs.pod:820 msgid "" "Internally libguestfs uses a message-based protocol to pass API calls and " "their responses to and from a small \"appliance\" (see L for " @@ -1708,7 +1711,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:827 +#: ../src/guestfs.pod:828 msgid "" "A simple call such as L returns its result (the file data) in " "a simple string. Because this string is at some point internally encoded as " @@ -1717,7 +1720,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:833 +#: ../src/guestfs.pod:834 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 " @@ -1725,26 +1728,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:837 +#: ../src/guestfs.pod:838 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L)." msgstr "" # type: =head2 -#: ../src/guestfs.pod:840 +#: ../src/guestfs.pod:841 msgid "KEYS AND PASSPHRASES" msgstr "" # type: textblock -#: ../src/guestfs.pod:842 +#: ../src/guestfs.pod:843 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" # type: textblock -#: ../src/guestfs.pod:845 +#: ../src/guestfs.pod:846 msgid "" "In the future we would hope to change the libguestfs implementation so that " "keys are L-ed into physical RAM, and thus can never end up in " @@ -1753,7 +1756,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:850 +#: ../src/guestfs.pod:851 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, " @@ -1761,17 +1764,548 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:855 +#: ../src/guestfs.pod:856 +msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:858 +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:861 +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 " +"calls on the same handle at the same time." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:865 +msgid "" +"See the graphical program guestfs-browser for one possible architecture for " +"multithreaded programs using libvirt and libguestfs." +msgstr "" + +# type: =head1 +#: ../src/guestfs.pod:868 +msgid "PATH" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:870 +msgid "" +"Libguestfs needs a kernel and initrd.img, which it finds by looking along an " +"internal path." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:873 +msgid "" +"By default it looks for these in the directory C<$libdir/guestfs> (eg. C or C)." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:876 +msgid "" +"Use L or set the environment variable L " +"to change the directories that libguestfs will search in. The value is a " +"colon-separated list of paths. The current directory is I searched " +"unless the path contains an empty element or C<.>. For example " +"C would search the current directory and " +"then C." +msgstr "" + +# type: =head1 +#: ../src/guestfs.pod:883 +msgid "QEMU WRAPPERS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:885 +msgid "" +"If you want to compile your own qemu, run qemu from a non-standard location, " +"or pass extra arguments to qemu, then you can write a shell-script wrapper " +"around qemu." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:889 +msgid "" +"There is one important rule to remember: you I> as the " +"last command in the shell script (so that qemu replaces the shell and " +"becomes the direct child of the libguestfs-using program). If you don't do " +"this, then the qemu process won't be cleaned up correctly." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:894 +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:897 +#, no-wrap +msgid "" +" #!/bin/sh -\n" +" qemudir=/home/rjones/d/qemu\n" +" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios \"$@\"\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:901 +msgid "" +"Save this script as C (or wherever), C, and " +"then use it by setting the LIBGUESTFS_QEMU environment variable. For " +"example:" +msgstr "" + +# type: verbatim +#: ../src/guestfs.pod:905 +#, no-wrap +msgid "" +" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:907 +msgid "" +"Note that libguestfs also calls qemu with the -help and -version options in " +"order to determine features." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:910 +msgid "ABI GUARANTEE" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:912 +msgid "" +"We guarantee the libguestfs ABI (binary interface), for public, high-level " +"actions as outlined in this section. Although we will deprecate some " +"actions, for example if they get replaced by newer calls, we will keep the " +"old actions forever. This allows you the developer to program in confidence " +"against the libguestfs API." +msgstr "" + +# type: =head1 +#: ../src/guestfs.pod:918 +msgid "BLOCK DEVICE NAMING" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:920 +msgid "" +"In the kernel there is now quite a profusion of schemata for naming block " +"devices (in this context, by I I mean a physical or virtual " +"hard drive). The original Linux IDE driver used names starting with C. SCSI devices have historically used a different naming scheme, C. When the Linux kernel I driver became a popular replacement " +"for the old IDE driver (particularly for SATA devices) those devices also " +"used the C scheme. Additionally we now have virtual machines with " +"paravirtualized drivers. This has created several different naming systems, " +"such as C for virtio disks and C for Xen PV disks." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:932 +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 " +"based on a variety of Linux kernels." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:936 +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 " +"make available over the internet could fail if the naming scheme changes." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:941 +msgid "" +"Therefore libguestfs defines C as the I. " +"Internally C names are translated, if necessary, to other names as " +"required. For example, under RHEL 5 which uses the C scheme, any " +"device parameter C is translated to C transparently." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:947 +msgid "" +"Note that this I applies to parameters. The L, " +"L and similar calls return the true names of the " +"devices and partitions as known to the appliance." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:952 +msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:954 +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 " +"L to add a mixture of virtio and IDE devices to the qemu-" +"based appliance, so have a mixture of C and C devices." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:960 +msgid "" +"The algorithm is applied only to I which are known to be either " +"device or partition names. Return values from functions such as L are never changed." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:968 +msgid "Is the string a parameter which is a device or partition name?" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:972 +msgid "Does the string begin with C?" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:976 +msgid "" +"Does the named device exist? If so, we use that device. However if I " +"then we continue with this algorithm." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:981 +msgid "Replace initial C string with C." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:983 +msgid "For example, change C to C." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:985 +msgid "If that named device exists, use it. If not, continue." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:989 +msgid "Replace initial C string with C." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:991 +msgid "If that named device exists, use it. If not, return an error." +msgstr "" + +# type: =head3 +#: ../src/guestfs.pod:995 +msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:997 +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 " +"rely on this mechanism." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1001 +msgid "" +"Where possible for maximum future portability programs using libguestfs " +"should use these future-proof techniques:" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1008 +msgid "" +"Use L or L to list actual " +"device names, and then use those names directly." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1011 +msgid "" +"Since those device names exist by definition, they will never be translated." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1016 +msgid "" +"Use higher level ways to identify filesystems, such as LVM names, UUIDs and " +"filesystem labels." +msgstr "" + +# type: =head1 +#: ../src/guestfs.pod:1021 +msgid "SECURITY" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1023 +msgid "" +"This section discusses security implications of using libguestfs, " +"particularly with untrusted or malicious guests or disk images." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1026 +msgid "GENERAL SECURITY CONSIDERATIONS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1028 +msgid "" +"Be careful with any files or data that you download from a guest (by " +"\"download\" we mean not just the L command but any " +"command that reads files, filenames, directories or anything else from a " +"disk image). An attacker could manipulate the data to fool your program " +"into doing the wrong thing. Consider cases such as:" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1038 +msgid "the data (file etc) not being present" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1042 +msgid "being present but empty" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1046 +msgid "being much larger than normal" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1050 +msgid "containing arbitrary 8 bit data" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1054 +msgid "being in an unexpected character encoding" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1058 +msgid "containing homoglyphs." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1062 +msgid "SECURITY OF MOUNTING FILESYSTEMS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1064 +msgid "" +"When you mount a filesystem under Linux, mistakes in the kernel filesystem " +"(VFS) module can sometimes be escalated into exploits by deliberately " +"creating a malicious, malformed filesystem. These exploits are very severe " +"for two reasons. Firstly there are very many filesystem drivers in the " +"kernel, and many of them are infrequently used and not much developer " +"attention has been paid to the code. Linux userspace helps potential " +"crackers by detecting the filesystem type and automatically choosing the " +"right VFS driver, even if that filesystem type is obscure or unexpected for " +"the administrator. Secondly, a kernel-level exploit is like a local root " +"exploit (worse in some ways), giving immediate and total access to the " +"system right down to the hardware level." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1077 +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 " +"inside a qemu virtual machine, usually running as a non-root user. The " +"attacker would need to write a filesystem which first exploited the kernel, " +"and then exploited either qemu virtualization (eg. a faulty qemu driver) or " +"the libguestfs protocol, and finally to be as serious as the host kernel " +"exploit it would need to escalate its privileges to root. This multi-step " +"escalation, performed by a static piece of data, is thought to be extremely " +"hard to do, although we never say 'never' about security issues." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1088 +msgid "" +"In any case callers can reduce the attack surface by forcing the filesystem " +"type when mounting (use L)." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1091 +msgid "PROTOCOL SECURITY" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1093 +msgid "" +"The protocol is designed to be secure, being based on RFC 4506 (XDR) with a " +"defined upper message size. However a program that uses libguestfs must " +"also take care - for example you can write a program that downloads a binary " +"from a disk image and executes it locally, and no amount of protocol " +"security will save you from the consequences." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1099 +msgid "INSPECTION SECURITY" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1101 +msgid "" +"Parts of the inspection API (see L) return untrusted strings " +"directly from the guest, and these could contain any 8 bit data. Callers " +"should be careful to escape these before printing them to a structured file " +"(for example, use HTML escaping if creating a web page)." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1107 +msgid "" +"The inspection API parses guest configuration using two external libraries: " +"Augeas (Linux configuration) and hivex (Windows Registry). Both are " +"designed to be robust in the face of malicious data, although denial of " +"service attacks are still possible, for example with oversized configuration " +"files." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1113 +msgid "RUNNING UNTRUSTED GUEST COMMANDS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1115 +msgid "" +"Be very cautious about running commands from the guest. By running a " +"command in the guest, you are giving CPU time to a binary that you do not " +"control, under the same user account as the library, albeit wrapped in qemu " +"virtualization. More information and alternatives can be found in the " +"section L." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1121 +msgid "CVE-2010-3851" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1123 +msgid "https://bugzilla.redhat.com/642934" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1125 +msgid "" +"This security bug concerns the automatic disk format detection that qemu " +"does on disk images." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1128 +msgid "" +"A raw disk image is just the raw bytes, there is no header. Other disk " +"images like qcow2 contain a special header. Qemu deals with this by looking " +"for one of the known headers, and if none is found then assuming the disk " +"image must be raw." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1133 +msgid "" +"This allows a guest which has been given a raw disk image to write some " +"other header. At next boot (or when the disk image is accessed by " +"libguestfs) qemu would do autodetection and think the disk image format was, " +"say, qcow2 based on the header written by the guest." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1138 +msgid "" +"This in itself would not be a problem, but qcow2 offers many features, one " +"of which is to allow a disk image to refer to another image (called the " +"\"backing disk\"). It does this by placing the path to the backing disk " +"into the qcow2 header. This path is not validated and could point to any " +"host file (eg. \"/etc/passwd\"). The backing disk is then exposed through " +"\"holes\" in the qcow2 disk image, which of course is completely under the " +"control of the attacker." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1146 +msgid "" +"In libguestfs this is rather hard to exploit except under two circumstances:" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1153 +msgid "You have enabled the network or have opened the disk in write mode." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1157 +msgid "" +"You are also running untrusted code from the guest (see L)." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1162 +msgid "" +"The way to avoid this is to specify the expected disk format when adding " +"disks (the optional C option to L). You " +"should always do this if the disk is raw format, and it's a good idea for " +"other cases too." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1167 +msgid "" +"For disks added from libvirt using calls like L, the " +"format is fetched from libvirt and passed through." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1170 +msgid "" +"For libguestfs tools, use the I<--format> command line parameter as " +"appropriate." +msgstr "" + +# type: =head1 +#: ../src/guestfs.pod:1173 msgid "CONNECTION MANAGEMENT" msgstr "" # type: =head2 -#: ../src/guestfs.pod:857 +#: ../src/guestfs.pod:1175 msgid "guestfs_h *" msgstr "" # type: textblock -#: ../src/guestfs.pod:859 +#: ../src/guestfs.pod:1177 msgid "" "C is the opaque type representing a connection handle. Create a " "handle by calling L. Call L to free the " @@ -1779,19 +2313,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:863 +#: ../src/guestfs.pod:1181 msgid "" "For information on using multiple handles and threads, see the section L below." msgstr "" # type: =head2 -#: ../src/guestfs.pod:866 +#: ../src/guestfs.pod:1184 msgid "guestfs_create" msgstr "" # type: verbatim -#: ../src/guestfs.pod:868 +#: ../src/guestfs.pod:1186 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -1799,43 +2333,43 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:870 +#: ../src/guestfs.pod:1188 msgid "Create a connection handle." msgstr "" # type: textblock -#: ../src/guestfs.pod:872 +#: ../src/guestfs.pod:1190 msgid "" "You have to call L (or one of the equivalent calls) " "on the handle at least once." msgstr "" # type: textblock -#: ../src/guestfs.pod:875 +#: ../src/guestfs.pod:1193 msgid "" "This function returns a non-NULL pointer to a handle on success or NULL on " "error." msgstr "" # type: textblock -#: ../src/guestfs.pod:878 +#: ../src/guestfs.pod:1196 msgid "After configuring the handle, you have to call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:880 +#: ../src/guestfs.pod:1198 msgid "" "You may also want to configure error handling for the handle. See L section below." msgstr "" # type: =head2 -#: ../src/guestfs.pod:883 +#: ../src/guestfs.pod:1201 msgid "guestfs_close" msgstr "" # type: verbatim -#: ../src/guestfs.pod:885 +#: ../src/guestfs.pod:1203 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -1843,17 +2377,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:887 +#: ../src/guestfs.pod:1205 msgid "This closes the connection handle and frees up all resources used." msgstr "" # type: =head1 -#: ../src/guestfs.pod:889 +#: ../src/guestfs.pod:1207 msgid "ERROR HANDLING" msgstr "" # type: textblock -#: ../src/guestfs.pod:891 +#: ../src/guestfs.pod:1209 msgid "" "API functions can return errors. For example, almost all functions that " "return C will return C<-1> to indicate an error. You can get " @@ -1862,7 +2396,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:897 +#: ../src/guestfs.pod:1215 msgid "" "When the handle is created, a default error handler is installed which " "prints the error message string to C. For small short-running " @@ -1870,7 +2404,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:901 +#: ../src/guestfs.pod:1219 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -1879,21 +2413,21 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:904 +#: ../src/guestfs.pod:1222 msgid "" "since the default error handler will ensure that an error message has been " "printed to C before the program exits." msgstr "" # type: textblock -#: ../src/guestfs.pod:907 +#: ../src/guestfs.pod:1225 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:910 +#: ../src/guestfs.pod:1228 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -1901,7 +2435,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:912 +#: ../src/guestfs.pod:1230 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -1911,7 +2445,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:1234 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -1924,7 +2458,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:923 +#: ../src/guestfs.pod:1241 msgid "" "Out of memory errors are handled differently. The default action is to call " "L. If this is undesirable, then you can set a handler using L returns C if the handle cannot be created, and " "because there is no handle if this happens there is no way to get additional " @@ -1942,12 +2476,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:933 +#: ../src/guestfs.pod:1251 msgid "guestfs_last_error" msgstr "" # type: verbatim -#: ../src/guestfs.pod:935 +#: ../src/guestfs.pod:1253 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -1955,26 +2489,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:937 +#: ../src/guestfs.pod:1255 msgid "" "This returns the last error message that happened on C. If there has not " "been an error since the handle was created, then this returns C." msgstr "" # type: textblock -#: ../src/guestfs.pod:941 +#: ../src/guestfs.pod:1259 msgid "" "The lifetime of the returned string is until the next error occurs, or L is called." msgstr "" # type: =head2 -#: ../src/guestfs.pod:944 +#: ../src/guestfs.pod:1262 msgid "guestfs_set_error_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:946 +#: ../src/guestfs.pod:1264 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -1987,7 +2521,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:1271 msgid "" "The callback C will be called if there is an error. The parameters " "passed to the callback are an opaque data pointer and the error message " @@ -1995,7 +2529,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:957 +#: ../src/guestfs.pod:1275 msgid "" "Note that the message string C is freed as soon as the callback " "function returns, so if you want to stash it somewhere you must make your " @@ -2003,22 +2537,22 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:961 +#: ../src/guestfs.pod:1279 msgid "The default handler prints messages on C." msgstr "" # type: textblock -#: ../src/guestfs.pod:963 +#: ../src/guestfs.pod:1281 msgid "If you set C to C then I handler is called." msgstr "" # type: =head2 -#: ../src/guestfs.pod:965 +#: ../src/guestfs.pod:1283 msgid "guestfs_get_error_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:967 +#: ../src/guestfs.pod:1285 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -2027,17 +2561,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:1288 msgid "Returns the current error handler callback." msgstr "" # type: =head2 -#: ../src/guestfs.pod:972 +#: ../src/guestfs.pod:1290 msgid "guestfs_set_out_of_memory_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:974 +#: ../src/guestfs.pod:1292 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -2047,30 +2581,30 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:978 +#: ../src/guestfs.pod:1296 msgid "" "The callback C will be called if there is an out of memory situation. " "I." msgstr "" # type: textblock -#: ../src/guestfs.pod:981 +#: ../src/guestfs.pod:1299 msgid "The default is to call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:983 +#: ../src/guestfs.pod:1301 msgid "" "You cannot set C to C. You can't ignore out of memory situations." msgstr "" # type: =head2 -#: ../src/guestfs.pod:986 +#: ../src/guestfs.pod:1304 msgid "guestfs_get_out_of_memory_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:988 +#: ../src/guestfs.pod:1306 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -2078,87 +2612,42 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:990 +#: ../src/guestfs.pod:1308 msgid "This returns the current out of memory handler." msgstr "" # type: =head1 -#: ../src/guestfs.pod:992 -msgid "PATH" +#: ../src/guestfs.pod:1310 +msgid "API CALLS" msgstr "" # type: textblock -#: ../src/guestfs.pod:994 -msgid "" -"Libguestfs needs a kernel and initrd.img, which it finds by looking along an " -"internal path." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:997 -msgid "" -"By default it looks for these in the directory C<$libdir/guestfs> (eg. C or C)." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1000 -msgid "" -"Use L or set the environment variable L " -"to change the directories that libguestfs will search in. The value is a " -"colon-separated list of paths. The current directory is I searched " -"unless the path contains an empty element or C<.>. For example " -"C would search the current directory and " -"then C." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1007 -msgid "HIGH-LEVEL API ACTIONS" -msgstr "" - -# type: =head2 -#: ../src/guestfs.pod:1009 -msgid "ABI GUARANTEE" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1011 -msgid "" -"We guarantee the libguestfs ABI (binary interface), for public, high-level " -"actions as outlined in this section. Although we will deprecate some " -"actions, for example if they get replaced by newer calls, we will keep the " -"old actions forever. This allows you the developer to program in confidence " -"against the libguestfs API." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1017 ../fish/guestfish.pod:860 +#: ../src/guestfs.pod:1312 ../fish/guestfish.pod:894 msgid "@ACTIONS@" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1019 +#: ../src/guestfs.pod:1314 msgid "STRUCTURES" msgstr "" # type: textblock -#: ../src/guestfs.pod:1021 +#: ../src/guestfs.pod:1316 msgid "@STRUCTS@" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1023 +#: ../src/guestfs.pod:1318 msgid "AVAILABILITY" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1025 +#: ../src/guestfs.pod:1320 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1027 +#: ../src/guestfs.pod:1322 msgid "" "Using L you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -2166,17 +2655,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1032 +#: ../src/guestfs.pod:1327 msgid "@AVAILABILITY@" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1034 +#: ../src/guestfs.pod:1329 msgid "GUESTFISH supported COMMAND" msgstr "" # type: textblock -#: ../src/guestfs.pod:1036 +#: ../src/guestfs.pod:1331 msgid "" "In L there is a handy interactive command C which " "prints out the available groups and whether they are supported by this build " @@ -2184,19 +2673,19 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1041 +#: ../src/guestfs.pod:1336 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" # type: textblock -#: ../src/guestfs.pod:1043 +#: ../src/guestfs.pod:1338 msgid "" "Since version 1.5.8, Cguestfs.hE> defines symbols for each C API " "function, such as:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1046 +#: ../src/guestfs.pod:1341 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -2204,12 +2693,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1048 +#: ../src/guestfs.pod:1343 msgid "if L is available." msgstr "" # type: textblock -#: ../src/guestfs.pod:1050 +#: ../src/guestfs.pod:1345 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 " @@ -2217,7 +2706,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1055 +#: ../src/guestfs.pod:1350 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -2226,19 +2715,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1058 +#: ../src/guestfs.pod:1353 msgid "" "which would result in C being either defined or not defined " "in your program." msgstr "" # type: =head2 -#: ../src/guestfs.pod:1061 +#: ../src/guestfs.pod:1356 msgid "SINGLE CALLS AT RUN TIME" msgstr "" # type: textblock -#: ../src/guestfs.pod:1063 +#: ../src/guestfs.pod:1358 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 " @@ -2248,7 +2737,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1070 +#: ../src/guestfs.pod:1365 msgid "" "You can use L 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 " @@ -2256,7 +2745,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1074 +#: ../src/guestfs.pod:1369 #, no-wrap msgid "" " #include \n" @@ -2268,7 +2757,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1080 +#: ../src/guestfs.pod:1375 #, no-wrap msgid "" " main ()\n" @@ -2280,7 +2769,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1086 +#: ../src/guestfs.pod:1381 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -2295,7 +2784,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1095 +#: ../src/guestfs.pod:1390 #, no-wrap msgid "" " if (!has_function)\n" @@ -2314,7 +2803,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1108 +#: ../src/guestfs.pod:1403 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 " @@ -2322,7 +2811,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1113 +#: ../src/guestfs.pod:1408 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -2330,12 +2819,12 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1115 +#: ../src/guestfs.pod:1410 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1117 +#: ../src/guestfs.pod:1412 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 " @@ -2343,7 +2832,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1122 +#: ../src/guestfs.pod:1417 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -2351,14 +2840,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1124 +#: ../src/guestfs.pod:1419 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:1127 +#: ../src/guestfs.pod:1422 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -2366,12 +2855,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1129 +#: ../src/guestfs.pod:1424 msgid "With a single optional argument:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1131 +#: ../src/guestfs.pod:1426 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -2381,12 +2870,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1135 +#: ../src/guestfs.pod:1430 msgid "With two:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1137 +#: ../src/guestfs.pod:1432 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -2397,19 +2886,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1142 +#: ../src/guestfs.pod:1437 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1145 +#: ../src/guestfs.pod:1440 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1147 +#: ../src/guestfs.pod:1442 msgid "" "The second variant has the same name with the suffix C<_va>, which works the " "same way but takes a C. See the C manual for details. For the " @@ -2417,7 +2906,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1151 +#: ../src/guestfs.pod:1446 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -2426,12 +2915,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1154 +#: ../src/guestfs.pod:1449 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1156 +#: ../src/guestfs.pod:1451 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 " @@ -2441,7 +2930,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1162 +#: ../src/guestfs.pod:1457 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -2456,12 +2945,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1171 +#: ../src/guestfs.pod:1466 msgid "You could call it like this:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1173 +#: ../src/guestfs.pod:1468 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -2474,7 +2963,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1475 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -2482,36 +2971,36 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1182 ../src/guestfs-actions.pod:11 +#: ../src/guestfs.pod:1477 ../src/guestfs-actions.pod:11 #: ../src/guestfs-actions.pod:1661 ../fish/guestfish-actions.pod:9 #: ../fish/guestfish-actions.pod:1244 msgid "Notes:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1188 +#: ../src/guestfs.pod:1483 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" # type: textblock -#: ../src/guestfs.pod:1193 +#: ../src/guestfs.pod:1488 msgid "You do not need to fill in all fields of the structure." msgstr "" # type: textblock -#: ../src/guestfs.pod:1197 +#: ../src/guestfs.pod:1492 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:1202 +#: ../src/guestfs.pod:1497 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" # type: textblock -#: ../src/guestfs.pod:1204 +#: ../src/guestfs.pod:1499 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -2519,201 +3008,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1208 +#: ../src/guestfs.pod:1503 msgid "For guestfish, see L." msgstr "" -# type: =end -#: ../src/guestfs.pod:1210 ../src/guestfs.pod:1215 -msgid "html" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1212 -msgid "" -" " -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1217 -msgid "ARCHITECTURE" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1219 -msgid "" -"Internally, libguestfs is implemented by running an appliance (a special " -"type of small virtual machine) using L. Qemu runs as a child " -"process of the main program." -msgstr "" - -# type: verbatim -#: ../src/guestfs.pod:1223 -#, no-wrap -msgid "" -" ___________________\n" -" / \\\n" -" | main program |\n" -" | |\n" -" | | child process / appliance\n" -" | | __________________________\n" -" | | / qemu \\\n" -" +-------------------+ RPC | +-----------------+ |\n" -" | libguestfs <--------------------> guestfsd | |\n" -" | | | +-----------------+ |\n" -" \\___________________/ | | Linux kernel | |\n" -" | +--^--------------+ |\n" -" \\_________|________________/\n" -" |\n" -" _______v______\n" -" / \\\n" -" | Device or |\n" -" | disk image |\n" -" \\______________/\n" -"\n" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1243 -msgid "" -"The library, linked to the main program, creates the child process and hence " -"the appliance in the L function." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1246 -msgid "" -"Inside the appliance is a Linux kernel and a complete stack of userspace " -"tools (such as LVM and ext2 programs) and a small controlling daemon called " -"L. The library talks to L using remote procedure " -"calls (RPC). There is a mostly one-to-one correspondence between libguestfs " -"API calls and RPC calls to the daemon. Lastly the disk image(s) are " -"attached to the qemu process which translates device access by the " -"appliance's Linux kernel into accesses to the image." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1255 -msgid "" -"A common misunderstanding is that the appliance \"is\" the virtual machine. " -"Although the disk image you are attached to might also be used by some " -"virtual machine, libguestfs doesn't know or care about this. (But you will " -"care if both libguestfs's qemu process and your virtual machine are trying " -"to update the disk image at the same time, since these usually results in " -"massive disk corruption)." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1262 -msgid "STATE MACHINE" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1264 -msgid "libguestfs uses a state machine to model the child process:" -msgstr "" - -# type: verbatim -#: ../src/guestfs.pod:1266 -#, no-wrap -msgid "" -" |\n" -" guestfs_create\n" -" |\n" -" |\n" -" ____V_____\n" -" / \\\n" -" | CONFIG |\n" -" \\__________/\n" -" ^ ^ ^ \\\n" -" / | \\ \\ guestfs_launch\n" -" / | _\\__V______\n" -" / | / \\\n" -" / | | LAUNCHING |\n" -" / | \\___________/\n" -" / | /\n" -" / | guestfs_launch\n" -" / | /\n" -" ______ / __|____V\n" -" / \\ ------> / \\\n" -" | BUSY | | READY |\n" -" \\______/ <------ \\________/\n" -"\n" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1288 -msgid "" -"The normal transitions are (1) CONFIG (when the handle is created, but there " -"is no child process), (2) LAUNCHING (when the child process is booting up), " -"(3) alternating between READY and BUSY as commands are issued to, and " -"carried out by, the child process." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1293 -msgid "" -"The guest may be killed by L, or may die " -"asynchronously at any time (eg. due to some internal error), and that causes " -"the state to transition back to CONFIG." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1297 -msgid "" -"Configuration commands for qemu such as L can only be " -"issued when in the CONFIG state." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1300 -msgid "" -"The API offers one call that goes from CONFIG through LAUNCHING to READY. " -"L blocks until the child process is READY to accept " -"commands (or until some failure or timeout). L internally " -"moves the state from CONFIG to LAUNCHING while it is running." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1306 -msgid "" -"API actions such as L can only be issued when in the READY " -"state. These API calls block waiting for the command to be carried out (ie. " -"the state to transition to BUSY and then back to READY). There are no non-" -"blocking versions, and no way to issue more than one command per handle at " -"the same time." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1312 -msgid "" -"Finally, the child process sends asynchronous messages back to the main " -"program, such as kernel log messages. You can register a callback to " -"receive these messages." -msgstr "" - # type: =head2 -#: ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1505 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1318 +#: ../src/guestfs.pod:1507 msgid "" "The child process generates events in some situations. Current events " "include: receiving a log message, the child process exits." msgstr "" # type: textblock -#: ../src/guestfs.pod:1321 +#: ../src/guestfs.pod:1510 msgid "" "Use the C functions to set a callback for different " "types of events." msgstr "" # type: textblock -#: ../src/guestfs.pod:1324 +#: ../src/guestfs.pod:1513 msgid "" "Only I can be registered for each handle. " "Calling C again overwrites the previous callback of " @@ -2722,12 +3041,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1329 +#: ../src/guestfs.pod:1518 msgid "guestfs_set_log_message_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1331 +#: ../src/guestfs.pod:1520 #, no-wrap msgid "" " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n" @@ -2739,31 +3058,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1337 +#: ../src/guestfs.pod:1526 msgid "" "The callback function C will be called whenever qemu or the guest writes " "anything to the console." msgstr "" # type: textblock -#: ../src/guestfs.pod:1340 +#: ../src/guestfs.pod:1529 msgid "Use this function to capture kernel messages and similar." msgstr "" # type: textblock -#: ../src/guestfs.pod:1342 +#: ../src/guestfs.pod:1531 msgid "" "Normally there is no log message handler, and log messages are just " "discarded." msgstr "" # type: =head2 -#: ../src/guestfs.pod:1345 +#: ../src/guestfs.pod:1534 msgid "guestfs_set_subprocess_quit_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1347 +#: ../src/guestfs.pod:1536 #, no-wrap msgid "" " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n" @@ -2774,7 +3093,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1352 +#: ../src/guestfs.pod:1541 msgid "" "The callback function C will be called when the child process quits, " "either asynchronously or if killed by L. (This " @@ -2782,12 +3101,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1357 +#: ../src/guestfs.pod:1546 msgid "guestfs_set_launch_done_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1548 #, no-wrap msgid "" " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n" @@ -2798,7 +3117,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1364 +#: ../src/guestfs.pod:1553 msgid "" "The callback function C will be called when the child process becomes " "ready first time after it has been launched. (This corresponds to a " @@ -2806,12 +3125,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1368 +#: ../src/guestfs.pod:1557 msgid "guestfs_set_close_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1370 +#: ../src/guestfs.pod:1559 #, no-wrap msgid "" " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n" @@ -2822,14 +3141,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1375 +#: ../src/guestfs.pod:1564 msgid "" "The callback function C will be called while the handle is being closed " "(synchronously from L)." msgstr "" # type: textblock -#: ../src/guestfs.pod:1378 +#: ../src/guestfs.pod:1567 msgid "" "Note that libguestfs installs an L handler to try to clean up " "handles that are open when the program exits. This means that this callback " @@ -2840,12 +3159,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1386 +#: ../src/guestfs.pod:1575 msgid "guestfs_set_progress_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1388 +#: ../src/guestfs.pod:1577 #, no-wrap msgid "" " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n" @@ -2858,7 +3177,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1395 +#: ../src/guestfs.pod:1584 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -2868,7 +3187,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1401 +#: ../src/guestfs.pod:1590 msgid "" "The callback receives two numbers: C and C. The units of " "C are not defined, although for some operations C may relate " @@ -2877,31 +3196,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1407 +#: ../src/guestfs.pod:1596 msgid "The only defined and stable parts of the API are:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1413 +#: ../src/guestfs.pod:1602 msgid "" "The callback can display to the user some type of progress bar or indicator " "which shows the ratio of C:C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1418 +#: ../src/guestfs.pod:1607 msgid "0 E= C E= C" msgstr "" # type: textblock -#: ../src/guestfs.pod:1422 +#: ../src/guestfs.pod:1611 msgid "" "If any progress notification is sent during a call, then a final progress " "notification is always sent when C = C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1425 +#: ../src/guestfs.pod:1614 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 " @@ -2909,7 +3228,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1431 +#: ../src/guestfs.pod:1620 msgid "" "The callback also receives the procedure number and serial number of the " "call. These are only useful for debugging protocol issues, and the callback " @@ -2918,12 +3237,12 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1436 +#: ../src/guestfs.pod:1625 msgid "PRIVATE DATA AREA" msgstr "" # type: textblock -#: ../src/guestfs.pod:1438 +#: ../src/guestfs.pod:1627 msgid "" "You can attach named pieces of private data to the libguestfs handle, and " "fetch them by name for the lifetime of the handle. This is called the " @@ -2931,12 +3250,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1442 +#: ../src/guestfs.pod:1631 msgid "To attach a named piece of data, use the following call:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1444 +#: ../src/guestfs.pod:1633 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -2944,7 +3263,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1446 +#: ../src/guestfs.pod:1635 msgid "" "C is the name to associate with this data, and C is an arbitrary " "pointer (which can be C). Any previous item with the same name is " @@ -2952,7 +3271,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1450 +#: ../src/guestfs.pod:1639 msgid "" "You can use any C you want, but names beginning with an underscore " "character are reserved for internal libguestfs purposes (for implementing " @@ -2961,12 +3280,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1455 +#: ../src/guestfs.pod:1644 msgid "To retrieve the pointer, use:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1457 +#: ../src/guestfs.pod:1646 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -2974,7 +3293,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1459 +#: ../src/guestfs.pod:1648 msgid "" "This function returns C if either no data is found associated with " "C, or if the user previously set the C's C pointer to " @@ -2982,7 +3301,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1463 +#: ../src/guestfs.pod:1652 msgid "" "Libguestfs does not try to look at or interpret the C pointer in any " "way. As far as libguestfs is concerned, it need not be a valid pointer at " @@ -2990,191 +3309,205 @@ msgid "" "handle is closed. If the data must be freed, then the caller must either " "free it before calling L or must set up a close callback to " "do it (see L, and note that only one callback " -"can be registered for a handle)." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1471 -msgid "" -"The private data area is implemented using a hash table, and should be " -"reasonably efficient for moderate numbers of keys." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1474 -msgid "BLOCK DEVICE NAMING" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1476 -msgid "" -"In the kernel there is now quite a profusion of schemata for naming block " -"devices (in this context, by I I mean a physical or virtual " -"hard drive). The original Linux IDE driver used names starting with C. SCSI devices have historically used a different naming scheme, C. When the Linux kernel I driver became a popular replacement " -"for the old IDE driver (particularly for SATA devices) those devices also " -"used the C scheme. Additionally we now have virtual machines with " -"paravirtualized drivers. This has created several different naming systems, " -"such as C for virtio disks and C for Xen PV disks." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1488 -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 " -"based on a variety of Linux kernels." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1492 -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 " -"make available over the internet could fail if the naming scheme changes." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1497 -msgid "" -"Therefore libguestfs defines C as the I. " -"Internally C names are translated, if necessary, to other names as " -"required. For example, under RHEL 5 which uses the C scheme, any " -"device parameter C is translated to C transparently." +"can be registered for a handle)." msgstr "" # type: textblock -#: ../src/guestfs.pod:1503 +#: ../src/guestfs.pod:1660 msgid "" -"Note that this I applies to parameters. The L, " -"L and similar calls return the true names of the " -"devices and partitions as known to the appliance." +"The private data area is implemented using a hash table, and should be " +"reasonably efficient for moderate numbers of keys." msgstr "" -# type: =head2 -#: ../src/guestfs.pod:1508 -msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" +# type: =end +#: ../src/guestfs.pod:1663 ../src/guestfs.pod:1668 +msgid "html" msgstr "" # type: textblock -#: ../src/guestfs.pod:1510 +#: ../src/guestfs.pod:1665 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 " -"L to add a mixture of virtio and IDE devices to the qemu-" -"based appliance, so have a mixture of C and C devices." +" " msgstr "" -# type: textblock -#: ../src/guestfs.pod:1516 -msgid "" -"The algorithm is applied only to I which are known to be either " -"device or partition names. Return values from functions such as L are never changed." +# type: =head1 +#: ../src/guestfs.pod:1670 +msgid "ARCHITECTURE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1524 -msgid "Is the string a parameter which is a device or partition name?" +#: ../src/guestfs.pod:1672 +msgid "" +"Internally, libguestfs is implemented by running an appliance (a special " +"type of small virtual machine) using L. Qemu runs as a child " +"process of the main program." msgstr "" -# type: textblock -#: ../src/guestfs.pod:1528 -msgid "Does the string begin with C?" +# type: verbatim +#: ../src/guestfs.pod:1676 +#, no-wrap +msgid "" +" ___________________\n" +" / \\\n" +" | main program |\n" +" | |\n" +" | | child process / appliance\n" +" | | __________________________\n" +" | | / qemu \\\n" +" +-------------------+ RPC | +-----------------+ |\n" +" | libguestfs <--------------------> guestfsd | |\n" +" | | | +-----------------+ |\n" +" \\___________________/ | | Linux kernel | |\n" +" | +--^--------------+ |\n" +" \\_________|________________/\n" +" |\n" +" _______v______\n" +" / \\\n" +" | Device or |\n" +" | disk image |\n" +" \\______________/\n" +"\n" msgstr "" # type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1696 msgid "" -"Does the named device exist? If so, we use that device. However if I " -"then we continue with this algorithm." +"The library, linked to the main program, creates the child process and hence " +"the appliance in the L function." msgstr "" # type: textblock -#: ../src/guestfs.pod:1537 -msgid "Replace initial C string with C." +#: ../src/guestfs.pod:1699 +msgid "" +"Inside the appliance is a Linux kernel and a complete stack of userspace " +"tools (such as LVM and ext2 programs) and a small controlling daemon called " +"L. The library talks to L using remote procedure " +"calls (RPC). There is a mostly one-to-one correspondence between libguestfs " +"API calls and RPC calls to the daemon. Lastly the disk image(s) are " +"attached to the qemu process which translates device access by the " +"appliance's Linux kernel into accesses to the image." msgstr "" # type: textblock -#: ../src/guestfs.pod:1539 -msgid "For example, change C to C." +#: ../src/guestfs.pod:1708 +msgid "" +"A common misunderstanding is that the appliance \"is\" the virtual machine. " +"Although the disk image you are attached to might also be used by some " +"virtual machine, libguestfs doesn't know or care about this. (But you will " +"care if both libguestfs's qemu process and your virtual machine are trying " +"to update the disk image at the same time, since these usually results in " +"massive disk corruption)." msgstr "" -# type: textblock -#: ../src/guestfs.pod:1541 -msgid "If that named device exists, use it. If not, continue." +# type: =head1 +#: ../src/guestfs.pod:1715 +msgid "STATE MACHINE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1545 -msgid "Replace initial C string with C." +#: ../src/guestfs.pod:1717 +msgid "libguestfs uses a state machine to model the child process:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:1547 -msgid "If that named device exists, use it. If not, return an error." +# type: verbatim +#: ../src/guestfs.pod:1719 +#, no-wrap +msgid "" +" |\n" +" guestfs_create\n" +" |\n" +" |\n" +" ____V_____\n" +" / \\\n" +" | CONFIG |\n" +" \\__________/\n" +" ^ ^ ^ \\\n" +" / | \\ \\ guestfs_launch\n" +" / | _\\__V______\n" +" / | / \\\n" +" / | | LAUNCHING |\n" +" / | \\___________/\n" +" / | /\n" +" / | guestfs_launch\n" +" / | /\n" +" ______ / __|____V\n" +" / \\ ------> / \\\n" +" | BUSY | | READY |\n" +" \\______/ <------ \\________/\n" +"\n" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:1551 -msgid "PORTABILITY CONCERNS" +# type: textblock +#: ../src/guestfs.pod:1741 +msgid "" +"The normal transitions are (1) CONFIG (when the handle is created, but there " +"is no child process), (2) LAUNCHING (when the child process is booting up), " +"(3) alternating between READY and BUSY as commands are issued to, and " +"carried out by, the child process." msgstr "" # type: textblock -#: ../src/guestfs.pod:1553 +#: ../src/guestfs.pod:1746 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 " -"rely on this mechanism." +"The guest may be killed by L, or may die " +"asynchronously at any time (eg. due to some internal error), and that causes " +"the state to transition back to CONFIG." msgstr "" # type: textblock -#: ../src/guestfs.pod:1557 +#: ../src/guestfs.pod:1750 msgid "" -"Where possible for maximum future portability programs using libguestfs " -"should use these future-proof techniques:" +"Configuration commands for qemu such as L can only be " +"issued when in the CONFIG state." msgstr "" # type: textblock -#: ../src/guestfs.pod:1564 +#: ../src/guestfs.pod:1753 msgid "" -"Use L or L to list actual " -"device names, and then use those names directly." +"The API offers one call that goes from CONFIG through LAUNCHING to READY. " +"L blocks until the child process is READY to accept " +"commands (or until some failure or timeout). L internally " +"moves the state from CONFIG to LAUNCHING while it is running." msgstr "" # type: textblock -#: ../src/guestfs.pod:1567 +#: ../src/guestfs.pod:1759 msgid "" -"Since those device names exist by definition, they will never be translated." +"API actions such as L can only be issued when in the READY " +"state. These API calls block waiting for the command to be carried out (ie. " +"the state to transition to BUSY and then back to READY). There are no non-" +"blocking versions, and no way to issue more than one command per handle at " +"the same time." msgstr "" # type: textblock -#: ../src/guestfs.pod:1572 +#: ../src/guestfs.pod:1765 msgid "" -"Use higher level ways to identify filesystems, such as LVM names, UUIDs and " -"filesystem labels." +"Finally, the child process sends asynchronous messages back to the main " +"program, such as kernel log messages. You can register a callback to " +"receive these messages." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1577 +#: ../src/guestfs.pod:1769 msgid "INTERNALS" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1579 +#: ../src/guestfs.pod:1771 msgid "COMMUNICATION PROTOCOL" msgstr "" # type: textblock -#: ../src/guestfs.pod:1581 +#: ../src/guestfs.pod:1773 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:1584 +#: ../src/guestfs.pod:1776 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 " @@ -3182,14 +3515,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1588 +#: ../src/guestfs.pod:1780 msgid "" "The detailed format of structures is in C (note: " "this file is automatically generated)." msgstr "" # type: textblock -#: ../src/guestfs.pod:1591 +#: ../src/guestfs.pod:1783 msgid "" "There are two broad cases, ordinary functions that don't have any C " "and C parameters, which are handled with very simple request/reply " @@ -3199,17 +3532,17 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1598 +#: ../src/guestfs.pod:1790 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" # type: textblock -#: ../src/guestfs.pod:1600 +#: ../src/guestfs.pod:1792 msgid "For ordinary functions, the request message is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1602 +#: ../src/guestfs.pod:1794 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -3220,7 +3553,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1607 +#: ../src/guestfs.pod:1799 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 " @@ -3229,26 +3562,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1613 +#: ../src/guestfs.pod:1805 msgid "" "Note also that many functions don't take any arguments, in which case the " "C_args> is completely omitted." msgstr "" # type: textblock -#: ../src/guestfs.pod:1616 +#: ../src/guestfs.pod:1808 msgid "" "The header contains the procedure number (C) which is how the " "receiver knows what type of args structure to expect, or none at all." msgstr "" # type: textblock -#: ../src/guestfs.pod:1620 +#: ../src/guestfs.pod:1812 msgid "The reply message for ordinary functions is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1622 +#: ../src/guestfs.pod:1814 #, no-wrap msgid "" " total length (header + ret,\n" @@ -3259,27 +3592,27 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1627 +#: ../src/guestfs.pod:1819 msgid "" "As above the C_ret> structure may be completely omitted for " "functions that return no formal return values." msgstr "" # type: textblock -#: ../src/guestfs.pod:1630 +#: ../src/guestfs.pod:1822 msgid "" "As above the total length of the reply is limited to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1633 +#: ../src/guestfs.pod:1825 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:1636 +#: ../src/guestfs.pod:1828 #, no-wrap msgid "" " total length (header + error,\n" @@ -3290,19 +3623,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1641 +#: ../src/guestfs.pod:1833 msgid "" "The C structure contains the error message as a " "string." msgstr "" # type: =head3 -#: ../src/guestfs.pod:1644 +#: ../src/guestfs.pod:1836 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1646 +#: ../src/guestfs.pod:1838 msgid "" "A C parameter indicates that we transfer a file I the guest. " "The normal request message is sent (see above). However this is followed by " @@ -3310,7 +3643,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1650 +#: ../src/guestfs.pod:1842 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -3324,12 +3657,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1658 +#: ../src/guestfs.pod:1850 msgid "The \"sequence of chunks\" is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1660 +#: ../src/guestfs.pod:1852 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -3343,7 +3676,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1860 msgid "" "The final chunk has the C field set to zero. Additionally a flag " "is set in the final chunk to indicate either successful completion or early " @@ -3351,7 +3684,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1672 +#: ../src/guestfs.pod:1864 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -3360,7 +3693,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1677 +#: ../src/guestfs.pod:1869 msgid "" "Both the library (sender) I the daemon (receiver) may cancel the " "transfer. The library does this by sending a chunk with a special flag set " @@ -3369,7 +3702,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1683 +#: ../src/guestfs.pod:1875 msgid "" "The daemon may also cancel. It does this by writing a special word " "C to the socket. The library listens for this during " @@ -3381,7 +3714,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1692 +#: ../src/guestfs.pod:1884 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 " @@ -3391,19 +3724,19 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1698 +#: ../src/guestfs.pod:1890 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1700 +#: ../src/guestfs.pod:1892 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:1703 +#: ../src/guestfs.pod:1895 #, no-wrap msgid "" " total length (header + ret,\n" @@ -3417,143 +3750,54 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1711 +#: ../src/guestfs.pod:1903 msgid "INITIAL MESSAGE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1713 +#: ../src/guestfs.pod:1905 msgid "" "When the daemon launches it sends an initial word (C) " -"which indicates that the guest and daemon is alive. This is what L waits for." -msgstr "" - -# type: =head3 -#: ../src/guestfs.pod:1717 -msgid "PROGRESS NOTIFICATION MESSAGES" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1719 -msgid "" -"The daemon may send progress notification messages at any time. These are " -"distinguished by the normal length word being replaced by " -"C, followed by a fixed size progress message." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1723 -msgid "" -"The library turns them into progress callbacks (see " -"C) if there is a callback registered, or " -"discards them if not." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1727 -msgid "" -"The daemon self-limits the frequency of progress messages it sends (see " -"C). Not all calls generate progress " -"messages." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1731 -msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1733 -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:1736 -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 " -"calls on the same handle at the same time." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1740 -msgid "" -"See the graphical program guestfs-browser for one possible architecture for " -"multithreaded programs using libvirt and libguestfs." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1743 -msgid "QEMU WRAPPERS" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1745 -msgid "" -"If you want to compile your own qemu, run qemu from a non-standard location, " -"or pass extra arguments to qemu, then you can write a shell-script wrapper " -"around qemu." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1749 -msgid "" -"There is one important rule to remember: you I> as the " -"last command in the shell script (so that qemu replaces the shell and " -"becomes the direct child of the libguestfs-using program). If you don't do " -"this, then the qemu process won't be cleaned up correctly." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1754 -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:1757 -#, no-wrap -msgid "" -" #!/bin/sh -\n" -" qemudir=/home/rjones/d/qemu\n" -" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios \"$@\"\n" -"\n" +"which indicates that the guest and daemon is alive. This is what L waits for." +msgstr "" + +# type: =head3 +#: ../src/guestfs.pod:1909 +msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" # type: textblock -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1911 msgid "" -"Save this script as C (or wherever), C, and " -"then use it by setting the LIBGUESTFS_QEMU environment variable. For " -"example:" +"The daemon may send progress notification messages at any time. These are " +"distinguished by the normal length word being replaced by " +"C, followed by a fixed size progress message." msgstr "" -# type: verbatim -#: ../src/guestfs.pod:1765 -#, no-wrap +# type: textblock +#: ../src/guestfs.pod:1915 msgid "" -" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" -"\n" +"The library turns them into progress callbacks (see " +"C) if there is a callback registered, or " +"discards them if not." msgstr "" # type: textblock -#: ../src/guestfs.pod:1767 +#: ../src/guestfs.pod:1919 msgid "" -"Note that libguestfs also calls qemu with the -help and -version options in " -"order to determine features." +"The daemon self-limits the frequency of progress messages it sends (see " +"C). Not all calls generate progress " +"messages." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1770 +#: ../src/guestfs.pod:1923 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1772 +#: ../src/guestfs.pod:1925 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -3561,7 +3805,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1777 +#: ../src/guestfs.pod:1930 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -3578,12 +3822,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1788 +#: ../src/guestfs.pod:1941 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" # type: textblock -#: ../src/guestfs.pod:1790 +#: ../src/guestfs.pod:1943 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 " @@ -3593,26 +3837,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1796 +#: ../src/guestfs.pod:1949 msgid "Our criteria for backporting changes are:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1802 +#: ../src/guestfs.pod:1955 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:1808 +#: ../src/guestfs.pod:1961 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" # type: textblock -#: ../src/guestfs.pod:1813 +#: ../src/guestfs.pod:1966 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 " @@ -3620,7 +3864,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1819 +#: ../src/guestfs.pod:1972 msgid "" "We I backport new features, new APIs, new tools etc, except in one " "exceptional case: the new feature is required in order to implement an " @@ -3628,7 +3872,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1825 +#: ../src/guestfs.pod:1978 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 " @@ -3639,47 +3883,47 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1833 ../fish/guestfish.pod:867 +#: ../src/guestfs.pod:1986 ../fish/guestfish.pod:901 #: ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:330 #: ../tools/virt-rescue.pl:255 msgid "ENVIRONMENT VARIABLES" msgstr "" # type: =item -#: ../src/guestfs.pod:1837 ../fish/guestfish.pod:893 +#: ../src/guestfs.pod:1990 ../fish/guestfish.pod:927 msgid "LIBGUESTFS_APPEND" msgstr "" # type: textblock -#: ../src/guestfs.pod:1839 ../fish/guestfish.pod:895 +#: ../src/guestfs.pod:1992 ../fish/guestfish.pod:929 msgid "Pass additional options to the guest kernel." msgstr "" # type: =item -#: ../src/guestfs.pod:1841 ../fish/guestfish.pod:897 +#: ../src/guestfs.pod:1994 ../fish/guestfish.pod:931 msgid "LIBGUESTFS_DEBUG" msgstr "" # type: textblock -#: ../src/guestfs.pod:1843 +#: ../src/guestfs.pod:1996 msgid "" "Set C to enable verbose messages. This has the same " "effect as calling C." msgstr "" # type: =item -#: ../src/guestfs.pod:1846 ../fish/guestfish.pod:902 +#: ../src/guestfs.pod:1999 ../fish/guestfish.pod:936 msgid "LIBGUESTFS_MEMSIZE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1848 ../fish/guestfish.pod:904 +#: ../src/guestfs.pod:2001 ../fish/guestfish.pod:938 msgid "" "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1851 ../fish/guestfish.pod:907 +#: ../src/guestfs.pod:2004 ../fish/guestfish.pod:941 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -3687,58 +3931,58 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:1853 ../fish/guestfish.pod:909 +#: ../src/guestfs.pod:2006 ../fish/guestfish.pod:943 msgid "LIBGUESTFS_PATH" msgstr "" # type: textblock -#: ../src/guestfs.pod:1855 +#: ../src/guestfs.pod:2008 msgid "" "Set the path that libguestfs uses to search for kernel and initrd.img. See " "the discussion of paths in section PATH above." msgstr "" # type: =item -#: ../src/guestfs.pod:1858 ../fish/guestfish.pod:914 +#: ../src/guestfs.pod:2011 ../fish/guestfish.pod:948 msgid "LIBGUESTFS_QEMU" msgstr "" # type: textblock -#: ../src/guestfs.pod:1860 ../fish/guestfish.pod:916 +#: ../src/guestfs.pod:2013 ../fish/guestfish.pod:950 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: textblock -#: ../src/guestfs.pod:1864 +#: ../src/guestfs.pod:2017 msgid "See also L above." msgstr "" # type: =item -#: ../src/guestfs.pod:1866 ../fish/guestfish.pod:920 +#: ../src/guestfs.pod:2019 ../fish/guestfish.pod:954 msgid "LIBGUESTFS_TRACE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1868 +#: ../src/guestfs.pod:2021 msgid "" "Set C to enable command traces. This has the same " "effect as calling C." msgstr "" # type: =item -#: ../src/guestfs.pod:1871 ../fish/guestfish.pod:929 +#: ../src/guestfs.pod:2024 ../fish/guestfish.pod:963 msgid "TMPDIR" msgstr "" # type: textblock -#: ../src/guestfs.pod:1873 ../fish/guestfish.pod:931 +#: ../src/guestfs.pod:2026 ../fish/guestfish.pod:965 msgid "Location of temporary directory, defaults to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1875 ../fish/guestfish.pod:933 +#: ../src/guestfs.pod:2028 ../fish/guestfish.pod:967 msgid "" "If libguestfs was compiled to use the supermin appliance then the real " "appliance is cached in this directory, shared between all handles belonging " @@ -3747,8 +3991,8 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1883 ../fish/guestfish.pod:991 -#: ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:214 +#: ../src/guestfs.pod:2036 ../fish/guestfish.pod:1025 +#: ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:221 #: ../inspector/virt-inspector.pl:570 ../tools/virt-edit.pl:350 #: ../tools/virt-win-reg.pl:484 ../tools/virt-df.pl:640 #: ../tools/virt-ls.pl:232 ../tools/virt-resize.pl:1486 @@ -3759,7 +4003,7 @@ msgid "SEE ALSO" msgstr "" # type: textblock -#: ../src/guestfs.pod:1885 +#: ../src/guestfs.pod:2038 msgid "" "L, L, L, L, L, L, L, L, L, L, L, L." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1910 ../tools/virt-win-reg.pl:499 +#: ../src/guestfs.pod:2063 ../tools/virt-win-reg.pl:499 #: ../tools/virt-make-fs.pl:548 msgid "BUGS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1912 +#: ../src/guestfs.pod:2065 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1914 +#: ../src/guestfs.pod:2067 msgid "" "L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1916 +#: ../src/guestfs.pod:2069 msgid "To report a new bug against libguestfs use this link:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1918 +#: ../src/guestfs.pod:2071 msgid "" "L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1920 +#: ../src/guestfs.pod:2073 msgid "When reporting a bug, please check:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:2079 msgid "That the bug hasn't been reported already." msgstr "" # type: textblock -#: ../src/guestfs.pod:1930 +#: ../src/guestfs.pod:2083 msgid "That you are testing a recent version." msgstr "" # type: textblock -#: ../src/guestfs.pod:1934 +#: ../src/guestfs.pod:2087 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" # type: textblock -#: ../src/guestfs.pod:1938 +#: ../src/guestfs.pod:2091 msgid "" "Run libguestfs-test-tool and paste the B output into the " "bug report." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1943 ../fish/guestfish.pod:1008 -#: ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:225 +#: ../src/guestfs.pod:2096 ../fish/guestfish.pod:1042 +#: ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:232 #: ../inspector/virt-inspector.pl:580 msgid "AUTHORS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1945 ../fish/guestfish.pod:1010 -#: ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:227 +#: ../src/guestfs.pod:2098 ../fish/guestfish.pod:1044 +#: ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:234 msgid "Richard W.M. Jones (C)" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1947 ../fish/guestfish.pod:1012 -#: ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:229 +#: ../src/guestfs.pod:2100 ../fish/guestfish.pod:1046 +#: ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:236 #: ../inspector/virt-inspector.pl:594 ../tools/virt-edit.pl:366 #: ../tools/virt-win-reg.pl:514 ../tools/virt-df.pl:653 #: ../tools/virt-ls.pl:247 ../tools/virt-resize.pl:1512 @@ -3858,13 +4102,13 @@ msgid "COPYRIGHT" msgstr "" # type: textblock -#: ../src/guestfs.pod:1949 ../fish/guestfish.pod:1014 -#: ../fuse/guestmount.pod:231 +#: ../src/guestfs.pod:2102 ../fish/guestfish.pod:1048 +#: ../fuse/guestmount.pod:238 msgid "Copyright (C) 2009-2010 Red Hat Inc. L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1952 +#: ../src/guestfs.pod:2105 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 " @@ -3873,7 +4117,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1957 +#: ../src/guestfs.pod:2110 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 " @@ -3882,7 +4126,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1962 +#: ../src/guestfs.pod:2115 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, " @@ -8076,7 +8320,7 @@ msgstr "" # type: textblock #: ../src/guestfs-actions.pod:2253 ../fish/guestfish-actions.pod:1678 -msgid "Debian or a Debian-derived distro such as Ubuntu." +msgid "Debian." msgstr "" # type: =item @@ -8140,37 +8384,37 @@ msgid "Red Hat Enterprise Linux and some derivatives." msgstr "" # type: =item -#: ../src/guestfs-actions.pod:2279 ../src/guestfs-actions.pod:2441 -#: ../fish/guestfish-actions.pod:1704 ../fish/guestfish-actions.pod:1834 -msgid "\"windows\"" +#: ../src/guestfs-actions.pod:2279 ../fish/guestfish-actions.pod:1704 +msgid "\"ubuntu\"" msgstr "" # type: textblock #: ../src/guestfs-actions.pod:2281 ../fish/guestfish-actions.pod:1706 -msgid "" -"Windows does not have distributions. This string is returned if the OS type " -"is Windows." +msgid "Ubuntu." msgstr "" # type: =item -#: ../src/guestfs-actions.pod:2284 ../fish/guestfish-actions.pod:1709 -msgid "\"ubuntu\"" +#: ../src/guestfs-actions.pod:2283 ../src/guestfs-actions.pod:2445 +#: ../fish/guestfish-actions.pod:1708 ../fish/guestfish-actions.pod:1838 +msgid "\"unknown\"" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:2286 ../fish/guestfish-actions.pod:1711 -msgid "Ubuntu." +#: ../src/guestfs-actions.pod:2285 ../fish/guestfish-actions.pod:1710 +msgid "The distro could not be determined." msgstr "" # type: =item -#: ../src/guestfs-actions.pod:2288 ../src/guestfs-actions.pod:2445 -#: ../fish/guestfish-actions.pod:1713 ../fish/guestfish-actions.pod:1838 -msgid "\"unknown\"" +#: ../src/guestfs-actions.pod:2287 ../src/guestfs-actions.pod:2441 +#: ../fish/guestfish-actions.pod:1712 ../fish/guestfish-actions.pod:1834 +msgid "\"windows\"" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:2290 ../fish/guestfish-actions.pod:1715 -msgid "The distro could not be determined." +#: ../src/guestfs-actions.pod:2289 ../fish/guestfish-actions.pod:1714 +msgid "" +"Windows does not have distributions. This string is returned if the OS type " +"is Windows." msgstr "" # type: textblock @@ -15627,7 +15871,7 @@ msgstr "" #: ../fish/guestfish.pod:13 #, no-wrap msgid "" -" guestfish -a disk.img\n" +" guestfish [--ro|--rw] -a disk.img\n" "\n" msgstr "" @@ -15635,7 +15879,7 @@ msgstr "" #: ../fish/guestfish.pod:15 #, no-wrap msgid "" -" guestfish -a disk.img -m dev[:mountpoint]\n" +" guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint]\n" "\n" msgstr "" @@ -15651,7 +15895,7 @@ msgstr "" #: ../fish/guestfish.pod:19 #, no-wrap msgid "" -" guestfish -a disk.img -i\n" +" guestfish [--ro|--rw] -a disk.img -i\n" "\n" msgstr "" @@ -15697,7 +15941,7 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:800 +#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:834 #: ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:58 #: ../tools/virt-resize.pl:66 ../tools/virt-cat.pl:50 ../tools/virt-tar.pl:45 msgid "EXAMPLES" @@ -15838,7 +16082,7 @@ msgstr "" #: ../fish/guestfish.pod:102 #, no-wrap msgid "" -" guestfish --add disk.img \\\n" +" guestfish --rw --add disk.img \\\n" " --mount /dev/vg_guest/lv_root \\\n" " --mount /dev/sda1:/boot \\\n" " edit /boot/grub/grub.conf\n" @@ -15881,7 +16125,7 @@ msgstr "" #: ../fish/guestfish.pod:118 #, no-wrap msgid "" -" guestfish -a disk.img -i edit /boot/grub/grub.conf\n" +" guestfish --rw -a disk.img -i edit /boot/grub/grub.conf\n" "\n" msgstr "" @@ -15933,7 +16177,7 @@ msgid "To list what is available do:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:791 +#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:825 #, no-wrap msgid "" " guestfish -N help | less\n" @@ -15949,7 +16193,7 @@ msgstr "" #: ../fish/guestfish.pod:143 #, no-wrap msgid "" -" eval `guestfish --listen`\n" +" eval \"`guestfish --listen`\"\n" " guestfish --remote add-ro disk.img\n" " guestfish --remote run\n" " guestfish --remote lvs\n" @@ -16106,7 +16350,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:211 ../fish/guestfish.pod:504 +#: ../fish/guestfish.pod:211 ../fish/guestfish.pod:538 #: ../inspector/virt-inspector.pl:549 msgid "For example:" msgstr "" @@ -16195,7 +16439,7 @@ msgstr "" #: ../fish/guestfish.pod:243 #, no-wrap msgid "" -" guestfish -a /dev/Guests/MyGuest -i\n" +" guestfish --rw -a /dev/Guests/MyGuest -i\n" "\n" msgstr "" @@ -16374,68 +16618,85 @@ msgid "" "I<--ro> option." msgstr "" +# type: textblock +#: ../fish/guestfish.pod:318 +msgid "See also L below." +msgstr "" + # type: =item -#: ../fish/guestfish.pod:318 ../fuse/guestmount.pod:194 +#: ../fish/guestfish.pod:320 ../fuse/guestmount.pod:196 #: ../tools/virt-rescue.pl:195 msgid "B<--selinux>" msgstr "" # type: textblock -#: ../fish/guestfish.pod:320 +#: ../fish/guestfish.pod:322 msgid "Enable SELinux support for the guest. See L." msgstr "" # type: =item -#: ../fish/guestfish.pod:322 ../fuse/guestmount.pod:198 +#: ../fish/guestfish.pod:324 ../fuse/guestmount.pod:200 msgid "B<-v> | B<--verbose>" msgstr "" # type: textblock -#: ../fish/guestfish.pod:324 +#: ../fish/guestfish.pod:326 msgid "" "Enable very verbose messages. This is particularly useful if you find a bug." msgstr "" # type: =item -#: ../fish/guestfish.pod:327 ../fuse/guestmount.pod:202 +#: ../fish/guestfish.pod:329 ../fuse/guestmount.pod:204 msgid "B<-V> | B<--version>" msgstr "" # type: textblock -#: ../fish/guestfish.pod:329 +#: ../fish/guestfish.pod:331 msgid "Display the guestfish / libguestfs version number and exit." msgstr "" # type: =item -#: ../fish/guestfish.pod:331 +#: ../fish/guestfish.pod:333 ../fuse/guestmount.pod:208 +msgid "B<-w> | B<--rw>" +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:335 +msgid "" +"This option does nothing at the moment. See L below." +msgstr "" + +# type: =item +#: ../fish/guestfish.pod:338 msgid "B<-x>" msgstr "" # type: textblock -#: ../fish/guestfish.pod:333 +#: ../fish/guestfish.pod:340 msgid "Echo each command before executing it." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:337 +#: ../fish/guestfish.pod:344 msgid "COMMANDS ON COMMAND LINE" msgstr "" # type: textblock -#: ../fish/guestfish.pod:339 +#: ../fish/guestfish.pod:346 msgid "" "Any additional (non-option) arguments are treated as commands to execute." msgstr "" # type: textblock -#: ../fish/guestfish.pod:342 +#: ../fish/guestfish.pod:349 msgid "" "Commands to execute should be separated by a colon (C<:>), where the colon " "is a separate parameter. Thus:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:345 +#: ../fish/guestfish.pod:352 #, no-wrap msgid "" " guestfish cmd [args...] : cmd [args...] : cmd [args...] ...\n" @@ -16443,7 +16704,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:347 +#: ../fish/guestfish.pod:354 msgid "" "If there are no additional arguments, then we enter a shell, either an " "interactive shell with a prompt (if the input is a terminal) or a non-" @@ -16451,7 +16712,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:351 +#: ../fish/guestfish.pod:358 msgid "" "In either command line mode or non-interactive shell, the first command that " "gives an error causes the whole shell to exit. In interactive mode (with a " @@ -16459,12 +16720,12 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:356 +#: ../fish/guestfish.pod:363 msgid "USING launch (OR run)" msgstr "" # type: textblock -#: ../fish/guestfish.pod:358 +#: ../fish/guestfish.pod:365 msgid "" "As with L, you must first configure your guest by adding disks, " "then launch it, then mount any disks you need, and finally issue actions/" @@ -16472,34 +16733,34 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:366 +#: ../fish/guestfish.pod:373 msgid "add or -a/--add" msgstr "" # type: textblock -#: ../fish/guestfish.pod:370 +#: ../fish/guestfish.pod:377 msgid "launch (aka run)" msgstr "" # type: textblock -#: ../fish/guestfish.pod:374 +#: ../fish/guestfish.pod:381 msgid "mount or -m/--mount" msgstr "" # type: textblock -#: ../fish/guestfish.pod:378 +#: ../fish/guestfish.pod:385 msgid "any other commands" msgstr "" # type: textblock -#: ../fish/guestfish.pod:382 +#: ../fish/guestfish.pod:389 msgid "" "C is a synonym for C. You must C (or C) your " "guest before mounting or performing any other commands." msgstr "" # type: textblock -#: ../fish/guestfish.pod:385 +#: ../fish/guestfish.pod:392 msgid "" "The only exception is that if any of the I<-i>, I<-m>, I<--mount>, I<-N> or " "I<--new> options were given then C is done automatically, simply " @@ -16507,19 +16768,72 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:390 +#: ../fish/guestfish.pod:397 +msgid "OPENING DISKS FOR READ AND WRITE" +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:399 +msgid "" +"The guestfish (and L) options I<--ro> and I<--rw> affect " +"whether the other command line options I<-a>, I<-c>, I<-d>, I<-i> and I<-m> " +"open disk images read-only or for writing." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:403 +msgid "" +"In libguestfs E 1.6.2, guestfish and guestmount defaulted to opening " +"disk images supplied on the command line for write. To open a disk image " +"read-only you have to do I<-a image --ro>." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:407 +msgid "" +"This matters: If you accidentally open a live VM disk image writable then " +"you will cause irreversible disk corruption." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:410 +msgid "" +"By libguestfs 1.8 we intend to change the default the other way. Disk " +"images will be opened read-only. You will have to either specify " +"I or change a configuration file in order to get write " +"access for disk images specified by those other command line options." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:415 +msgid "" +"This version of guestfish has a I<--rw> option which does nothing (it is " +"already the default). However it is highly recommended that you use this " +"option to indicate that guestfish needs write access, and to prepare your " +"scripts for the day when this option will be required for write access." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:421 +msgid "" +"B This does I affect commands like L and L, or any " +"other libguestfs program apart from guestfish and guestmount." +msgstr "" + +# type: =head1 +#: ../fish/guestfish.pod:424 msgid "QUOTING" msgstr "" # type: textblock -#: ../fish/guestfish.pod:392 +#: ../fish/guestfish.pod:426 msgid "" "You can quote ordinary parameters using either single or double quotes. For " "example:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:395 +#: ../fish/guestfish.pod:429 #, no-wrap msgid "" " add \"file with a space.img\"\n" @@ -16527,7 +16841,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:397 +#: ../fish/guestfish.pod:431 #, no-wrap msgid "" " rm '/file name'\n" @@ -16535,7 +16849,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:399 +#: ../fish/guestfish.pod:433 #, no-wrap msgid "" " rm '/\"'\n" @@ -16543,7 +16857,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:401 +#: ../fish/guestfish.pod:435 msgid "" "A few commands require a list of strings to be passed. For these, use a " "whitespace-separated list, enclosed in quotes. Strings containing " @@ -16552,7 +16866,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:406 +#: ../fish/guestfish.pod:440 #, no-wrap msgid "" " vgcreate VG \"/dev/sda1 /dev/sdb1\"\n" @@ -16562,19 +16876,19 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:410 +#: ../fish/guestfish.pod:444 msgid "OPTIONAL ARGUMENTS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:412 +#: ../fish/guestfish.pod:446 msgid "" "Some commands take optional arguments. These arguments appear in this " "documentation as C<[argname:..]>. You can use them as in these examples:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:416 +#: ../fish/guestfish.pod:450 #, no-wrap msgid "" " add-drive-opts filename\n" @@ -16582,7 +16896,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:418 +#: ../fish/guestfish.pod:452 #, no-wrap msgid "" " add-drive-opts filename readonly:true\n" @@ -16590,7 +16904,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:420 +#: ../fish/guestfish.pod:454 #, no-wrap msgid "" " add-drive-opts filename format:qcow2 readonly:false\n" @@ -16598,197 +16912,197 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:422 +#: ../fish/guestfish.pod:456 msgid "" "Each optional argument can appear at most once. All optional arguments must " "appear after the required ones." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:425 +#: ../fish/guestfish.pod:459 msgid "NUMBERS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:427 +#: ../fish/guestfish.pod:461 msgid "" "This section applies to all commands which can take integers as parameters." msgstr "" # type: =head2 -#: ../fish/guestfish.pod:430 +#: ../fish/guestfish.pod:464 msgid "SIZE SUFFIX" msgstr "" # type: textblock -#: ../fish/guestfish.pod:432 +#: ../fish/guestfish.pod:466 msgid "" "When the command takes a parameter measured in bytes, you can use one of the " "following suffixes to specify kilobytes, megabytes and larger sizes:" msgstr "" # type: =item -#: ../fish/guestfish.pod:438 +#: ../fish/guestfish.pod:472 msgid "B or B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:440 +#: ../fish/guestfish.pod:474 msgid "The size in kilobytes (multiplied by 1024)." msgstr "" # type: =item -#: ../fish/guestfish.pod:442 +#: ../fish/guestfish.pod:476 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:444 +#: ../fish/guestfish.pod:478 msgid "The size in SI 1000 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:446 +#: ../fish/guestfish.pod:480 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:448 +#: ../fish/guestfish.pod:482 msgid "The size in megabytes (multiplied by 1048576)." msgstr "" # type: =item -#: ../fish/guestfish.pod:450 +#: ../fish/guestfish.pod:484 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:452 +#: ../fish/guestfish.pod:486 msgid "The size in SI 1000000 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:454 +#: ../fish/guestfish.pod:488 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:456 +#: ../fish/guestfish.pod:490 msgid "The size in gigabytes (multiplied by 2**30)." msgstr "" # type: =item -#: ../fish/guestfish.pod:458 +#: ../fish/guestfish.pod:492 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:460 +#: ../fish/guestfish.pod:494 msgid "The size in SI 10**9 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:462 +#: ../fish/guestfish.pod:496 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:464 +#: ../fish/guestfish.pod:498 msgid "The size in terabytes (multiplied by 2**40)." msgstr "" # type: =item -#: ../fish/guestfish.pod:466 +#: ../fish/guestfish.pod:500 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:468 +#: ../fish/guestfish.pod:502 msgid "The size in SI 10**12 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:470 +#: ../fish/guestfish.pod:504 msgid "B

or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:472 +#: ../fish/guestfish.pod:506 msgid "The size in petabytes (multiplied by 2**50)." msgstr "" # type: =item -#: ../fish/guestfish.pod:474 +#: ../fish/guestfish.pod:508 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:476 +#: ../fish/guestfish.pod:510 msgid "The size in SI 10**15 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:478 +#: ../fish/guestfish.pod:512 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:480 +#: ../fish/guestfish.pod:514 msgid "The size in exabytes (multiplied by 2**60)." msgstr "" # type: =item -#: ../fish/guestfish.pod:482 +#: ../fish/guestfish.pod:516 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:484 +#: ../fish/guestfish.pod:518 msgid "The size in SI 10**18 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:486 +#: ../fish/guestfish.pod:520 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:488 +#: ../fish/guestfish.pod:522 msgid "The size in zettabytes (multiplied by 2**70)." msgstr "" # type: =item -#: ../fish/guestfish.pod:490 +#: ../fish/guestfish.pod:524 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:492 +#: ../fish/guestfish.pod:526 msgid "The size in SI 10**21 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:494 +#: ../fish/guestfish.pod:528 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:496 +#: ../fish/guestfish.pod:530 msgid "The size in yottabytes (multiplied by 2**80)." msgstr "" # type: =item -#: ../fish/guestfish.pod:498 +#: ../fish/guestfish.pod:532 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:500 +#: ../fish/guestfish.pod:534 msgid "The size in SI 10**24 byte units." msgstr "" # type: verbatim -#: ../fish/guestfish.pod:506 +#: ../fish/guestfish.pod:540 #, no-wrap msgid "" " truncate-size /file 1G\n" @@ -16796,12 +17110,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:508 +#: ../fish/guestfish.pod:542 msgid "would truncate the file to 1 gigabyte." msgstr "" # type: textblock -#: ../fish/guestfish.pod:510 +#: ../fish/guestfish.pod:544 msgid "" "Be careful because a few commands take sizes in kilobytes or megabytes (eg. " "the parameter to L is specified in megabytes already). Adding a " @@ -16809,19 +17123,19 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish.pod:514 +#: ../fish/guestfish.pod:548 msgid "OCTAL AND HEXADECIMAL NUMBERS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:516 +#: ../fish/guestfish.pod:550 msgid "" "For specifying the radix (base) use the C convention: C<0> to prefix an " "octal number or C<0x> to prefix a hexadecimal number. For example:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:519 +#: ../fish/guestfish.pod:553 #, no-wrap msgid "" " 1234 decimal number 1234\n" @@ -16831,7 +17145,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:523 +#: ../fish/guestfish.pod:557 msgid "" "When using the C command, you almost always want to specify an octal " "number for the mode, and you must prefix it with C<0> (unlike the Unix " @@ -16839,7 +17153,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:527 +#: ../fish/guestfish.pod:561 #, no-wrap msgid "" " chmod 0777 /public # OK\n" @@ -16848,7 +17162,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:530 +#: ../fish/guestfish.pod:564 msgid "" "Commands that return numbers usually print them in decimal, but some " "commands print numbers in other radices (eg. C prints the mode in " @@ -16856,12 +17170,12 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:534 +#: ../fish/guestfish.pod:568 msgid "WILDCARDS AND GLOBBING" msgstr "" # type: textblock -#: ../fish/guestfish.pod:536 +#: ../fish/guestfish.pod:570 msgid "" "Neither guestfish nor the underlying guestfs API performs wildcard expansion " "(globbing) by default. So for example the following will not do what you " @@ -16869,7 +17183,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:540 +#: ../fish/guestfish.pod:574 #, no-wrap msgid "" " rm-rf /home/*\n" @@ -16877,19 +17191,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:542 +#: ../fish/guestfish.pod:576 msgid "" "Assuming you don't have a directory called literally C then the " "above command will return an error." msgstr "" # type: textblock -#: ../fish/guestfish.pod:545 +#: ../fish/guestfish.pod:579 msgid "To perform wildcard expansion, use the C command." msgstr "" # type: verbatim -#: ../fish/guestfish.pod:547 +#: ../fish/guestfish.pod:581 #, no-wrap msgid "" " glob rm-rf /home/*\n" @@ -16897,14 +17211,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:549 +#: ../fish/guestfish.pod:583 msgid "" "runs C on each path that matches (ie. potentially running the command " "many times), equivalent to:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:552 +#: ../fish/guestfish.pod:586 #, no-wrap msgid "" " rm-rf /home/jim\n" @@ -16914,24 +17228,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:556 +#: ../fish/guestfish.pod:590 msgid "C only works on simple guest paths and not on device names." msgstr "" # type: textblock -#: ../fish/guestfish.pod:558 +#: ../fish/guestfish.pod:592 msgid "" "If you have several parameters, each containing a wildcard, then glob will " "perform a Cartesian product." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:561 +#: ../fish/guestfish.pod:595 msgid "COMMENTS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:563 +#: ../fish/guestfish.pod:597 msgid "" "Any line which starts with a I<#> character is treated as a comment and " "ignored. The I<#> can optionally be preceeded by whitespace, but B by " @@ -16939,7 +17253,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:567 +#: ../fish/guestfish.pod:601 #, no-wrap msgid "" " # this is a comment\n" @@ -16949,24 +17263,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:571 +#: ../fish/guestfish.pod:605 msgid "Blank lines are also ignored." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:573 +#: ../fish/guestfish.pod:607 msgid "RUNNING COMMANDS LOCALLY" msgstr "" # type: textblock -#: ../fish/guestfish.pod:575 +#: ../fish/guestfish.pod:609 msgid "" "Any line which starts with a I character is treated as a command sent to " "the local shell (C or whatever L uses). For example:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:579 +#: ../fish/guestfish.pod:613 #, no-wrap msgid "" " !mkdir local\n" @@ -16975,7 +17289,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:582 +#: ../fish/guestfish.pod:616 msgid "" "will create a directory C on the host, and then export the contents " "of C on the mounted filesystem to C. " @@ -16983,19 +17297,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:586 +#: ../fish/guestfish.pod:620 msgid "" "To change the local directory, use the C command. C will have no " "effect, due to the way that subprocesses work in Unix." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:589 +#: ../fish/guestfish.pod:623 msgid "PIPES" msgstr "" # type: textblock -#: ../fish/guestfish.pod:591 +#: ../fish/guestfish.pod:625 msgid "" "Use CspaceE | command> to pipe the output of the first " "command (a guestfish command) to the second command (any host command). For " @@ -17003,7 +17317,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:595 +#: ../fish/guestfish.pod:629 #, no-wrap msgid "" " cat /etc/passwd | awk -F: '$3 == 0 { print }'\n" @@ -17011,7 +17325,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:597 +#: ../fish/guestfish.pod:631 msgid "" "(where C is the guestfish cat command, but C is the host awk " "program). The above command would list all accounts in the guest filesystem " @@ -17019,7 +17333,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:602 +#: ../fish/guestfish.pod:636 #, no-wrap msgid "" " hexdump /bin/ls | head\n" @@ -17029,7 +17343,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:606 +#: ../fish/guestfish.pod:640 msgid "" "The space before the pipe symbol is required, any space after the pipe " "symbol is optional. Everything after the pipe symbol is just passed " @@ -17038,14 +17352,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:611 +#: ../fish/guestfish.pod:645 msgid "" "To use a literal argument which begins with a pipe symbol, you have to quote " "it, eg:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:614 +#: ../fish/guestfish.pod:648 #, no-wrap msgid "" " echo \"|\"\n" @@ -17053,12 +17367,12 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:616 +#: ../fish/guestfish.pod:650 msgid "HOME DIRECTORIES" msgstr "" # type: textblock -#: ../fish/guestfish.pod:618 +#: ../fish/guestfish.pod:652 msgid "" "If a parameter starts with the character C<~> then the tilde may be expanded " "as a home directory path (either C<~> for the current user's home directory, " @@ -17066,21 +17380,21 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:622 +#: ../fish/guestfish.pod:656 msgid "" "Note that home directory expansion happens for users known I, " "not in the guest filesystem." msgstr "" # type: textblock -#: ../fish/guestfish.pod:625 +#: ../fish/guestfish.pod:659 msgid "" "To use a literal argument which begins with a tilde, you have to quote it, " "eg:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:628 +#: ../fish/guestfish.pod:662 #, no-wrap msgid "" " echo \"~\"\n" @@ -17088,7 +17402,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:632 +#: ../fish/guestfish.pod:666 msgid "" "Libguestfs has some support for Linux guests encrypted according to the " "Linux Unified Key Setup (LUKS) standard, which includes nearly all whole " @@ -17097,12 +17411,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:637 +#: ../fish/guestfish.pod:671 msgid "Identify encrypted block devices and partitions using L:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:639 +#: ../fish/guestfish.pod:673 #, no-wrap msgid "" " > vfs-type /dev/sda2\n" @@ -17111,14 +17425,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:642 +#: ../fish/guestfish.pod:676 msgid "" "Then open those devices using L. This creates a device-mapper " "device called C." msgstr "" # type: verbatim -#: ../fish/guestfish.pod:645 +#: ../fish/guestfish.pod:679 #, no-wrap msgid "" " > luks-open /dev/sda2 luksdev\n" @@ -17127,14 +17441,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:648 +#: ../fish/guestfish.pod:682 msgid "" "Finally you have to tell LVM to scan for volume groups on the newly created " "mapper device:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:651 +#: ../fish/guestfish.pod:685 #, no-wrap msgid "" " vgscan\n" @@ -17143,12 +17457,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:654 +#: ../fish/guestfish.pod:688 msgid "The logical volume(s) can now be mounted in the usual way." msgstr "" # type: textblock -#: ../fish/guestfish.pod:656 +#: ../fish/guestfish.pod:690 msgid "" "Before closing a LUKS device you must unmount any logical volumes on it and " "deactivate the volume groups by calling C on each " @@ -17156,7 +17470,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:660 +#: ../fish/guestfish.pod:694 #, no-wrap msgid "" " vg-activate false /dev/VG\n" @@ -17165,19 +17479,19 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:663 +#: ../fish/guestfish.pod:697 msgid "WINDOWS PATHS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:665 +#: ../fish/guestfish.pod:699 msgid "" "If a path is prefixed with C then you can use Windows-style paths " "(with some limitations). The following commands are equivalent:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:668 +#: ../fish/guestfish.pod:702 #, no-wrap msgid "" " file /WINDOWS/system32/config/system.LOG\n" @@ -17185,7 +17499,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:670 +#: ../fish/guestfish.pod:704 #, no-wrap msgid "" " file win:/windows/system32/config/system.log\n" @@ -17193,7 +17507,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:672 +#: ../fish/guestfish.pod:706 #, no-wrap msgid "" " file win:\\windows\\system32\\config\\system.log\n" @@ -17201,7 +17515,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:674 +#: ../fish/guestfish.pod:708 #, no-wrap msgid "" " file WIN:C:\\Windows\\SYSTEM32\\conFIG\\SYSTEM.LOG\n" @@ -17209,7 +17523,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:676 +#: ../fish/guestfish.pod:710 msgid "" "This syntax implicitly calls C (q.v.) so it also " "handles case insensitivity like Windows would. This only works in argument " @@ -17217,12 +17531,12 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:680 +#: ../fish/guestfish.pod:714 msgid "UPLOADING AND DOWNLOADING FILES" msgstr "" # type: textblock -#: ../fish/guestfish.pod:682 +#: ../fish/guestfish.pod:716 msgid "" "For commands such as C, C, C, C and " "others which upload from or download to a local file, you can use the " @@ -17230,7 +17544,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:686 +#: ../fish/guestfish.pod:720 #, no-wrap msgid "" " upload - /foo\n" @@ -17238,13 +17552,13 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:688 +#: ../fish/guestfish.pod:722 msgid "" "reads stdin and creates from that a file C in the disk image, and:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:691 +#: ../fish/guestfish.pod:725 #, no-wrap msgid "" " tar-out /etc - | tar tf -\n" @@ -17252,14 +17566,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:693 +#: ../fish/guestfish.pod:727 msgid "" "writes the tarball to stdout and then pipes that into the external \"tar\" " "command (see L)." msgstr "" # type: textblock -#: ../fish/guestfish.pod:696 +#: ../fish/guestfish.pod:730 msgid "" "When using C<-> to read from stdin, the input is read up to the end of " "stdin. You can also use a special \"heredoc\"-like syntax to read up to " @@ -17267,7 +17581,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:700 +#: ../fish/guestfish.pod:734 #, no-wrap msgid "" " upload -<. The end marker must " "appear on a line of its own, without any preceeding or following characters " @@ -17287,19 +17601,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:710 +#: ../fish/guestfish.pod:744 msgid "" "Note that the C<-EE> syntax only applies to parameters used to " "upload local files (so-called \"FileIn\" parameters in the generator)." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:713 +#: ../fish/guestfish.pod:747 msgid "EXIT ON ERROR BEHAVIOUR" msgstr "" # type: textblock -#: ../fish/guestfish.pod:715 +#: ../fish/guestfish.pod:749 msgid "" "By default, guestfish will ignore any errors when in interactive mode (ie. " "taking commands from a human over a tty), and will exit on the first error " @@ -17307,19 +17621,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:720 +#: ../fish/guestfish.pod:754 msgid "" "If you prefix a command with a I<-> character, then that command will not " "cause guestfish to exit, even if that (one) command returns an error." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:724 +#: ../fish/guestfish.pod:758 msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET" msgstr "" # type: textblock -#: ../fish/guestfish.pod:726 +#: ../fish/guestfish.pod:760 msgid "" "Guestfish can be remote-controlled over a socket. This is useful " "particularly in shell scripts where you want to make several different " @@ -17328,25 +17642,25 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:731 +#: ../fish/guestfish.pod:765 msgid "Start a guestfish server process using:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:733 +#: ../fish/guestfish.pod:767 #, no-wrap msgid "" -" eval `guestfish --listen`\n" +" eval \"`guestfish --listen`\"\n" "\n" msgstr "" # type: textblock -#: ../fish/guestfish.pod:735 +#: ../fish/guestfish.pod:769 msgid "and then send it commands by doing:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:737 +#: ../fish/guestfish.pod:771 #, no-wrap msgid "" " guestfish --remote cmd [...]\n" @@ -17354,12 +17668,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:739 +#: ../fish/guestfish.pod:773 msgid "To cause the server to exit, send it the exit command:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:741 +#: ../fish/guestfish.pod:775 #, no-wrap msgid "" " guestfish --remote exit\n" @@ -17367,7 +17681,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:743 +#: ../fish/guestfish.pod:777 msgid "" "Note that the server will normally exit if there is an error in a command. " "You can change this in the usual way. See section L statement sets the environment variable C<$GUESTFISH_PID>, which " "is how the I<--remote> option knows where to send the commands. You can " @@ -17388,12 +17702,12 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:753 +#: ../fish/guestfish.pod:787 #, no-wrap msgid "" -" eval `guestfish --listen`\n" +" eval \"`guestfish --listen`\"\n" " pid1=$GUESTFISH_PID\n" -" eval `guestfish --listen`\n" +" eval \"`guestfish --listen`\"\n" " pid2=$GUESTFISH_PID\n" " ...\n" " guestfish --remote=$pid1 cmd\n" @@ -17402,12 +17716,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish.pod:761 +#: ../fish/guestfish.pod:795 msgid "REMOTE CONTROL DETAILS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:763 +#: ../fish/guestfish.pod:797 msgid "" "Remote control happens over a Unix domain socket called C, where C<$UID> is the effective user ID of the process, " @@ -17415,17 +17729,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:767 +#: ../fish/guestfish.pod:801 msgid "Guestfish client and server versions must match exactly." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:769 +#: ../fish/guestfish.pod:803 msgid "PREPARED DISK IMAGES" msgstr "" # type: textblock -#: ../fish/guestfish.pod:771 +#: ../fish/guestfish.pod:805 msgid "" "Use the I<-N type> or I<--new type> parameter to select one of a set of " "preformatted disk images that guestfish can make for you to save typing. " @@ -17435,7 +17749,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:777 +#: ../fish/guestfish.pod:811 msgid "" "The new disk is called C for the first I<-N>, C for " "the second and so on. Existing files in the current directory are " @@ -17443,7 +17757,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:781 +#: ../fish/guestfish.pod:815 msgid "" "The type briefly describes how the disk should be sized, partitioned, how " "filesystem(s) should be created, and how content should be added. " @@ -17455,31 +17769,31 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:789 +#: ../fish/guestfish.pod:823 msgid "To list the available types and any extra parameters they take, run:" msgstr "" # type: textblock -#: ../fish/guestfish.pod:793 +#: ../fish/guestfish.pod:827 msgid "" "Note that the prepared filesystem is not mounted. You would usually have to " "use the C command or add the I<-m /dev/sda1> option." msgstr "" # type: textblock -#: ../fish/guestfish.pod:797 +#: ../fish/guestfish.pod:831 msgid "" "If any I<-N> or I<--new> options are given, the guest is automatically " "launched." msgstr "" # type: textblock -#: ../fish/guestfish.pod:802 +#: ../fish/guestfish.pod:836 msgid "Create a 100MB disk with an ext4-formatted partition:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:804 +#: ../fish/guestfish.pod:838 #, no-wrap msgid "" " guestfish -N fs:ext4\n" @@ -17487,12 +17801,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:806 +#: ../fish/guestfish.pod:840 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:808 +#: ../fish/guestfish.pod:842 #, no-wrap msgid "" " guestfish -N fs:vfat:32M -m /dev/sda1\n" @@ -17500,12 +17814,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:810 +#: ../fish/guestfish.pod:844 msgid "Create a blank 200MB disk:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:812 +#: ../fish/guestfish.pod:846 #, no-wrap msgid "" " guestfish -N disk:200M\n" @@ -17513,19 +17827,19 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:814 +#: ../fish/guestfish.pod:848 msgid "PROGRESS BARS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:816 +#: ../fish/guestfish.pod:850 msgid "" "Some (not all) long-running commands send progress notification messages as " "they are running. Guestfish turns these messages into progress bars." msgstr "" # type: textblock -#: ../fish/guestfish.pod:820 +#: ../fish/guestfish.pod:854 msgid "" "When a command that supports progress bars takes longer than two seconds to " "run, and if progress bars are enabled, then you will see one appearing below " @@ -17533,7 +17847,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:824 +#: ../fish/guestfish.pod:858 #, no-wrap msgid "" " > copy-size /large-file /another-file 2048M\n" @@ -17542,7 +17856,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:827 +#: ../fish/guestfish.pod:861 msgid "" "The spinner on the left hand side moves round once for every progress " "notification received from the backend. This is a (reasonably) golden " @@ -17553,7 +17867,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:834 +#: ../fish/guestfish.pod:868 msgid "" "Progress bars are enabled by default when guestfish is used interactively. " "You can enable them even for non-interactive modes using I<--progress-bars>, " @@ -17561,24 +17875,24 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:839 +#: ../fish/guestfish.pod:873 msgid "GUESTFISH COMMANDS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:841 +#: ../fish/guestfish.pod:875 msgid "" "The commands in this section are guestfish convenience commands, in other " "words, they are not part of the L API." msgstr "" # type: =head2 -#: ../fish/guestfish.pod:844 +#: ../fish/guestfish.pod:878 msgid "help" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:846 +#: ../fish/guestfish.pod:880 #, no-wrap msgid "" " help\n" @@ -17587,152 +17901,152 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:849 +#: ../fish/guestfish.pod:883 msgid "" "Without any parameter, this lists all commands. With a C parameter, " "this displays detailed help for a command." msgstr "" # type: =head2 -#: ../fish/guestfish.pod:852 +#: ../fish/guestfish.pod:886 msgid "quit | exit" msgstr "" # type: textblock -#: ../fish/guestfish.pod:854 +#: ../fish/guestfish.pod:888 msgid "This exits guestfish. You can also use C<^D> key." msgstr "" # type: textblock -#: ../fish/guestfish.pod:856 +#: ../fish/guestfish.pod:890 msgid "@FISH_COMMANDS@" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:858 +#: ../fish/guestfish.pod:892 msgid "COMMANDS" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:862 ../test-tool/libguestfs-test-tool.pod:83 +#: ../fish/guestfish.pod:896 ../test-tool/libguestfs-test-tool.pod:83 msgid "EXIT CODE" msgstr "" # type: textblock -#: ../fish/guestfish.pod:864 +#: ../fish/guestfish.pod:898 msgid "" "guestfish returns 0 if the commands completed without error, or 1 if there " "was an error." msgstr "" # type: =item -#: ../fish/guestfish.pod:871 +#: ../fish/guestfish.pod:905 msgid "EDITOR" msgstr "" # type: textblock -#: ../fish/guestfish.pod:873 +#: ../fish/guestfish.pod:907 msgid "" "The C command uses C<$EDITOR> as the editor. If not set, it uses " "C." msgstr "" # type: =item -#: ../fish/guestfish.pod:876 +#: ../fish/guestfish.pod:910 msgid "GUESTFISH_PID" msgstr "" # type: textblock -#: ../fish/guestfish.pod:878 +#: ../fish/guestfish.pod:912 msgid "" "Used with the I<--remote> option to specify the remote guestfish process to " "control. See section L." msgstr "" # type: =item -#: ../fish/guestfish.pod:882 +#: ../fish/guestfish.pod:916 msgid "HEXEDITOR" msgstr "" # type: textblock -#: ../fish/guestfish.pod:884 +#: ../fish/guestfish.pod:918 msgid "" "The L command uses C<$HEXEDITOR> as the external hex editor. If " "not specified, the external L program is used." msgstr "" # type: =item -#: ../fish/guestfish.pod:888 +#: ../fish/guestfish.pod:922 msgid "HOME" msgstr "" # type: textblock -#: ../fish/guestfish.pod:890 +#: ../fish/guestfish.pod:924 msgid "" "If compiled with GNU readline support, various files in the home directory " "can be used. See L." msgstr "" # type: textblock -#: ../fish/guestfish.pod:899 +#: ../fish/guestfish.pod:933 msgid "" "Set C to enable verbose messages. This has the same " "effect as using the B<-v> option." msgstr "" # type: textblock -#: ../fish/guestfish.pod:911 +#: ../fish/guestfish.pod:945 msgid "" "Set the path that guestfish uses to search for kernel and initrd.img. See " "the discussion of paths in L." msgstr "" # type: textblock -#: ../fish/guestfish.pod:922 +#: ../fish/guestfish.pod:956 msgid "Set C to enable command traces." msgstr "" # type: =item -#: ../fish/guestfish.pod:924 +#: ../fish/guestfish.pod:958 msgid "PAGER" msgstr "" # type: textblock -#: ../fish/guestfish.pod:926 +#: ../fish/guestfish.pod:960 msgid "" "The C command uses C<$PAGER> as the pager. If not set, it uses " "C." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:941 ../test-tool/libguestfs-test-tool.pod:88 +#: ../fish/guestfish.pod:975 ../test-tool/libguestfs-test-tool.pod:88 msgid "FILES" msgstr "" # type: =item -#: ../fish/guestfish.pod:945 +#: ../fish/guestfish.pod:979 msgid "$HOME/.guestfish" msgstr "" # type: textblock -#: ../fish/guestfish.pod:947 +#: ../fish/guestfish.pod:981 msgid "" "If compiled with GNU readline support, then the command history is saved in " "this file." msgstr "" # type: =item -#: ../fish/guestfish.pod:950 +#: ../fish/guestfish.pod:984 msgid "$HOME/.inputrc" msgstr "" # type: =item -#: ../fish/guestfish.pod:952 +#: ../fish/guestfish.pod:986 msgid "/etc/inputrc" msgstr "" # type: textblock -#: ../fish/guestfish.pod:954 +#: ../fish/guestfish.pod:988 msgid "" "If compiled with GNU readline support, then these files can be used to " "configure readline. For further information, please see L or C<--new> option, the prepared disk or filesystem " "will be created in the file C in the current directory. The " @@ -17806,7 +18120,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:993 +#: ../fish/guestfish.pod:1027 msgid "" "L, L, L, L, " "L, L, L, " @@ -17815,8 +18129,8 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:1017 ../test-tool/libguestfs-test-tool.pod:124 -#: ../fuse/guestmount.pod:234 ../inspector/virt-inspector.pl:598 +#: ../fish/guestfish.pod:1051 ../test-tool/libguestfs-test-tool.pod:124 +#: ../fuse/guestmount.pod:241 ../inspector/virt-inspector.pl:598 #: ../tools/virt-edit.pl:370 ../tools/virt-win-reg.pl:518 #: ../tools/virt-df.pl:657 ../tools/virt-ls.pl:251 #: ../tools/virt-resize.pl:1516 ../tools/virt-list-filesystems.pl:206 @@ -17831,8 +18145,8 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:1022 ../test-tool/libguestfs-test-tool.pod:129 -#: ../fuse/guestmount.pod:239 ../inspector/virt-inspector.pl:603 +#: ../fish/guestfish.pod:1056 ../test-tool/libguestfs-test-tool.pod:129 +#: ../fuse/guestmount.pod:246 ../inspector/virt-inspector.pl:603 #: ../tools/virt-edit.pl:375 ../tools/virt-win-reg.pl:523 #: ../tools/virt-df.pl:662 ../tools/virt-ls.pl:256 #: ../tools/virt-resize.pl:1521 ../tools/virt-list-filesystems.pl:211 @@ -17847,8 +18161,8 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:1027 ../test-tool/libguestfs-test-tool.pod:134 -#: ../fuse/guestmount.pod:244 ../inspector/virt-inspector.pl:608 +#: ../fish/guestfish.pod:1061 ../test-tool/libguestfs-test-tool.pod:134 +#: ../fuse/guestmount.pod:251 ../inspector/virt-inspector.pl:608 #: ../tools/virt-edit.pl:380 ../tools/virt-win-reg.pl:528 #: ../tools/virt-df.pl:667 ../tools/virt-ls.pl:261 #: ../tools/virt-resize.pl:1526 ../tools/virt-list-filesystems.pl:216 @@ -24522,37 +24836,49 @@ msgid "" msgstr "" # type: textblock -#: ../fuse/guestmount.pod:196 +#: ../fuse/guestmount.pod:194 +msgid "See also L." +msgstr "" + +# type: textblock +#: ../fuse/guestmount.pod:198 msgid "Enable SELinux support for the guest." msgstr "" # type: textblock -#: ../fuse/guestmount.pod:200 +#: ../fuse/guestmount.pod:202 msgid "Enable verbose messages from underlying libguestfs." msgstr "" # type: textblock -#: ../fuse/guestmount.pod:204 +#: ../fuse/guestmount.pod:206 msgid "Display the program version and exit." msgstr "" +# type: textblock +#: ../fuse/guestmount.pod:210 +msgid "" +"This option does nothing at the moment. See L." +msgstr "" + # type: =item -#: ../fuse/guestmount.pod:206 +#: ../fuse/guestmount.pod:213 msgid "B<-x> | B<--trace>" msgstr "" # type: textblock -#: ../fuse/guestmount.pod:208 +#: ../fuse/guestmount.pod:215 msgid "Trace libguestfs calls." msgstr "" # type: textblock -#: ../fuse/guestmount.pod:210 +#: ../fuse/guestmount.pod:217 msgid "This also stops the daemon from forking into the background." msgstr "" # type: textblock -#: ../fuse/guestmount.pod:216 +#: ../fuse/guestmount.pod:223 msgid "" "L, L, L, L, " "L, L, L, L" +msgid "B<--network>" msgstr "" # type: textblock diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot index 625e95b..33cf493 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.6.1\n" +"Project-Id-Version: libguestfs 1.6.2\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2010-11-05 15:21+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -753,7 +753,7 @@ msgid "There are many limitations to this:" msgstr "" # type: =item -#: ../src/guestfs.pod:360 ../src/guestfs.pod:365 ../src/guestfs.pod:370 ../src/guestfs.pod:374 ../src/guestfs.pod:379 ../src/guestfs.pod:383 ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:1186 ../src/guestfs.pod:1191 ../src/guestfs.pod:1195 ../src/guestfs.pod:1411 ../src/guestfs.pod:1416 ../src/guestfs.pod:1420 ../src/guestfs.pod:1522 ../src/guestfs.pod:1526 ../src/guestfs.pod:1530 ../src/guestfs.pod:1535 ../src/guestfs.pod:1543 ../src/guestfs.pod:1562 ../src/guestfs.pod:1570 ../src/guestfs.pod:1800 ../src/guestfs.pod:1806 ../src/guestfs.pod:1811 ../src/guestfs.pod:1817 ../src/guestfs.pod:1924 ../src/guestfs.pod:1928 ../src/guestfs.pod:1932 ../src/guestfs.pod:1936 ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:461 ../src/guestfs-actions.pod:469 ../src/guestfs-actions.pod:476 ../src/guestfs-actions.pod:483 ../src/guestfs-actions.pod:1422 ../src/guestfs-actions.pod:1426 ../src/guestfs-actions.pod:1430 ../src/guestfs-actions.pod:1434 ../src/guestfs-actions.pod:1442 ../src/guestfs-actions.pod:1446 ../src/guestfs-actions.pod:1450 ../src/guestfs-actions.pod:1460 ../src/guestfs-actions.pod:1464 ../src/guestfs-actions.pod:1468 ../src/guestfs-actions.pod:1596 ../src/guestfs-actions.pod:1600 ../src/guestfs-actions.pod:1605 ../src/guestfs-actions.pod:1610 ../src/guestfs-actions.pod:1665 ../src/guestfs-actions.pod:1669 ../src/guestfs-actions.pod:1674 ../fish/guestfish.pod:364 ../fish/guestfish.pod:368 ../fish/guestfish.pod:372 ../fish/guestfish.pod:376 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:339 ../fish/guestfish-actions.pod:347 ../fish/guestfish-actions.pod:354 ../fish/guestfish-actions.pod:361 ../fish/guestfish-actions.pod:1056 ../fish/guestfish-actions.pod:1060 ../fish/guestfish-actions.pod:1064 ../fish/guestfish-actions.pod:1068 ../fish/guestfish-actions.pod:1076 ../fish/guestfish-actions.pod:1080 ../fish/guestfish-actions.pod:1084 ../fish/guestfish-actions.pod:1094 ../fish/guestfish-actions.pod:1098 ../fish/guestfish-actions.pod:1102 ../fish/guestfish-actions.pod:1192 ../fish/guestfish-actions.pod:1196 ../fish/guestfish-actions.pod:1201 ../fish/guestfish-actions.pod:1206 ../fish/guestfish-actions.pod:1248 ../fish/guestfish-actions.pod:1252 ../fish/guestfish-actions.pod:1257 ../inspector/virt-inspector.pl:584 ../inspector/virt-inspector.pl:588 ../tools/virt-df.pl:161 ../tools/virt-df.pl:167 ../tools/virt-resize.pl:348 ../tools/virt-resize.pl:353 ../tools/virt-resize.pl:363 +#: ../src/guestfs.pod:360 ../src/guestfs.pod:365 ../src/guestfs.pod:370 ../src/guestfs.pod:374 ../src/guestfs.pod:379 ../src/guestfs.pod:383 ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:966 ../src/guestfs.pod:970 ../src/guestfs.pod:974 ../src/guestfs.pod:979 ../src/guestfs.pod:987 ../src/guestfs.pod:1006 ../src/guestfs.pod:1014 ../src/guestfs.pod:1036 ../src/guestfs.pod:1040 ../src/guestfs.pod:1044 ../src/guestfs.pod:1048 ../src/guestfs.pod:1052 ../src/guestfs.pod:1056 ../src/guestfs.pod:1481 ../src/guestfs.pod:1486 ../src/guestfs.pod:1490 ../src/guestfs.pod:1600 ../src/guestfs.pod:1605 ../src/guestfs.pod:1609 ../src/guestfs.pod:1953 ../src/guestfs.pod:1959 ../src/guestfs.pod:1964 ../src/guestfs.pod:1970 ../src/guestfs.pod:2077 ../src/guestfs.pod:2081 ../src/guestfs.pod:2085 ../src/guestfs.pod:2089 ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:461 ../src/guestfs-actions.pod:469 ../src/guestfs-actions.pod:476 ../src/guestfs-actions.pod:483 ../src/guestfs-actions.pod:1422 ../src/guestfs-actions.pod:1426 ../src/guestfs-actions.pod:1430 ../src/guestfs-actions.pod:1434 ../src/guestfs-actions.pod:1442 ../src/guestfs-actions.pod:1446 ../src/guestfs-actions.pod:1450 ../src/guestfs-actions.pod:1460 ../src/guestfs-actions.pod:1464 ../src/guestfs-actions.pod:1468 ../src/guestfs-actions.pod:1596 ../src/guestfs-actions.pod:1600 ../src/guestfs-actions.pod:1605 ../src/guestfs-actions.pod:1610 ../src/guestfs-actions.pod:1665 ../src/guestfs-actions.pod:1669 ../src/guestfs-actions.pod:1674 ../fish/guestfish.pod:371 ../fish/guestfish.pod:375 ../fish/guestfish.pod:379 ../fish/guestfish.pod:383 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:339 ../fish/guestfish-actions.pod:347 ../fish/guestfish-actions.pod:354 ../fish/guestfish-actions.pod:361 ../fish/guestfish-actions.pod:1056 ../fish/guestfish-actions.pod:1060 ../fish/guestfish-actions.pod:1064 ../fish/guestfish-actions.pod:1068 ../fish/guestfish-actions.pod:1076 ../fish/guestfish-actions.pod:1080 ../fish/guestfish-actions.pod:1084 ../fish/guestfish-actions.pod:1094 ../fish/guestfish-actions.pod:1098 ../fish/guestfish-actions.pod:1102 ../fish/guestfish-actions.pod:1192 ../fish/guestfish-actions.pod:1196 ../fish/guestfish-actions.pod:1201 ../fish/guestfish-actions.pod:1206 ../fish/guestfish-actions.pod:1248 ../fish/guestfish-actions.pod:1252 ../fish/guestfish-actions.pod:1257 ../inspector/virt-inspector.pl:584 ../inspector/virt-inspector.pl:588 ../tools/virt-df.pl:161 ../tools/virt-df.pl:167 ../tools/virt-resize.pl:348 ../tools/virt-resize.pl:353 ../tools/virt-resize.pl:363 msgid "*" msgstr "" @@ -818,30 +818,31 @@ msgid "" "A secure alternative is to use libguestfs to install a \"firstboot\" script " "(a script which runs when the guest next boots normally), and to have this " "script run the commands you want in the normal context of the running guest, " -"network security and so on." +"network security and so on. For information about other security issues, " +"see L." msgstr "" # type: textblock -#: ../src/guestfs.pod:411 +#: ../src/guestfs.pod:412 msgid "" "The two main API calls to run commands are L and " "L (there are also variations)." msgstr "" # type: textblock -#: ../src/guestfs.pod:414 +#: ../src/guestfs.pod:415 msgid "" "The difference is that L runs commands using the shell, so any " "shell globs, redirections, etc will work." msgstr "" # type: =head2 -#: ../src/guestfs.pod:417 +#: ../src/guestfs.pod:418 msgid "CONFIGURATION FILES" msgstr "" # type: textblock -#: ../src/guestfs.pod:419 +#: ../src/guestfs.pod:420 msgid "" "To read and write configuration files in Linux guest filesystems, we " "strongly recommend using Augeas. For example, Augeas understands how to " @@ -850,7 +851,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:424 +#: ../src/guestfs.pod:425 msgid "" "The main Augeas calls are bound through the C APIs. We don't " "document Augeas itself here because there is excellent documentation on the " @@ -858,7 +859,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:428 +#: ../src/guestfs.pod:429 msgid "" "If you don't want to use Augeas (you fool!) then try calling " "L to get the file as a list of lines which you can " @@ -866,29 +867,29 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:432 +#: ../src/guestfs.pod:433 msgid "SELINUX" msgstr "" # type: textblock -#: ../src/guestfs.pod:434 +#: ../src/guestfs.pod:435 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: =item -#: ../src/guestfs.pod:440 +#: ../src/guestfs.pod:441 ../src/guestfs.pod:1151 msgid "1." msgstr "" # type: textblock -#: ../src/guestfs.pod:442 +#: ../src/guestfs.pod:443 msgid "Before launching, do:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:444 +#: ../src/guestfs.pod:445 #, no-wrap msgid "" " guestfs_set_selinux (g, 1);\n" @@ -896,19 +897,19 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:446 +#: ../src/guestfs.pod:447 ../src/guestfs.pod:1155 msgid "2." msgstr "" # type: textblock -#: ../src/guestfs.pod:448 +#: ../src/guestfs.pod:449 msgid "" "After mounting the guest's filesystem(s), load the policy. This is best " "done by running the L command in the guest itself:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:452 +#: ../src/guestfs.pod:453 #, no-wrap msgid "" " guestfs_sh (g, \"/usr/sbin/load_policy\");\n" @@ -916,26 +917,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:454 +#: ../src/guestfs.pod:455 msgid "" "(Older versions of C require you to specify the name of the " "policy file)." msgstr "" # type: =item -#: ../src/guestfs.pod:457 +#: ../src/guestfs.pod:458 msgid "3." msgstr "" # type: textblock -#: ../src/guestfs.pod:459 +#: ../src/guestfs.pod:460 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:463 +#: ../src/guestfs.pod:464 #, no-wrap msgid "" " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n" @@ -943,24 +944,24 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:467 +#: ../src/guestfs.pod:468 msgid "This will work for running commands and editing existing files." msgstr "" # type: textblock -#: ../src/guestfs.pod:469 +#: ../src/guestfs.pod:470 msgid "" "When new files are created, you may need to label them explicitly, for " "example by running the external command C." msgstr "" # type: =head2 -#: ../src/guestfs.pod:473 +#: ../src/guestfs.pod:474 msgid "UMASK" msgstr "" # type: textblock -#: ../src/guestfs.pod:475 +#: ../src/guestfs.pod:476 msgid "" "Certain calls are affected by the current file mode creation mask (the " "\"umask\"). In particular ones which create files or directories, such as " @@ -970,14 +971,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:481 +#: ../src/guestfs.pod:482 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:484 +#: ../src/guestfs.pod:485 msgid "" "There are two ways to avoid being affected by umask. Either set umask to 0 " "(call C early after launching). Or call " @@ -985,17 +986,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:488 +#: ../src/guestfs.pod:489 msgid "For more information about umask, see L." msgstr "" # type: =head1 -#: ../src/guestfs.pod:490 ../fish/guestfish.pod:630 +#: ../src/guestfs.pod:491 ../fish/guestfish.pod:664 msgid "ENCRYPTED DISKS" msgstr "" # type: textblock -#: ../src/guestfs.pod:492 +#: ../src/guestfs.pod:493 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) " @@ -1004,21 +1005,21 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:498 +#: ../src/guestfs.pod:499 msgid "" "Use L to identify LUKS-encrypted block devices (it " "returns the string C)." msgstr "" # type: textblock -#: ../src/guestfs.pod:501 +#: ../src/guestfs.pod:502 msgid "" "Then open these devices by calling L. Obviously you " "will require the passphrase!" msgstr "" # type: textblock -#: ../src/guestfs.pod:504 +#: ../src/guestfs.pod:505 msgid "" "Opening a LUKS device creates a new device mapper device called " "C (where C is the string you supply to " @@ -1027,7 +1028,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:510 +#: ../src/guestfs.pod:511 msgid "" "LVM volume groups on the device can be made visible by calling " "L followed by L. The logical " @@ -1035,7 +1036,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:514 +#: ../src/guestfs.pod:515 msgid "" "Use the reverse process to close a LUKS device. Unmount any logical volumes " "on it, deactivate the volume groups by caling C in the usual way." msgstr "" # type: textblock -#: ../src/guestfs.pod:532 +#: ../src/guestfs.pod:533 msgid "" "Then call L. This function uses other libguestfs calls " "and certain heuristics, and returns a list of operating systems that were " @@ -1080,7 +1081,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:541 +#: ../src/guestfs.pod:542 msgid "" "For each root, you can then call various C functions " "to get additional details about that operating system. For example, call " @@ -1089,7 +1090,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:547 +#: ../src/guestfs.pod:548 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 " @@ -1100,7 +1101,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:554 +#: ../src/guestfs.pod:555 #, no-wrap msgid "" " /boot => /dev/sda1\n" @@ -1110,14 +1111,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:558 +#: ../src/guestfs.pod:559 msgid "" "The caller can then make calls to L to mount the " "filesystems as suggested." msgstr "" # type: textblock -#: ../src/guestfs.pod:561 +#: ../src/guestfs.pod:562 msgid "" "Be careful to mount filesystems in the right order (eg. C before " "C). Sorting the keys of the hash by length, shortest first, should " @@ -1125,7 +1126,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:565 +#: ../src/guestfs.pod:566 msgid "" "Inspection currently only works for some common operating systems. " "Contributors are welcome to send patches for other operating systems that we " @@ -1133,7 +1134,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:569 +#: ../src/guestfs.pod:570 msgid "" "Encrypted disks must be opened before inspection. See L " "for more details. The L function just ignores any " @@ -1141,7 +1142,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:573 +#: ../src/guestfs.pod:574 msgid "" "A note on the implementation: The call L performs " "inspection and caches the results in the guest handle. Subsequent calls to " @@ -1151,19 +1152,19 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:580 +#: ../src/guestfs.pod:581 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:582 +#: ../src/guestfs.pod:583 msgid "" "Libguestfs can mount NTFS partitions. It does this using the " "L driver." msgstr "" # type: textblock -#: ../src/guestfs.pod:585 +#: ../src/guestfs.pod:586 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 " @@ -1173,7 +1174,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:591 +#: ../src/guestfs.pod:592 msgid "" "Drive letter mappings are outside the scope of libguestfs. You have to use " "libguestfs to read the appropriate Windows Registry and configuration files, " @@ -1182,21 +1183,21 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:596 +#: ../src/guestfs.pod:597 msgid "" "Replacing backslash characters with forward slash characters is also outside " "the scope of libguestfs, but something that you can easily do." msgstr "" # type: textblock -#: ../src/guestfs.pod:599 +#: ../src/guestfs.pod:600 msgid "" "Where we can help is in resolving the case insensitivity of paths. For " "this, call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:602 +#: ../src/guestfs.pod:603 msgid "" "Libguestfs also provides some help for decoding Windows Registry \"hive\" " "files, through the library C which is part of the libguestfs project " @@ -1207,19 +1208,19 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:610 +#: ../src/guestfs.pod:611 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" msgstr "" # type: textblock -#: ../src/guestfs.pod:612 +#: ../src/guestfs.pod:613 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:615 +#: ../src/guestfs.pod:616 msgid "" "The API is broadly identical in all supported languages. This means that " "the C call C is C<$g-Emount($path)> in Perl, " @@ -1228,14 +1229,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:621 +#: ../src/guestfs.pod:622 msgid "" "Error messages are automatically transformed into exceptions if the language " "supports it." msgstr "" # type: textblock -#: ../src/guestfs.pod:624 +#: ../src/guestfs.pod:625 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 " @@ -1243,36 +1244,36 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:630 +#: ../src/guestfs.pod:631 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:632 +#: ../src/guestfs.pod:633 msgid "" "You can use the I 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:636 +#: ../src/guestfs.pod:637 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:638 +#: ../src/guestfs.pod:639 msgid "" "The C# bindings are highly experimental. Please read the warnings at the " "top of C." msgstr "" # type: =item -#: ../src/guestfs.pod:641 +#: ../src/guestfs.pod:642 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:643 +#: ../src/guestfs.pod:644 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 " @@ -1280,66 +1281,66 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:647 +#: ../src/guestfs.pod:648 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:649 +#: ../src/guestfs.pod:650 msgid "" "Full documentation is contained in the Javadoc which is distributed with " "libguestfs." msgstr "" # type: =item -#: ../src/guestfs.pod:652 +#: ../src/guestfs.pod:653 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:654 +#: ../src/guestfs.pod:655 msgid "For documentation see the file C." msgstr "" # type: =item -#: ../src/guestfs.pod:656 +#: ../src/guestfs.pod:657 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:658 +#: ../src/guestfs.pod:659 msgid "For documentation see L." msgstr "" # type: =item -#: ../src/guestfs.pod:660 +#: ../src/guestfs.pod:661 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:662 +#: ../src/guestfs.pod:663 msgid "" "For documentation see C supplied with libguestfs sources or in " "the php-libguestfs package for your distribution." msgstr "" # type: textblock -#: ../src/guestfs.pod:665 +#: ../src/guestfs.pod:666 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "" # type: =item -#: ../src/guestfs.pod:667 +#: ../src/guestfs.pod:668 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:669 +#: ../src/guestfs.pod:670 msgid "For documentation do:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:671 +#: ../src/guestfs.pod:672 #, no-wrap msgid "" " $ python\n" @@ -1349,34 +1350,34 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:675 +#: ../src/guestfs.pod:676 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:677 +#: ../src/guestfs.pod:678 msgid "" "Use the Guestfs module. There is no Ruby-specific documentation, but you " "can find examples written in Ruby in the libguestfs source." msgstr "" # type: =item -#: ../src/guestfs.pod:680 +#: ../src/guestfs.pod:681 msgid "B" msgstr "" # type: textblock -#: ../src/guestfs.pod:682 +#: ../src/guestfs.pod:683 msgid "For documentation see L." msgstr "" # type: =head2 -#: ../src/guestfs.pod:686 +#: ../src/guestfs.pod:687 msgid "LIBGUESTFS GOTCHAS" msgstr "" # type: textblock -#: ../src/guestfs.pod:688 +#: ../src/guestfs.pod:689 msgid "" "L: \"A feature of a " "system [...] that works in the way it is documented but is counterintuitive " @@ -1384,7 +1385,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:692 +#: ../src/guestfs.pod:693 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -1393,12 +1394,12 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:700 +#: ../src/guestfs.pod:701 msgid "Autosync / forgetting to sync." msgstr "" # type: textblock -#: ../src/guestfs.pod:702 +#: ../src/guestfs.pod:703 msgid "" "When modifying a filesystem from C or another language, you B unmount " "all filesystems and call L explicitly before you close the " @@ -1406,7 +1407,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:706 +#: ../src/guestfs.pod:707 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -1414,7 +1415,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:708 +#: ../src/guestfs.pod:709 msgid "" "to have the unmount/sync done automatically for you when the handle 'g' is " "closed. (This feature is called \"autosync\", L " @@ -1422,7 +1423,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:712 +#: ../src/guestfs.pod:713 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 " @@ -1430,7 +1431,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:716 +#: ../src/guestfs.pod:717 msgid "" "Note that in L autosync is the default. So quick and dirty " "guestfish scripts that forget to sync will work just fine, which can make " @@ -1438,19 +1439,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:720 +#: ../src/guestfs.pod:721 msgid "" "Update: Autosync is enabled by default for all API users starting from " "libguestfs 1.5.24." msgstr "" # type: =item -#: ../src/guestfs.pod:723 +#: ../src/guestfs.pod:724 msgid "Mount option C<-o sync> should not be the default." msgstr "" # type: textblock -#: ../src/guestfs.pod:725 +#: ../src/guestfs.pod:726 msgid "" "If you use L, then C<-o sync,noatime> are added implicitly. " "However C<-o sync> does not add any reliability benefit, but does have a " @@ -1458,31 +1459,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:729 +#: ../src/guestfs.pod:730 msgid "" "The work around is to use L and set the mount " "options that you actually want to use." msgstr "" # type: =item -#: ../src/guestfs.pod:732 +#: ../src/guestfs.pod:733 msgid "Read-only should be the default." msgstr "" # type: textblock -#: ../src/guestfs.pod:734 +#: ../src/guestfs.pod:735 msgid "" "In L, 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:737 +#: ../src/guestfs.pod:738 msgid "This would reduce the potential to corrupt live VM images." msgstr "" # type: textblock -#: ../src/guestfs.pod:739 +#: ../src/guestfs.pod:740 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 " @@ -1490,12 +1491,12 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:743 +#: ../src/guestfs.pod:744 msgid "guestfish command line is hard to use." msgstr "" # type: textblock -#: ../src/guestfs.pod:745 +#: ../src/guestfs.pod:746 msgid "" "C doesn't do what people expect (open C for " "examination). It tries to run a guestfish command C which doesn't " @@ -1505,12 +1506,12 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:752 +#: ../src/guestfs.pod:753 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" # type: textblock -#: ../src/guestfs.pod:754 +#: ../src/guestfs.pod:755 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 " @@ -1520,12 +1521,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:761 +#: ../src/guestfs.pod:762 msgid "The most common is L. The guestfish command:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:763 +#: ../src/guestfs.pod:764 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -1533,7 +1534,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:765 +#: ../src/guestfs.pod:766 msgid "" "does not do what you might expect. Instead because L is " "already expecting megabytes, this tries to create a 100 I (100 " @@ -1542,19 +1543,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:770 +#: ../src/guestfs.pod:771 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:773 +#: ../src/guestfs.pod:774 msgid "Library should return errno with error messages." msgstr "" # type: textblock -#: ../src/guestfs.pod:775 +#: ../src/guestfs.pod:776 msgid "" "It would be a nice-to-have to be able to get the original value of 'errno' " "from inside the appliance along error paths (where set). Currently " @@ -1563,19 +1564,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:781 +#: ../src/guestfs.pod:782 msgid "" "In libguestfs 1.5.4, the protocol was changed so that the Linux errno is " "sent back from the daemon." msgstr "" # type: =item -#: ../src/guestfs.pod:784 +#: ../src/guestfs.pod:785 msgid "Ambiguity between devices and paths" msgstr "" # type: textblock -#: ../src/guestfs.pod:786 +#: ../src/guestfs.pod:787 msgid "" "There is a subtle ambiguity in the API between a device name " "(eg. C) and a similar pathname. A file might just happen to be " @@ -1583,7 +1584,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:791 +#: ../src/guestfs.pod:792 msgid "" "In the current API we usually resolve this ambiguity by having two separate " "calls, for example L and L. " @@ -1592,7 +1593,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:797 +#: ../src/guestfs.pod:798 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 " @@ -1602,7 +1603,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:803 +#: ../src/guestfs.pod:804 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -1610,12 +1611,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:805 +#: ../src/guestfs.pod:806 msgid "which would allow you to pass arguments like:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:807 +#: ../src/guestfs.pod:808 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -1626,19 +1627,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:812 +#: ../src/guestfs.pod:813 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:817 +#: ../src/guestfs.pod:818 msgid "PROTOCOL LIMITS" msgstr "" # type: textblock -#: ../src/guestfs.pod:819 +#: ../src/guestfs.pod:820 msgid "" "Internally libguestfs uses a message-based protocol to pass API calls and " "their responses to and from a small \"appliance\" (see L for " @@ -1649,7 +1650,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:827 +#: ../src/guestfs.pod:828 msgid "" "A simple call such as L returns its result (the file data) in " "a simple string. Because this string is at some point internally encoded as " @@ -1658,7 +1659,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:833 +#: ../src/guestfs.pod:834 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 " @@ -1666,26 +1667,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:837 +#: ../src/guestfs.pod:838 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L)." msgstr "" # type: =head2 -#: ../src/guestfs.pod:840 +#: ../src/guestfs.pod:841 msgid "KEYS AND PASSPHRASES" msgstr "" # type: textblock -#: ../src/guestfs.pod:842 +#: ../src/guestfs.pod:843 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" # type: textblock -#: ../src/guestfs.pod:845 +#: ../src/guestfs.pod:846 msgid "" "In the future we would hope to change the libguestfs implementation so that " "keys are L-ed into physical RAM, and thus can never end up in " @@ -1694,25 +1695,557 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:850 +#: ../src/guestfs.pod:851 msgid "" "Therefore you should be aware that any key parameter you pass to libguestfs " "might end up being written out to the swap partition. If this is a concern, " "scrub the swap partition or don't use libguestfs on encrypted devices." msgstr "" +# type: =head2 +#: ../src/guestfs.pod:856 +msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:858 +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:861 +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 " +"calls on the same handle at the same time." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:865 +msgid "" +"See the graphical program guestfs-browser for one possible architecture for " +"multithreaded programs using libvirt and libguestfs." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:868 +msgid "PATH" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:870 +msgid "" +"Libguestfs needs a kernel and initrd.img, which it finds by looking along an " +"internal path." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:873 +msgid "" +"By default it looks for these in the directory C<$libdir/guestfs> " +"(eg. C or C)." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:876 +msgid "" +"Use L or set the environment variable L " +"to change the directories that libguestfs will search in. The value is a " +"colon-separated list of paths. The current directory is I searched " +"unless the path contains an empty element or C<.>. For example " +"C would search the current directory and " +"then C." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:883 +msgid "QEMU WRAPPERS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:885 +msgid "" +"If you want to compile your own qemu, run qemu from a non-standard location, " +"or pass extra arguments to qemu, then you can write a shell-script wrapper " +"around qemu." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:889 +msgid "" +"There is one important rule to remember: you I> as the " +"last command in the shell script (so that qemu replaces the shell and " +"becomes the direct child of the libguestfs-using program). If you don't do " +"this, then the qemu process won't be cleaned up correctly." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:894 +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:897 +#, no-wrap +msgid "" +" #!/bin/sh -\n" +" qemudir=/home/rjones/d/qemu\n" +" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios " +"\"$@\"\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:901 +msgid "" +"Save this script as C (or wherever), C, and " +"then use it by setting the LIBGUESTFS_QEMU environment variable. For " +"example:" +msgstr "" + +# type: verbatim +#: ../src/guestfs.pod:905 +#, no-wrap +msgid "" +" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:907 +msgid "" +"Note that libguestfs also calls qemu with the -help and -version options in " +"order to determine features." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:910 +msgid "ABI GUARANTEE" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:912 +msgid "" +"We guarantee the libguestfs ABI (binary interface), for public, high-level " +"actions as outlined in this section. Although we will deprecate some " +"actions, for example if they get replaced by newer calls, we will keep the " +"old actions forever. This allows you the developer to program in confidence " +"against the libguestfs API." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:918 +msgid "BLOCK DEVICE NAMING" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:920 +msgid "" +"In the kernel there is now quite a profusion of schemata for naming block " +"devices (in this context, by I I mean a physical or virtual " +"hard drive). The original Linux IDE driver used names starting with " +"C. SCSI devices have historically used a different naming scheme, " +"C. When the Linux kernel I driver became a popular " +"replacement for the old IDE driver (particularly for SATA devices) those " +"devices also used the C scheme. Additionally we now have virtual " +"machines with paravirtualized drivers. This has created several different " +"naming systems, such as C for virtio disks and C for " +"Xen PV disks." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:932 +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 " +"based on a variety of Linux kernels." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:936 +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 " +"make available over the internet could fail if the naming scheme changes." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:941 +msgid "" +"Therefore libguestfs defines C as the I. " +"Internally C names are translated, if necessary, to other names as " +"required. For example, under RHEL 5 which uses the C scheme, any " +"device parameter C is translated to C transparently." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:947 +msgid "" +"Note that this I applies to parameters. The L, " +"L and similar calls return the true names of the " +"devices and partitions as known to the appliance." +msgstr "" + +# type: =head3 +#: ../src/guestfs.pod:952 +msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:954 +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 " +"L to add a mixture of virtio and IDE devices to the " +"qemu-based appliance, so have a mixture of C and C " +"devices." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:960 +msgid "" +"The algorithm is applied only to I which are known to be either " +"device or partition names. Return values from functions such as " +"L are never changed." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:968 +msgid "Is the string a parameter which is a device or partition name?" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:972 +msgid "Does the string begin with C?" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:976 +msgid "" +"Does the named device exist? If so, we use that device. However if I " +"then we continue with this algorithm." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:981 +msgid "Replace initial C string with C." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:983 +msgid "For example, change C to C." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:985 +msgid "If that named device exists, use it. If not, continue." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:989 +msgid "Replace initial C string with C." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:991 +msgid "If that named device exists, use it. If not, return an error." +msgstr "" + +# type: =head3 +#: ../src/guestfs.pod:995 +msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:997 +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 " +"rely on this mechanism." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1001 +msgid "" +"Where possible for maximum future portability programs using libguestfs " +"should use these future-proof techniques:" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1008 +msgid "" +"Use L or L to list actual " +"device names, and then use those names directly." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1011 +msgid "Since those device names exist by definition, they will never be translated." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1016 +msgid "" +"Use higher level ways to identify filesystems, such as LVM names, UUIDs and " +"filesystem labels." +msgstr "" + # type: =head1 -#: ../src/guestfs.pod:855 +#: ../src/guestfs.pod:1021 +msgid "SECURITY" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1023 +msgid "" +"This section discusses security implications of using libguestfs, " +"particularly with untrusted or malicious guests or disk images." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1026 +msgid "GENERAL SECURITY CONSIDERATIONS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1028 +msgid "" +"Be careful with any files or data that you download from a guest (by " +"\"download\" we mean not just the L command but any " +"command that reads files, filenames, directories or anything else from a " +"disk image). An attacker could manipulate the data to fool your program " +"into doing the wrong thing. Consider cases such as:" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1038 +msgid "the data (file etc) not being present" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1042 +msgid "being present but empty" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1046 +msgid "being much larger than normal" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1050 +msgid "containing arbitrary 8 bit data" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1054 +msgid "being in an unexpected character encoding" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1058 +msgid "containing homoglyphs." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1062 +msgid "SECURITY OF MOUNTING FILESYSTEMS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1064 +msgid "" +"When you mount a filesystem under Linux, mistakes in the kernel filesystem " +"(VFS) module can sometimes be escalated into exploits by deliberately " +"creating a malicious, malformed filesystem. These exploits are very severe " +"for two reasons. Firstly there are very many filesystem drivers in the " +"kernel, and many of them are infrequently used and not much developer " +"attention has been paid to the code. Linux userspace helps potential " +"crackers by detecting the filesystem type and automatically choosing the " +"right VFS driver, even if that filesystem type is obscure or unexpected for " +"the administrator. Secondly, a kernel-level exploit is like a local root " +"exploit (worse in some ways), giving immediate and total access to the " +"system right down to the hardware level." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1077 +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 " +"inside a qemu virtual machine, usually running as a non-root user. The " +"attacker would need to write a filesystem which first exploited the kernel, " +"and then exploited either qemu virtualization (eg. a faulty qemu driver) or " +"the libguestfs protocol, and finally to be as serious as the host kernel " +"exploit it would need to escalate its privileges to root. This multi-step " +"escalation, performed by a static piece of data, is thought to be extremely " +"hard to do, although we never say 'never' about security issues." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1088 +msgid "" +"In any case callers can reduce the attack surface by forcing the filesystem " +"type when mounting (use L)." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1091 +msgid "PROTOCOL SECURITY" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1093 +msgid "" +"The protocol is designed to be secure, being based on RFC 4506 (XDR) with a " +"defined upper message size. However a program that uses libguestfs must " +"also take care - for example you can write a program that downloads a binary " +"from a disk image and executes it locally, and no amount of protocol " +"security will save you from the consequences." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1099 +msgid "INSPECTION SECURITY" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1101 +msgid "" +"Parts of the inspection API (see L) return untrusted strings " +"directly from the guest, and these could contain any 8 bit data. Callers " +"should be careful to escape these before printing them to a structured file " +"(for example, use HTML escaping if creating a web page)." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1107 +msgid "" +"The inspection API parses guest configuration using two external libraries: " +"Augeas (Linux configuration) and hivex (Windows Registry). Both are " +"designed to be robust in the face of malicious data, although denial of " +"service attacks are still possible, for example with oversized configuration " +"files." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1113 +msgid "RUNNING UNTRUSTED GUEST COMMANDS" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1115 +msgid "" +"Be very cautious about running commands from the guest. By running a " +"command in the guest, you are giving CPU time to a binary that you do not " +"control, under the same user account as the library, albeit wrapped in qemu " +"virtualization. More information and alternatives can be found in the " +"section L." +msgstr "" + +# type: =head2 +#: ../src/guestfs.pod:1121 +msgid "CVE-2010-3851" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1123 +msgid "https://bugzilla.redhat.com/642934" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1125 +msgid "" +"This security bug concerns the automatic disk format detection that qemu " +"does on disk images." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1128 +msgid "" +"A raw disk image is just the raw bytes, there is no header. Other disk " +"images like qcow2 contain a special header. Qemu deals with this by looking " +"for one of the known headers, and if none is found then assuming the disk " +"image must be raw." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1133 +msgid "" +"This allows a guest which has been given a raw disk image to write some " +"other header. At next boot (or when the disk image is accessed by " +"libguestfs) qemu would do autodetection and think the disk image format was, " +"say, qcow2 based on the header written by the guest." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1138 +msgid "" +"This in itself would not be a problem, but qcow2 offers many features, one " +"of which is to allow a disk image to refer to another image (called the " +"\"backing disk\"). It does this by placing the path to the backing disk " +"into the qcow2 header. This path is not validated and could point to any " +"host file (eg. \"/etc/passwd\"). The backing disk is then exposed through " +"\"holes\" in the qcow2 disk image, which of course is completely under the " +"control of the attacker." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1146 +msgid "In libguestfs this is rather hard to exploit except under two circumstances:" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1153 +msgid "You have enabled the network or have opened the disk in write mode." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1157 +msgid "" +"You are also running untrusted code from the guest (see L)." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1162 +msgid "" +"The way to avoid this is to specify the expected disk format when adding " +"disks (the optional C option to L). You " +"should always do this if the disk is raw format, and it's a good idea for " +"other cases too." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1167 +msgid "" +"For disks added from libvirt using calls like L, the " +"format is fetched from libvirt and passed through." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:1170 +msgid "" +"For libguestfs tools, use the I<--format> command line parameter as " +"appropriate." +msgstr "" + +# type: =head1 +#: ../src/guestfs.pod:1173 msgid "CONNECTION MANAGEMENT" msgstr "" # type: =head2 -#: ../src/guestfs.pod:857 +#: ../src/guestfs.pod:1175 msgid "guestfs_h *" msgstr "" # type: textblock -#: ../src/guestfs.pod:859 +#: ../src/guestfs.pod:1177 msgid "" "C is the opaque type representing a connection handle. Create a " "handle by calling L. Call L to free the " @@ -1720,19 +2253,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:863 +#: ../src/guestfs.pod:1181 msgid "" "For information on using multiple handles and threads, see the section " "L below." msgstr "" # type: =head2 -#: ../src/guestfs.pod:866 +#: ../src/guestfs.pod:1184 msgid "guestfs_create" msgstr "" # type: verbatim -#: ../src/guestfs.pod:868 +#: ../src/guestfs.pod:1186 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -1740,43 +2273,43 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:870 +#: ../src/guestfs.pod:1188 msgid "Create a connection handle." msgstr "" # type: textblock -#: ../src/guestfs.pod:872 +#: ../src/guestfs.pod:1190 msgid "" "You have to call L (or one of the equivalent calls) " "on the handle at least once." msgstr "" # type: textblock -#: ../src/guestfs.pod:875 +#: ../src/guestfs.pod:1193 msgid "" "This function returns a non-NULL pointer to a handle on success or NULL on " "error." msgstr "" # type: textblock -#: ../src/guestfs.pod:878 +#: ../src/guestfs.pod:1196 msgid "After configuring the handle, you have to call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:880 +#: ../src/guestfs.pod:1198 msgid "" "You may also want to configure error handling for the handle. See L section below." msgstr "" # type: =head2 -#: ../src/guestfs.pod:883 +#: ../src/guestfs.pod:1201 msgid "guestfs_close" msgstr "" # type: verbatim -#: ../src/guestfs.pod:885 +#: ../src/guestfs.pod:1203 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -1784,17 +2317,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:887 +#: ../src/guestfs.pod:1205 msgid "This closes the connection handle and frees up all resources used." msgstr "" # type: =head1 -#: ../src/guestfs.pod:889 +#: ../src/guestfs.pod:1207 msgid "ERROR HANDLING" msgstr "" # type: textblock -#: ../src/guestfs.pod:891 +#: ../src/guestfs.pod:1209 msgid "" "API functions can return errors. For example, almost all functions that " "return C will return C<-1> to indicate an error. You can get " @@ -1803,7 +2336,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:897 +#: ../src/guestfs.pod:1215 msgid "" "When the handle is created, a default error handler is installed which " "prints the error message string to C. For small short-running " @@ -1811,7 +2344,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:901 +#: ../src/guestfs.pod:1219 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -1820,21 +2353,21 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:904 +#: ../src/guestfs.pod:1222 msgid "" "since the default error handler will ensure that an error message has been " "printed to C before the program exits." msgstr "" # type: textblock -#: ../src/guestfs.pod:907 +#: ../src/guestfs.pod:1225 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:910 +#: ../src/guestfs.pod:1228 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -1842,7 +2375,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:912 +#: ../src/guestfs.pod:1230 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -1852,7 +2385,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:1234 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -1865,7 +2398,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:923 +#: ../src/guestfs.pod:1241 msgid "" "Out of memory errors are handled differently. The default action is to call " "L. If this is undesirable, then you can set a handler using " @@ -1873,7 +2406,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:927 +#: ../src/guestfs.pod:1245 msgid "" "L returns C if the handle cannot be created, and " "because there is no handle if this happens there is no way to get additional " @@ -1883,12 +2416,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:933 +#: ../src/guestfs.pod:1251 msgid "guestfs_last_error" msgstr "" # type: verbatim -#: ../src/guestfs.pod:935 +#: ../src/guestfs.pod:1253 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -1896,26 +2429,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:937 +#: ../src/guestfs.pod:1255 msgid "" "This returns the last error message that happened on C. If there has not " "been an error since the handle was created, then this returns C." msgstr "" # type: textblock -#: ../src/guestfs.pod:941 +#: ../src/guestfs.pod:1259 msgid "" "The lifetime of the returned string is until the next error occurs, or " "L is called." msgstr "" # type: =head2 -#: ../src/guestfs.pod:944 +#: ../src/guestfs.pod:1262 msgid "guestfs_set_error_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:946 +#: ../src/guestfs.pod:1264 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -1928,7 +2461,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:1271 msgid "" "The callback C will be called if there is an error. The parameters " "passed to the callback are an opaque data pointer and the error message " @@ -1936,7 +2469,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:957 +#: ../src/guestfs.pod:1275 msgid "" "Note that the message string C is freed as soon as the callback " "function returns, so if you want to stash it somewhere you must make your " @@ -1944,22 +2477,22 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:961 +#: ../src/guestfs.pod:1279 msgid "The default handler prints messages on C." msgstr "" # type: textblock -#: ../src/guestfs.pod:963 +#: ../src/guestfs.pod:1281 msgid "If you set C to C then I handler is called." msgstr "" # type: =head2 -#: ../src/guestfs.pod:965 +#: ../src/guestfs.pod:1283 msgid "guestfs_get_error_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:967 +#: ../src/guestfs.pod:1285 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -1968,17 +2501,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:1288 msgid "Returns the current error handler callback." msgstr "" # type: =head2 -#: ../src/guestfs.pod:972 +#: ../src/guestfs.pod:1290 msgid "guestfs_set_out_of_memory_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:974 +#: ../src/guestfs.pod:1292 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -1988,29 +2521,29 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:978 +#: ../src/guestfs.pod:1296 msgid "" "The callback C will be called if there is an out of memory situation. " "I." msgstr "" # type: textblock -#: ../src/guestfs.pod:981 +#: ../src/guestfs.pod:1299 msgid "The default is to call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:983 +#: ../src/guestfs.pod:1301 msgid "You cannot set C to C. You can't ignore out of memory situations." msgstr "" # type: =head2 -#: ../src/guestfs.pod:986 +#: ../src/guestfs.pod:1304 msgid "guestfs_get_out_of_memory_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:988 +#: ../src/guestfs.pod:1306 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -2018,87 +2551,42 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:990 +#: ../src/guestfs.pod:1308 msgid "This returns the current out of memory handler." msgstr "" # type: =head1 -#: ../src/guestfs.pod:992 -msgid "PATH" +#: ../src/guestfs.pod:1310 +msgid "API CALLS" msgstr "" # type: textblock -#: ../src/guestfs.pod:994 -msgid "" -"Libguestfs needs a kernel and initrd.img, which it finds by looking along an " -"internal path." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:997 -msgid "" -"By default it looks for these in the directory C<$libdir/guestfs> " -"(eg. C or C)." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1000 -msgid "" -"Use L or set the environment variable L " -"to change the directories that libguestfs will search in. The value is a " -"colon-separated list of paths. The current directory is I searched " -"unless the path contains an empty element or C<.>. For example " -"C would search the current directory and " -"then C." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1007 -msgid "HIGH-LEVEL API ACTIONS" -msgstr "" - -# type: =head2 -#: ../src/guestfs.pod:1009 -msgid "ABI GUARANTEE" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1011 -msgid "" -"We guarantee the libguestfs ABI (binary interface), for public, high-level " -"actions as outlined in this section. Although we will deprecate some " -"actions, for example if they get replaced by newer calls, we will keep the " -"old actions forever. This allows you the developer to program in confidence " -"against the libguestfs API." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1017 ../fish/guestfish.pod:860 +#: ../src/guestfs.pod:1312 ../fish/guestfish.pod:894 msgid "@ACTIONS@" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1019 +#: ../src/guestfs.pod:1314 msgid "STRUCTURES" msgstr "" # type: textblock -#: ../src/guestfs.pod:1021 +#: ../src/guestfs.pod:1316 msgid "@STRUCTS@" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1023 +#: ../src/guestfs.pod:1318 msgid "AVAILABILITY" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1025 +#: ../src/guestfs.pod:1320 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1027 +#: ../src/guestfs.pod:1322 msgid "" "Using L you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -2106,17 +2594,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1032 +#: ../src/guestfs.pod:1327 msgid "@AVAILABILITY@" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1034 +#: ../src/guestfs.pod:1329 msgid "GUESTFISH supported COMMAND" msgstr "" # type: textblock -#: ../src/guestfs.pod:1036 +#: ../src/guestfs.pod:1331 msgid "" "In L there is a handy interactive command C which " "prints out the available groups and whether they are supported by this build " @@ -2124,19 +2612,19 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1041 +#: ../src/guestfs.pod:1336 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" # type: textblock -#: ../src/guestfs.pod:1043 +#: ../src/guestfs.pod:1338 msgid "" "Since version 1.5.8, Cguestfs.hE> defines symbols for each C API " "function, such as:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1046 +#: ../src/guestfs.pod:1341 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -2144,12 +2632,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1048 +#: ../src/guestfs.pod:1343 msgid "if L is available." msgstr "" # type: textblock -#: ../src/guestfs.pod:1050 +#: ../src/guestfs.pod:1345 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 " @@ -2157,7 +2645,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1055 +#: ../src/guestfs.pod:1350 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -2166,19 +2654,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1058 +#: ../src/guestfs.pod:1353 msgid "" "which would result in C being either defined or not defined " "in your program." msgstr "" # type: =head2 -#: ../src/guestfs.pod:1061 +#: ../src/guestfs.pod:1356 msgid "SINGLE CALLS AT RUN TIME" msgstr "" # type: textblock -#: ../src/guestfs.pod:1063 +#: ../src/guestfs.pod:1358 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 " @@ -2188,7 +2676,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1070 +#: ../src/guestfs.pod:1365 msgid "" "You can use L 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 " @@ -2196,7 +2684,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1074 +#: ../src/guestfs.pod:1369 #, no-wrap msgid "" " #include \n" @@ -2208,7 +2696,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1080 +#: ../src/guestfs.pod:1375 #, no-wrap msgid "" " main ()\n" @@ -2220,7 +2708,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1086 +#: ../src/guestfs.pod:1381 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -2235,7 +2723,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1095 +#: ../src/guestfs.pod:1390 #, no-wrap msgid "" " if (!has_function)\n" @@ -2254,7 +2742,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1108 +#: ../src/guestfs.pod:1403 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 " @@ -2262,7 +2750,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1113 +#: ../src/guestfs.pod:1408 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -2270,12 +2758,12 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1115 +#: ../src/guestfs.pod:1410 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1117 +#: ../src/guestfs.pod:1412 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 " @@ -2283,7 +2771,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1122 +#: ../src/guestfs.pod:1417 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -2291,14 +2779,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1124 +#: ../src/guestfs.pod:1419 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:1127 +#: ../src/guestfs.pod:1422 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -2306,12 +2794,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1129 +#: ../src/guestfs.pod:1424 msgid "With a single optional argument:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1131 +#: ../src/guestfs.pod:1426 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -2321,12 +2809,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1135 +#: ../src/guestfs.pod:1430 msgid "With two:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1137 +#: ../src/guestfs.pod:1432 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -2337,19 +2825,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1142 +#: ../src/guestfs.pod:1437 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1145 +#: ../src/guestfs.pod:1440 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1147 +#: ../src/guestfs.pod:1442 msgid "" "The second variant has the same name with the suffix C<_va>, which works the " "same way but takes a C. See the C manual for details. For the " @@ -2357,7 +2845,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1151 +#: ../src/guestfs.pod:1446 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -2366,12 +2854,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1154 +#: ../src/guestfs.pod:1449 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1156 +#: ../src/guestfs.pod:1451 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 " @@ -2381,7 +2869,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1162 +#: ../src/guestfs.pod:1457 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -2396,12 +2884,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1171 +#: ../src/guestfs.pod:1466 msgid "You could call it like this:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1173 +#: ../src/guestfs.pod:1468 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -2414,7 +2902,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1475 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -2422,34 +2910,34 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1182 ../src/guestfs-actions.pod:11 ../src/guestfs-actions.pod:1661 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1244 +#: ../src/guestfs.pod:1477 ../src/guestfs-actions.pod:11 ../src/guestfs-actions.pod:1661 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1244 msgid "Notes:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1188 +#: ../src/guestfs.pod:1483 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" # type: textblock -#: ../src/guestfs.pod:1193 +#: ../src/guestfs.pod:1488 msgid "You do not need to fill in all fields of the structure." msgstr "" # type: textblock -#: ../src/guestfs.pod:1197 +#: ../src/guestfs.pod:1492 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:1202 +#: ../src/guestfs.pod:1497 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" # type: textblock -#: ../src/guestfs.pod:1204 +#: ../src/guestfs.pod:1499 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -2457,201 +2945,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1208 +#: ../src/guestfs.pod:1503 msgid "For guestfish, see L." msgstr "" -# type: =end -#: ../src/guestfs.pod:1210 ../src/guestfs.pod:1215 -msgid "html" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1212 -msgid "" -" " -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1217 -msgid "ARCHITECTURE" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1219 -msgid "" -"Internally, libguestfs is implemented by running an appliance (a special " -"type of small virtual machine) using L. Qemu runs as a child " -"process of the main program." -msgstr "" - -# type: verbatim -#: ../src/guestfs.pod:1223 -#, no-wrap -msgid "" -" ___________________\n" -" / \\\n" -" | main program |\n" -" | |\n" -" | | child process / appliance\n" -" | | __________________________\n" -" | | / qemu \\\n" -" +-------------------+ RPC | +-----------------+ |\n" -" | libguestfs <--------------------> guestfsd | |\n" -" | | | +-----------------+ |\n" -" \\___________________/ | | Linux kernel | |\n" -" | +--^--------------+ |\n" -" \\_________|________________/\n" -" |\n" -" _______v______\n" -" / \\\n" -" | Device or |\n" -" | disk image |\n" -" \\______________/\n" -"\n" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1243 -msgid "" -"The library, linked to the main program, creates the child process and hence " -"the appliance in the L function." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1246 -msgid "" -"Inside the appliance is a Linux kernel and a complete stack of userspace " -"tools (such as LVM and ext2 programs) and a small controlling daemon called " -"L. The library talks to L using remote procedure " -"calls (RPC). There is a mostly one-to-one correspondence between libguestfs " -"API calls and RPC calls to the daemon. Lastly the disk image(s) are " -"attached to the qemu process which translates device access by the " -"appliance's Linux kernel into accesses to the image." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1255 -msgid "" -"A common misunderstanding is that the appliance \"is\" the virtual machine. " -"Although the disk image you are attached to might also be used by some " -"virtual machine, libguestfs doesn't know or care about this. (But you will " -"care if both libguestfs's qemu process and your virtual machine are trying " -"to update the disk image at the same time, since these usually results in " -"massive disk corruption)." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1262 -msgid "STATE MACHINE" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1264 -msgid "libguestfs uses a state machine to model the child process:" -msgstr "" - -# type: verbatim -#: ../src/guestfs.pod:1266 -#, no-wrap -msgid "" -" |\n" -" guestfs_create\n" -" |\n" -" |\n" -" ____V_____\n" -" / \\\n" -" | CONFIG |\n" -" \\__________/\n" -" ^ ^ ^ \\\n" -" / | \\ \\ guestfs_launch\n" -" / | _\\__V______\n" -" / | / \\\n" -" / | | LAUNCHING |\n" -" / | \\___________/\n" -" / | /\n" -" / | guestfs_launch\n" -" / | /\n" -" ______ / __|____V\n" -" / \\ ------> / \\\n" -" | BUSY | | READY |\n" -" \\______/ <------ \\________/\n" -"\n" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1288 -msgid "" -"The normal transitions are (1) CONFIG (when the handle is created, but there " -"is no child process), (2) LAUNCHING (when the child process is booting up), " -"(3) alternating between READY and BUSY as commands are issued to, and " -"carried out by, the child process." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1293 -msgid "" -"The guest may be killed by L, or may die " -"asynchronously at any time (eg. due to some internal error), and that causes " -"the state to transition back to CONFIG." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1297 -msgid "" -"Configuration commands for qemu such as L can only be " -"issued when in the CONFIG state." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1300 -msgid "" -"The API offers one call that goes from CONFIG through LAUNCHING to READY. " -"L blocks until the child process is READY to accept " -"commands (or until some failure or timeout). L internally " -"moves the state from CONFIG to LAUNCHING while it is running." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1306 -msgid "" -"API actions such as L can only be issued when in the READY " -"state. These API calls block waiting for the command to be carried out " -"(ie. the state to transition to BUSY and then back to READY). There are no " -"non-blocking versions, and no way to issue more than one command per handle " -"at the same time." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1312 -msgid "" -"Finally, the child process sends asynchronous messages back to the main " -"program, such as kernel log messages. You can register a callback to " -"receive these messages." -msgstr "" - # type: =head2 -#: ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1505 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1318 +#: ../src/guestfs.pod:1507 msgid "" "The child process generates events in some situations. Current events " "include: receiving a log message, the child process exits." msgstr "" # type: textblock -#: ../src/guestfs.pod:1321 +#: ../src/guestfs.pod:1510 msgid "" "Use the C functions to set a callback for different " "types of events." msgstr "" # type: textblock -#: ../src/guestfs.pod:1324 +#: ../src/guestfs.pod:1513 msgid "" "Only I can be registered for each handle. " "Calling C again overwrites the previous callback of " @@ -2660,12 +2978,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1329 +#: ../src/guestfs.pod:1518 msgid "guestfs_set_log_message_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1331 +#: ../src/guestfs.pod:1520 #, no-wrap msgid "" " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n" @@ -2677,31 +2995,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1337 +#: ../src/guestfs.pod:1526 msgid "" "The callback function C will be called whenever qemu or the guest writes " "anything to the console." msgstr "" # type: textblock -#: ../src/guestfs.pod:1340 +#: ../src/guestfs.pod:1529 msgid "Use this function to capture kernel messages and similar." msgstr "" # type: textblock -#: ../src/guestfs.pod:1342 +#: ../src/guestfs.pod:1531 msgid "" "Normally there is no log message handler, and log messages are just " "discarded." msgstr "" # type: =head2 -#: ../src/guestfs.pod:1345 +#: ../src/guestfs.pod:1534 msgid "guestfs_set_subprocess_quit_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1347 +#: ../src/guestfs.pod:1536 #, no-wrap msgid "" " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n" @@ -2712,7 +3030,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1352 +#: ../src/guestfs.pod:1541 msgid "" "The callback function C will be called when the child process quits, " "either asynchronously or if killed by L. (This " @@ -2720,12 +3038,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1357 +#: ../src/guestfs.pod:1546 msgid "guestfs_set_launch_done_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1548 #, no-wrap msgid "" " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n" @@ -2736,7 +3054,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1364 +#: ../src/guestfs.pod:1553 msgid "" "The callback function C will be called when the child process becomes " "ready first time after it has been launched. (This corresponds to a " @@ -2744,12 +3062,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1368 +#: ../src/guestfs.pod:1557 msgid "guestfs_set_close_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1370 +#: ../src/guestfs.pod:1559 #, no-wrap msgid "" " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n" @@ -2760,14 +3078,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1375 +#: ../src/guestfs.pod:1564 msgid "" "The callback function C will be called while the handle is being closed " "(synchronously from L)." msgstr "" # type: textblock -#: ../src/guestfs.pod:1378 +#: ../src/guestfs.pod:1567 msgid "" "Note that libguestfs installs an L handler to try to clean up " "handles that are open when the program exits. This means that this callback " @@ -2778,12 +3096,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1386 +#: ../src/guestfs.pod:1575 msgid "guestfs_set_progress_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1388 +#: ../src/guestfs.pod:1577 #, no-wrap msgid "" " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n" @@ -2796,7 +3114,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1395 +#: ../src/guestfs.pod:1584 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -2806,7 +3124,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1401 +#: ../src/guestfs.pod:1590 msgid "" "The callback receives two numbers: C and C. The units of " "C are not defined, although for some operations C may relate " @@ -2815,31 +3133,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1407 +#: ../src/guestfs.pod:1596 msgid "The only defined and stable parts of the API are:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1413 +#: ../src/guestfs.pod:1602 msgid "" "The callback can display to the user some type of progress bar or indicator " "which shows the ratio of C:C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1418 +#: ../src/guestfs.pod:1607 msgid "0 E= C E= C" msgstr "" # type: textblock -#: ../src/guestfs.pod:1422 +#: ../src/guestfs.pod:1611 msgid "" "If any progress notification is sent during a call, then a final progress " "notification is always sent when C = C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1425 +#: ../src/guestfs.pod:1614 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 " @@ -2847,7 +3165,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1431 +#: ../src/guestfs.pod:1620 msgid "" "The callback also receives the procedure number and serial number of the " "call. These are only useful for debugging protocol issues, and the callback " @@ -2856,12 +3174,12 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1436 +#: ../src/guestfs.pod:1625 msgid "PRIVATE DATA AREA" msgstr "" # type: textblock -#: ../src/guestfs.pod:1438 +#: ../src/guestfs.pod:1627 msgid "" "You can attach named pieces of private data to the libguestfs handle, and " "fetch them by name for the lifetime of the handle. This is called the " @@ -2869,12 +3187,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1442 +#: ../src/guestfs.pod:1631 msgid "To attach a named piece of data, use the following call:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1444 +#: ../src/guestfs.pod:1633 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -2882,7 +3200,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1446 +#: ../src/guestfs.pod:1635 msgid "" "C is the name to associate with this data, and C is an arbitrary " "pointer (which can be C). Any previous item with the same name is " @@ -2890,7 +3208,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1450 +#: ../src/guestfs.pod:1639 msgid "" "You can use any C you want, but names beginning with an underscore " "character are reserved for internal libguestfs purposes (for implementing " @@ -2899,12 +3217,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1455 +#: ../src/guestfs.pod:1644 msgid "To retrieve the pointer, use:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1457 +#: ../src/guestfs.pod:1646 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -2912,7 +3230,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1459 +#: ../src/guestfs.pod:1648 msgid "" "This function returns C if either no data is found associated with " "C, or if the user previously set the C's C pointer to " @@ -2920,7 +3238,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1463 +#: ../src/guestfs.pod:1652 msgid "" "Libguestfs does not try to look at or interpret the C pointer in any " "way. As far as libguestfs is concerned, it need not be a valid pointer at " @@ -2932,188 +3250,201 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1471 -msgid "" -"The private data area is implemented using a hash table, and should be " -"reasonably efficient for moderate numbers of keys." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1474 -msgid "BLOCK DEVICE NAMING" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1476 -msgid "" -"In the kernel there is now quite a profusion of schemata for naming block " -"devices (in this context, by I I mean a physical or virtual " -"hard drive). The original Linux IDE driver used names starting with " -"C. SCSI devices have historically used a different naming scheme, " -"C. When the Linux kernel I driver became a popular " -"replacement for the old IDE driver (particularly for SATA devices) those " -"devices also used the C scheme. Additionally we now have virtual " -"machines with paravirtualized drivers. This has created several different " -"naming systems, such as C for virtio disks and C for " -"Xen PV disks." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1488 -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 " -"based on a variety of Linux kernels." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1492 -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 " -"make available over the internet could fail if the naming scheme changes." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1497 -msgid "" -"Therefore libguestfs defines C as the I. " -"Internally C names are translated, if necessary, to other names as " -"required. For example, under RHEL 5 which uses the C scheme, any " -"device parameter C is translated to C transparently." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1503 +#: ../src/guestfs.pod:1660 msgid "" -"Note that this I applies to parameters. The L, " -"L and similar calls return the true names of the " -"devices and partitions as known to the appliance." +"The private data area is implemented using a hash table, and should be " +"reasonably efficient for moderate numbers of keys." msgstr "" -# type: =head2 -#: ../src/guestfs.pod:1508 -msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" +# type: =end +#: ../src/guestfs.pod:1663 ../src/guestfs.pod:1668 +msgid "html" msgstr "" # type: textblock -#: ../src/guestfs.pod:1510 +#: ../src/guestfs.pod:1665 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 " -"L to add a mixture of virtio and IDE devices to the " -"qemu-based appliance, so have a mixture of C and C " -"devices." +" " msgstr "" -# type: textblock -#: ../src/guestfs.pod:1516 -msgid "" -"The algorithm is applied only to I which are known to be either " -"device or partition names. Return values from functions such as " -"L are never changed." +# type: =head1 +#: ../src/guestfs.pod:1670 +msgid "ARCHITECTURE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1524 -msgid "Is the string a parameter which is a device or partition name?" +#: ../src/guestfs.pod:1672 +msgid "" +"Internally, libguestfs is implemented by running an appliance (a special " +"type of small virtual machine) using L. Qemu runs as a child " +"process of the main program." msgstr "" -# type: textblock -#: ../src/guestfs.pod:1528 -msgid "Does the string begin with C?" +# type: verbatim +#: ../src/guestfs.pod:1676 +#, no-wrap +msgid "" +" ___________________\n" +" / \\\n" +" | main program |\n" +" | |\n" +" | | child process / appliance\n" +" | | __________________________\n" +" | | / qemu \\\n" +" +-------------------+ RPC | +-----------------+ |\n" +" | libguestfs <--------------------> guestfsd | |\n" +" | | | +-----------------+ |\n" +" \\___________________/ | | Linux kernel | |\n" +" | +--^--------------+ |\n" +" \\_________|________________/\n" +" |\n" +" _______v______\n" +" / \\\n" +" | Device or |\n" +" | disk image |\n" +" \\______________/\n" +"\n" msgstr "" # type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1696 msgid "" -"Does the named device exist? If so, we use that device. However if I " -"then we continue with this algorithm." +"The library, linked to the main program, creates the child process and hence " +"the appliance in the L function." msgstr "" # type: textblock -#: ../src/guestfs.pod:1537 -msgid "Replace initial C string with C." +#: ../src/guestfs.pod:1699 +msgid "" +"Inside the appliance is a Linux kernel and a complete stack of userspace " +"tools (such as LVM and ext2 programs) and a small controlling daemon called " +"L. The library talks to L using remote procedure " +"calls (RPC). There is a mostly one-to-one correspondence between libguestfs " +"API calls and RPC calls to the daemon. Lastly the disk image(s) are " +"attached to the qemu process which translates device access by the " +"appliance's Linux kernel into accesses to the image." msgstr "" # type: textblock -#: ../src/guestfs.pod:1539 -msgid "For example, change C to C." +#: ../src/guestfs.pod:1708 +msgid "" +"A common misunderstanding is that the appliance \"is\" the virtual machine. " +"Although the disk image you are attached to might also be used by some " +"virtual machine, libguestfs doesn't know or care about this. (But you will " +"care if both libguestfs's qemu process and your virtual machine are trying " +"to update the disk image at the same time, since these usually results in " +"massive disk corruption)." msgstr "" -# type: textblock -#: ../src/guestfs.pod:1541 -msgid "If that named device exists, use it. If not, continue." +# type: =head1 +#: ../src/guestfs.pod:1715 +msgid "STATE MACHINE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1545 -msgid "Replace initial C string with C." +#: ../src/guestfs.pod:1717 +msgid "libguestfs uses a state machine to model the child process:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:1547 -msgid "If that named device exists, use it. If not, return an error." +# type: verbatim +#: ../src/guestfs.pod:1719 +#, no-wrap +msgid "" +" |\n" +" guestfs_create\n" +" |\n" +" |\n" +" ____V_____\n" +" / \\\n" +" | CONFIG |\n" +" \\__________/\n" +" ^ ^ ^ \\\n" +" / | \\ \\ guestfs_launch\n" +" / | _\\__V______\n" +" / | / \\\n" +" / | | LAUNCHING |\n" +" / | \\___________/\n" +" / | /\n" +" / | guestfs_launch\n" +" / | /\n" +" ______ / __|____V\n" +" / \\ ------> / \\\n" +" | BUSY | | READY |\n" +" \\______/ <------ \\________/\n" +"\n" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:1551 -msgid "PORTABILITY CONCERNS" +# type: textblock +#: ../src/guestfs.pod:1741 +msgid "" +"The normal transitions are (1) CONFIG (when the handle is created, but there " +"is no child process), (2) LAUNCHING (when the child process is booting up), " +"(3) alternating between READY and BUSY as commands are issued to, and " +"carried out by, the child process." msgstr "" # type: textblock -#: ../src/guestfs.pod:1553 +#: ../src/guestfs.pod:1746 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 " -"rely on this mechanism." +"The guest may be killed by L, or may die " +"asynchronously at any time (eg. due to some internal error), and that causes " +"the state to transition back to CONFIG." msgstr "" # type: textblock -#: ../src/guestfs.pod:1557 +#: ../src/guestfs.pod:1750 msgid "" -"Where possible for maximum future portability programs using libguestfs " -"should use these future-proof techniques:" +"Configuration commands for qemu such as L can only be " +"issued when in the CONFIG state." msgstr "" # type: textblock -#: ../src/guestfs.pod:1564 +#: ../src/guestfs.pod:1753 msgid "" -"Use L or L to list actual " -"device names, and then use those names directly." +"The API offers one call that goes from CONFIG through LAUNCHING to READY. " +"L blocks until the child process is READY to accept " +"commands (or until some failure or timeout). L internally " +"moves the state from CONFIG to LAUNCHING while it is running." msgstr "" # type: textblock -#: ../src/guestfs.pod:1567 -msgid "Since those device names exist by definition, they will never be translated." +#: ../src/guestfs.pod:1759 +msgid "" +"API actions such as L can only be issued when in the READY " +"state. These API calls block waiting for the command to be carried out " +"(ie. the state to transition to BUSY and then back to READY). There are no " +"non-blocking versions, and no way to issue more than one command per handle " +"at the same time." msgstr "" # type: textblock -#: ../src/guestfs.pod:1572 +#: ../src/guestfs.pod:1765 msgid "" -"Use higher level ways to identify filesystems, such as LVM names, UUIDs and " -"filesystem labels." +"Finally, the child process sends asynchronous messages back to the main " +"program, such as kernel log messages. You can register a callback to " +"receive these messages." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1577 +#: ../src/guestfs.pod:1769 msgid "INTERNALS" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1579 +#: ../src/guestfs.pod:1771 msgid "COMMUNICATION PROTOCOL" msgstr "" # type: textblock -#: ../src/guestfs.pod:1581 +#: ../src/guestfs.pod:1773 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:1584 +#: ../src/guestfs.pod:1776 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 " @@ -3121,14 +3452,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1588 +#: ../src/guestfs.pod:1780 msgid "" "The detailed format of structures is in C (note: " "this file is automatically generated)." msgstr "" # type: textblock -#: ../src/guestfs.pod:1591 +#: ../src/guestfs.pod:1783 msgid "" "There are two broad cases, ordinary functions that don't have any C " "and C parameters, which are handled with very simple request/reply " @@ -3138,17 +3469,17 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1598 +#: ../src/guestfs.pod:1790 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" # type: textblock -#: ../src/guestfs.pod:1600 +#: ../src/guestfs.pod:1792 msgid "For ordinary functions, the request message is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1602 +#: ../src/guestfs.pod:1794 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -3159,7 +3490,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1607 +#: ../src/guestfs.pod:1799 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 " @@ -3168,26 +3499,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1613 +#: ../src/guestfs.pod:1805 msgid "" "Note also that many functions don't take any arguments, in which case the " "C_args> is completely omitted." msgstr "" # type: textblock -#: ../src/guestfs.pod:1616 +#: ../src/guestfs.pod:1808 msgid "" "The header contains the procedure number (C) which is how the " "receiver knows what type of args structure to expect, or none at all." msgstr "" # type: textblock -#: ../src/guestfs.pod:1620 +#: ../src/guestfs.pod:1812 msgid "The reply message for ordinary functions is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1622 +#: ../src/guestfs.pod:1814 #, no-wrap msgid "" " total length (header + ret,\n" @@ -3198,26 +3529,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1627 +#: ../src/guestfs.pod:1819 msgid "" "As above the C_ret> structure may be completely omitted for " "functions that return no formal return values." msgstr "" # type: textblock -#: ../src/guestfs.pod:1630 +#: ../src/guestfs.pod:1822 msgid "As above the total length of the reply is limited to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1633 +#: ../src/guestfs.pod:1825 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:1636 +#: ../src/guestfs.pod:1828 #, no-wrap msgid "" " total length (header + error,\n" @@ -3228,19 +3559,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1641 +#: ../src/guestfs.pod:1833 msgid "" "The C structure contains the error message as a " "string." msgstr "" # type: =head3 -#: ../src/guestfs.pod:1644 +#: ../src/guestfs.pod:1836 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1646 +#: ../src/guestfs.pod:1838 msgid "" "A C parameter indicates that we transfer a file I the guest. " "The normal request message is sent (see above). However this is followed by " @@ -3248,7 +3579,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1650 +#: ../src/guestfs.pod:1842 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -3262,12 +3593,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1658 +#: ../src/guestfs.pod:1850 msgid "The \"sequence of chunks\" is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1660 +#: ../src/guestfs.pod:1852 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -3281,7 +3612,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1860 msgid "" "The final chunk has the C field set to zero. Additionally a flag " "is set in the final chunk to indicate either successful completion or early " @@ -3289,7 +3620,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1672 +#: ../src/guestfs.pod:1864 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -3298,7 +3629,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1677 +#: ../src/guestfs.pod:1869 msgid "" "Both the library (sender) I the daemon (receiver) may cancel the " "transfer. The library does this by sending a chunk with a special flag set " @@ -3307,7 +3638,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1683 +#: ../src/guestfs.pod:1875 msgid "" "The daemon may also cancel. It does this by writing a special word " "C to the socket. The library listens for this during " @@ -3319,7 +3650,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1692 +#: ../src/guestfs.pod:1884 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 " @@ -3329,19 +3660,19 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1698 +#: ../src/guestfs.pod:1890 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1700 +#: ../src/guestfs.pod:1892 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:1703 +#: ../src/guestfs.pod:1895 #, no-wrap msgid "" " total length (header + ret,\n" @@ -3355,144 +3686,54 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1711 +#: ../src/guestfs.pod:1903 msgid "INITIAL MESSAGE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1713 +#: ../src/guestfs.pod:1905 msgid "" "When the daemon launches it sends an initial word (C) " -"which indicates that the guest and daemon is alive. This is what " -"L waits for." -msgstr "" - -# type: =head3 -#: ../src/guestfs.pod:1717 -msgid "PROGRESS NOTIFICATION MESSAGES" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1719 -msgid "" -"The daemon may send progress notification messages at any time. These are " -"distinguished by the normal length word being replaced by " -"C, followed by a fixed size progress message." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1723 -msgid "" -"The library turns them into progress callbacks (see " -"C) if there is a callback registered, or " -"discards them if not." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1727 -msgid "" -"The daemon self-limits the frequency of progress messages it sends (see " -"C). Not all calls generate progress " -"messages." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1731 -msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1733 -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:1736 -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 " -"calls on the same handle at the same time." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1740 -msgid "" -"See the graphical program guestfs-browser for one possible architecture for " -"multithreaded programs using libvirt and libguestfs." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:1743 -msgid "QEMU WRAPPERS" -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1745 -msgid "" -"If you want to compile your own qemu, run qemu from a non-standard location, " -"or pass extra arguments to qemu, then you can write a shell-script wrapper " -"around qemu." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1749 -msgid "" -"There is one important rule to remember: you I> as the " -"last command in the shell script (so that qemu replaces the shell and " -"becomes the direct child of the libguestfs-using program). If you don't do " -"this, then the qemu process won't be cleaned up correctly." -msgstr "" - -# type: textblock -#: ../src/guestfs.pod:1754 -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:1757 -#, no-wrap -msgid "" -" #!/bin/sh -\n" -" qemudir=/home/rjones/d/qemu\n" -" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios " -"\"$@\"\n" -"\n" +"which indicates that the guest and daemon is alive. This is what " +"L waits for." +msgstr "" + +# type: =head3 +#: ../src/guestfs.pod:1909 +msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" # type: textblock -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1911 msgid "" -"Save this script as C (or wherever), C, and " -"then use it by setting the LIBGUESTFS_QEMU environment variable. For " -"example:" +"The daemon may send progress notification messages at any time. These are " +"distinguished by the normal length word being replaced by " +"C, followed by a fixed size progress message." msgstr "" -# type: verbatim -#: ../src/guestfs.pod:1765 -#, no-wrap +# type: textblock +#: ../src/guestfs.pod:1915 msgid "" -" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" -"\n" +"The library turns them into progress callbacks (see " +"C) if there is a callback registered, or " +"discards them if not." msgstr "" # type: textblock -#: ../src/guestfs.pod:1767 +#: ../src/guestfs.pod:1919 msgid "" -"Note that libguestfs also calls qemu with the -help and -version options in " -"order to determine features." +"The daemon self-limits the frequency of progress messages it sends (see " +"C). Not all calls generate progress " +"messages." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1770 +#: ../src/guestfs.pod:1923 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1772 +#: ../src/guestfs.pod:1925 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -3500,7 +3741,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1777 +#: ../src/guestfs.pod:1930 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -3517,12 +3758,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1788 +#: ../src/guestfs.pod:1941 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" # type: textblock -#: ../src/guestfs.pod:1790 +#: ../src/guestfs.pod:1943 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 " @@ -3532,26 +3773,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1796 +#: ../src/guestfs.pod:1949 msgid "Our criteria for backporting changes are:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1802 +#: ../src/guestfs.pod:1955 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:1808 +#: ../src/guestfs.pod:1961 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" # type: textblock -#: ../src/guestfs.pod:1813 +#: ../src/guestfs.pod:1966 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 " @@ -3559,7 +3800,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1819 +#: ../src/guestfs.pod:1972 msgid "" "We I backport new features, new APIs, new tools etc, except in one " "exceptional case: the new feature is required in order to implement an " @@ -3567,7 +3808,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1825 +#: ../src/guestfs.pod:1978 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 " @@ -3578,44 +3819,44 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1833 ../fish/guestfish.pod:867 ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:330 ../tools/virt-rescue.pl:255 +#: ../src/guestfs.pod:1986 ../fish/guestfish.pod:901 ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:330 ../tools/virt-rescue.pl:255 msgid "ENVIRONMENT VARIABLES" msgstr "" # type: =item -#: ../src/guestfs.pod:1837 ../fish/guestfish.pod:893 +#: ../src/guestfs.pod:1990 ../fish/guestfish.pod:927 msgid "LIBGUESTFS_APPEND" msgstr "" # type: textblock -#: ../src/guestfs.pod:1839 ../fish/guestfish.pod:895 +#: ../src/guestfs.pod:1992 ../fish/guestfish.pod:929 msgid "Pass additional options to the guest kernel." msgstr "" # type: =item -#: ../src/guestfs.pod:1841 ../fish/guestfish.pod:897 +#: ../src/guestfs.pod:1994 ../fish/guestfish.pod:931 msgid "LIBGUESTFS_DEBUG" msgstr "" # type: textblock -#: ../src/guestfs.pod:1843 +#: ../src/guestfs.pod:1996 msgid "" "Set C to enable verbose messages. This has the same " "effect as calling C." msgstr "" # type: =item -#: ../src/guestfs.pod:1846 ../fish/guestfish.pod:902 +#: ../src/guestfs.pod:1999 ../fish/guestfish.pod:936 msgid "LIBGUESTFS_MEMSIZE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1848 ../fish/guestfish.pod:904 +#: ../src/guestfs.pod:2001 ../fish/guestfish.pod:938 msgid "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1851 ../fish/guestfish.pod:907 +#: ../src/guestfs.pod:2004 ../fish/guestfish.pod:941 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -3623,58 +3864,58 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:1853 ../fish/guestfish.pod:909 +#: ../src/guestfs.pod:2006 ../fish/guestfish.pod:943 msgid "LIBGUESTFS_PATH" msgstr "" # type: textblock -#: ../src/guestfs.pod:1855 +#: ../src/guestfs.pod:2008 msgid "" "Set the path that libguestfs uses to search for kernel and initrd.img. See " "the discussion of paths in section PATH above." msgstr "" # type: =item -#: ../src/guestfs.pod:1858 ../fish/guestfish.pod:914 +#: ../src/guestfs.pod:2011 ../fish/guestfish.pod:948 msgid "LIBGUESTFS_QEMU" msgstr "" # type: textblock -#: ../src/guestfs.pod:1860 ../fish/guestfish.pod:916 +#: ../src/guestfs.pod:2013 ../fish/guestfish.pod:950 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: textblock -#: ../src/guestfs.pod:1864 +#: ../src/guestfs.pod:2017 msgid "See also L above." msgstr "" # type: =item -#: ../src/guestfs.pod:1866 ../fish/guestfish.pod:920 +#: ../src/guestfs.pod:2019 ../fish/guestfish.pod:954 msgid "LIBGUESTFS_TRACE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1868 +#: ../src/guestfs.pod:2021 msgid "" "Set C to enable command traces. This has the same " "effect as calling C." msgstr "" # type: =item -#: ../src/guestfs.pod:1871 ../fish/guestfish.pod:929 +#: ../src/guestfs.pod:2024 ../fish/guestfish.pod:963 msgid "TMPDIR" msgstr "" # type: textblock -#: ../src/guestfs.pod:1873 ../fish/guestfish.pod:931 +#: ../src/guestfs.pod:2026 ../fish/guestfish.pod:965 msgid "Location of temporary directory, defaults to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1875 ../fish/guestfish.pod:933 +#: ../src/guestfs.pod:2028 ../fish/guestfish.pod:967 msgid "" "If libguestfs was compiled to use the supermin appliance then the real " "appliance is cached in this directory, shared between all handles belonging " @@ -3683,12 +3924,12 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1883 ../fish/guestfish.pod:991 ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:214 ../inspector/virt-inspector.pl:570 ../tools/virt-edit.pl:350 ../tools/virt-win-reg.pl:484 ../tools/virt-df.pl:640 ../tools/virt-ls.pl:232 ../tools/virt-resize.pl:1486 ../tools/virt-list-filesystems.pl:186 ../tools/virt-cat.pl:185 ../tools/virt-tar.pl:281 ../tools/virt-rescue.pl:267 ../tools/virt-make-fs.pl:534 ../tools/virt-list-partitions.pl:254 +#: ../src/guestfs.pod:2036 ../fish/guestfish.pod:1025 ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:221 ../inspector/virt-inspector.pl:570 ../tools/virt-edit.pl:350 ../tools/virt-win-reg.pl:484 ../tools/virt-df.pl:640 ../tools/virt-ls.pl:232 ../tools/virt-resize.pl:1486 ../tools/virt-list-filesystems.pl:186 ../tools/virt-cat.pl:185 ../tools/virt-tar.pl:281 ../tools/virt-rescue.pl:267 ../tools/virt-make-fs.pl:534 ../tools/virt-list-partitions.pl:254 msgid "SEE ALSO" msgstr "" # type: textblock -#: ../src/guestfs.pod:1885 +#: ../src/guestfs.pod:2038 msgid "" "L, L, L, L, " "L, L, L, " @@ -3698,86 +3939,86 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1903 +#: ../src/guestfs.pod:2056 msgid "" "Tools with a similar purpose: L, L, L, " "L, L." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1910 ../tools/virt-win-reg.pl:499 ../tools/virt-make-fs.pl:548 +#: ../src/guestfs.pod:2063 ../tools/virt-win-reg.pl:499 ../tools/virt-make-fs.pl:548 msgid "BUGS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1912 +#: ../src/guestfs.pod:2065 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1914 +#: ../src/guestfs.pod:2067 msgid "L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1916 +#: ../src/guestfs.pod:2069 msgid "To report a new bug against libguestfs use this link:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1918 +#: ../src/guestfs.pod:2071 msgid "L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1920 +#: ../src/guestfs.pod:2073 msgid "When reporting a bug, please check:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:2079 msgid "That the bug hasn't been reported already." msgstr "" # type: textblock -#: ../src/guestfs.pod:1930 +#: ../src/guestfs.pod:2083 msgid "That you are testing a recent version." msgstr "" # type: textblock -#: ../src/guestfs.pod:1934 +#: ../src/guestfs.pod:2087 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" # type: textblock -#: ../src/guestfs.pod:1938 +#: ../src/guestfs.pod:2091 msgid "" "Run libguestfs-test-tool and paste the B output into the " "bug report." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1943 ../fish/guestfish.pod:1008 ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:225 ../inspector/virt-inspector.pl:580 +#: ../src/guestfs.pod:2096 ../fish/guestfish.pod:1042 ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:232 ../inspector/virt-inspector.pl:580 msgid "AUTHORS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1945 ../fish/guestfish.pod:1010 ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:227 +#: ../src/guestfs.pod:2098 ../fish/guestfish.pod:1044 ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:234 msgid "Richard W.M. Jones (C)" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1947 ../fish/guestfish.pod:1012 ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:229 ../inspector/virt-inspector.pl:594 ../tools/virt-edit.pl:366 ../tools/virt-win-reg.pl:514 ../tools/virt-df.pl:653 ../tools/virt-ls.pl:247 ../tools/virt-resize.pl:1512 ../tools/virt-list-filesystems.pl:202 ../tools/virt-cat.pl:199 ../tools/virt-tar.pl:296 ../tools/virt-rescue.pl:281 ../tools/virt-make-fs.pl:563 ../tools/virt-list-partitions.pl:269 +#: ../src/guestfs.pod:2100 ../fish/guestfish.pod:1046 ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:236 ../inspector/virt-inspector.pl:594 ../tools/virt-edit.pl:366 ../tools/virt-win-reg.pl:514 ../tools/virt-df.pl:653 ../tools/virt-ls.pl:247 ../tools/virt-resize.pl:1512 ../tools/virt-list-filesystems.pl:202 ../tools/virt-cat.pl:199 ../tools/virt-tar.pl:296 ../tools/virt-rescue.pl:281 ../tools/virt-make-fs.pl:563 ../tools/virt-list-partitions.pl:269 msgid "COPYRIGHT" msgstr "" # type: textblock -#: ../src/guestfs.pod:1949 ../fish/guestfish.pod:1014 ../fuse/guestmount.pod:231 +#: ../src/guestfs.pod:2102 ../fish/guestfish.pod:1048 ../fuse/guestmount.pod:238 msgid "Copyright (C) 2009-2010 Red Hat Inc. L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1952 +#: ../src/guestfs.pod:2105 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 " @@ -3786,7 +4027,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1957 +#: ../src/guestfs.pod:2110 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 " @@ -3795,7 +4036,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1962 +#: ../src/guestfs.pod:2115 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, " @@ -7742,7 +7983,7 @@ msgstr "" # type: textblock #: ../src/guestfs-actions.pod:2253 ../fish/guestfish-actions.pod:1678 -msgid "Debian or a Debian-derived distro such as Ubuntu." +msgid "Debian." msgstr "" # type: =item @@ -7806,35 +8047,35 @@ msgid "Red Hat Enterprise Linux and some derivatives." msgstr "" # type: =item -#: ../src/guestfs-actions.pod:2279 ../src/guestfs-actions.pod:2441 ../fish/guestfish-actions.pod:1704 ../fish/guestfish-actions.pod:1834 -msgid "\"windows\"" +#: ../src/guestfs-actions.pod:2279 ../fish/guestfish-actions.pod:1704 +msgid "\"ubuntu\"" msgstr "" # type: textblock #: ../src/guestfs-actions.pod:2281 ../fish/guestfish-actions.pod:1706 -msgid "" -"Windows does not have distributions. This string is returned if the OS type " -"is Windows." +msgid "Ubuntu." msgstr "" # type: =item -#: ../src/guestfs-actions.pod:2284 ../fish/guestfish-actions.pod:1709 -msgid "\"ubuntu\"" +#: ../src/guestfs-actions.pod:2283 ../src/guestfs-actions.pod:2445 ../fish/guestfish-actions.pod:1708 ../fish/guestfish-actions.pod:1838 +msgid "\"unknown\"" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:2286 ../fish/guestfish-actions.pod:1711 -msgid "Ubuntu." +#: ../src/guestfs-actions.pod:2285 ../fish/guestfish-actions.pod:1710 +msgid "The distro could not be determined." msgstr "" # type: =item -#: ../src/guestfs-actions.pod:2288 ../src/guestfs-actions.pod:2445 ../fish/guestfish-actions.pod:1713 ../fish/guestfish-actions.pod:1838 -msgid "\"unknown\"" +#: ../src/guestfs-actions.pod:2287 ../src/guestfs-actions.pod:2441 ../fish/guestfish-actions.pod:1712 ../fish/guestfish-actions.pod:1834 +msgid "\"windows\"" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:2290 ../fish/guestfish-actions.pod:1715 -msgid "The distro could not be determined." +#: ../src/guestfs-actions.pod:2289 ../fish/guestfish-actions.pod:1714 +msgid "" +"Windows does not have distributions. This string is returned if the OS type " +"is Windows." msgstr "" # type: textblock @@ -15255,7 +15496,7 @@ msgstr "" #: ../fish/guestfish.pod:13 #, no-wrap msgid "" -" guestfish -a disk.img\n" +" guestfish [--ro|--rw] -a disk.img\n" "\n" msgstr "" @@ -15263,7 +15504,7 @@ msgstr "" #: ../fish/guestfish.pod:15 #, no-wrap msgid "" -" guestfish -a disk.img -m dev[:mountpoint]\n" +" guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint]\n" "\n" msgstr "" @@ -15279,7 +15520,7 @@ msgstr "" #: ../fish/guestfish.pod:19 #, no-wrap msgid "" -" guestfish -a disk.img -i\n" +" guestfish [--ro|--rw] -a disk.img -i\n" "\n" msgstr "" @@ -15323,7 +15564,7 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:800 ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:58 ../tools/virt-resize.pl:66 ../tools/virt-cat.pl:50 ../tools/virt-tar.pl:45 +#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:834 ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:58 ../tools/virt-resize.pl:66 ../tools/virt-cat.pl:50 ../tools/virt-tar.pl:45 msgid "EXAMPLES" msgstr "" @@ -15462,7 +15703,7 @@ msgstr "" #: ../fish/guestfish.pod:102 #, no-wrap msgid "" -" guestfish --add disk.img \\\n" +" guestfish --rw --add disk.img \\\n" " --mount /dev/vg_guest/lv_root \\\n" " --mount /dev/sda1:/boot \\\n" " edit /boot/grub/grub.conf\n" @@ -15506,7 +15747,7 @@ msgstr "" #: ../fish/guestfish.pod:118 #, no-wrap msgid "" -" guestfish -a disk.img -i edit /boot/grub/grub.conf\n" +" guestfish --rw -a disk.img -i edit /boot/grub/grub.conf\n" "\n" msgstr "" @@ -15558,7 +15799,7 @@ msgid "To list what is available do:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:791 +#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:825 #, no-wrap msgid "" " guestfish -N help | less\n" @@ -15574,7 +15815,7 @@ msgstr "" #: ../fish/guestfish.pod:143 #, no-wrap msgid "" -" eval `guestfish --listen`\n" +" eval \"`guestfish --listen`\"\n" " guestfish --remote add-ro disk.img\n" " guestfish --remote run\n" " guestfish --remote lvs\n" @@ -15719,7 +15960,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:211 ../fish/guestfish.pod:504 ../inspector/virt-inspector.pl:549 +#: ../fish/guestfish.pod:211 ../fish/guestfish.pod:538 ../inspector/virt-inspector.pl:549 msgid "For example:" msgstr "" @@ -15807,7 +16048,7 @@ msgstr "" #: ../fish/guestfish.pod:243 #, no-wrap msgid "" -" guestfish -a /dev/Guests/MyGuest -i\n" +" guestfish --rw -a /dev/Guests/MyGuest -i\n" "\n" msgstr "" @@ -15986,67 +16227,84 @@ msgid "" "I<--ro> option." msgstr "" +# type: textblock +#: ../fish/guestfish.pod:318 +msgid "See also L below." +msgstr "" + # type: =item -#: ../fish/guestfish.pod:318 ../fuse/guestmount.pod:194 ../tools/virt-rescue.pl:195 +#: ../fish/guestfish.pod:320 ../fuse/guestmount.pod:196 ../tools/virt-rescue.pl:195 msgid "B<--selinux>" msgstr "" # type: textblock -#: ../fish/guestfish.pod:320 +#: ../fish/guestfish.pod:322 msgid "Enable SELinux support for the guest. See L." msgstr "" # type: =item -#: ../fish/guestfish.pod:322 ../fuse/guestmount.pod:198 +#: ../fish/guestfish.pod:324 ../fuse/guestmount.pod:200 msgid "B<-v> | B<--verbose>" msgstr "" # type: textblock -#: ../fish/guestfish.pod:324 +#: ../fish/guestfish.pod:326 msgid "" "Enable very verbose messages. This is particularly useful if you find a " "bug." msgstr "" # type: =item -#: ../fish/guestfish.pod:327 ../fuse/guestmount.pod:202 +#: ../fish/guestfish.pod:329 ../fuse/guestmount.pod:204 msgid "B<-V> | B<--version>" msgstr "" # type: textblock -#: ../fish/guestfish.pod:329 +#: ../fish/guestfish.pod:331 msgid "Display the guestfish / libguestfs version number and exit." msgstr "" # type: =item -#: ../fish/guestfish.pod:331 +#: ../fish/guestfish.pod:333 ../fuse/guestmount.pod:208 +msgid "B<-w> | B<--rw>" +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:335 +msgid "" +"This option does nothing at the moment. See L below." +msgstr "" + +# type: =item +#: ../fish/guestfish.pod:338 msgid "B<-x>" msgstr "" # type: textblock -#: ../fish/guestfish.pod:333 +#: ../fish/guestfish.pod:340 msgid "Echo each command before executing it." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:337 +#: ../fish/guestfish.pod:344 msgid "COMMANDS ON COMMAND LINE" msgstr "" # type: textblock -#: ../fish/guestfish.pod:339 +#: ../fish/guestfish.pod:346 msgid "Any additional (non-option) arguments are treated as commands to execute." msgstr "" # type: textblock -#: ../fish/guestfish.pod:342 +#: ../fish/guestfish.pod:349 msgid "" "Commands to execute should be separated by a colon (C<:>), where the colon " "is a separate parameter. Thus:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:345 +#: ../fish/guestfish.pod:352 #, no-wrap msgid "" " guestfish cmd [args...] : cmd [args...] : cmd [args...] ...\n" @@ -16054,7 +16312,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:347 +#: ../fish/guestfish.pod:354 msgid "" "If there are no additional arguments, then we enter a shell, either an " "interactive shell with a prompt (if the input is a terminal) or a " @@ -16062,7 +16320,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:351 +#: ../fish/guestfish.pod:358 msgid "" "In either command line mode or non-interactive shell, the first command that " "gives an error causes the whole shell to exit. In interactive mode (with a " @@ -16070,12 +16328,12 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:356 +#: ../fish/guestfish.pod:363 msgid "USING launch (OR run)" msgstr "" # type: textblock -#: ../fish/guestfish.pod:358 +#: ../fish/guestfish.pod:365 msgid "" "As with L, you must first configure your guest by adding disks, " "then launch it, then mount any disks you need, and finally issue " @@ -16083,34 +16341,34 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:366 +#: ../fish/guestfish.pod:373 msgid "add or -a/--add" msgstr "" # type: textblock -#: ../fish/guestfish.pod:370 +#: ../fish/guestfish.pod:377 msgid "launch (aka run)" msgstr "" # type: textblock -#: ../fish/guestfish.pod:374 +#: ../fish/guestfish.pod:381 msgid "mount or -m/--mount" msgstr "" # type: textblock -#: ../fish/guestfish.pod:378 +#: ../fish/guestfish.pod:385 msgid "any other commands" msgstr "" # type: textblock -#: ../fish/guestfish.pod:382 +#: ../fish/guestfish.pod:389 msgid "" "C is a synonym for C. You must C (or C) your " "guest before mounting or performing any other commands." msgstr "" # type: textblock -#: ../fish/guestfish.pod:385 +#: ../fish/guestfish.pod:392 msgid "" "The only exception is that if any of the I<-i>, I<-m>, I<--mount>, I<-N> or " "I<--new> options were given then C is done automatically, simply " @@ -16118,19 +16376,72 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:390 +#: ../fish/guestfish.pod:397 +msgid "OPENING DISKS FOR READ AND WRITE" +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:399 +msgid "" +"The guestfish (and L) options I<--ro> and I<--rw> affect " +"whether the other command line options I<-a>, I<-c>, I<-d>, I<-i> and I<-m> " +"open disk images read-only or for writing." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:403 +msgid "" +"In libguestfs E 1.6.2, guestfish and guestmount defaulted to opening " +"disk images supplied on the command line for write. To open a disk image " +"read-only you have to do I<-a image --ro>." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:407 +msgid "" +"This matters: If you accidentally open a live VM disk image writable then " +"you will cause irreversible disk corruption." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:410 +msgid "" +"By libguestfs 1.8 we intend to change the default the other way. Disk " +"images will be opened read-only. You will have to either specify " +"I or change a configuration file in order to get write " +"access for disk images specified by those other command line options." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:415 +msgid "" +"This version of guestfish has a I<--rw> option which does nothing (it is " +"already the default). However it is highly recommended that you use this " +"option to indicate that guestfish needs write access, and to prepare your " +"scripts for the day when this option will be required for write access." +msgstr "" + +# type: textblock +#: ../fish/guestfish.pod:421 +msgid "" +"B This does I affect commands like L and L, or any " +"other libguestfs program apart from guestfish and guestmount." +msgstr "" + +# type: =head1 +#: ../fish/guestfish.pod:424 msgid "QUOTING" msgstr "" # type: textblock -#: ../fish/guestfish.pod:392 +#: ../fish/guestfish.pod:426 msgid "" "You can quote ordinary parameters using either single or double quotes. For " "example:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:395 +#: ../fish/guestfish.pod:429 #, no-wrap msgid "" " add \"file with a space.img\"\n" @@ -16138,7 +16449,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:397 +#: ../fish/guestfish.pod:431 #, no-wrap msgid "" " rm '/file name'\n" @@ -16146,7 +16457,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:399 +#: ../fish/guestfish.pod:433 #, no-wrap msgid "" " rm '/\"'\n" @@ -16154,7 +16465,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:401 +#: ../fish/guestfish.pod:435 msgid "" "A few commands require a list of strings to be passed. For these, use a " "whitespace-separated list, enclosed in quotes. Strings containing " @@ -16163,7 +16474,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:406 +#: ../fish/guestfish.pod:440 #, no-wrap msgid "" " vgcreate VG \"/dev/sda1 /dev/sdb1\"\n" @@ -16173,19 +16484,19 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:410 +#: ../fish/guestfish.pod:444 msgid "OPTIONAL ARGUMENTS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:412 +#: ../fish/guestfish.pod:446 msgid "" "Some commands take optional arguments. These arguments appear in this " "documentation as C<[argname:..]>. You can use them as in these examples:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:416 +#: ../fish/guestfish.pod:450 #, no-wrap msgid "" " add-drive-opts filename\n" @@ -16193,7 +16504,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:418 +#: ../fish/guestfish.pod:452 #, no-wrap msgid "" " add-drive-opts filename readonly:true\n" @@ -16201,7 +16512,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:420 +#: ../fish/guestfish.pod:454 #, no-wrap msgid "" " add-drive-opts filename format:qcow2 readonly:false\n" @@ -16209,196 +16520,196 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:422 +#: ../fish/guestfish.pod:456 msgid "" "Each optional argument can appear at most once. All optional arguments must " "appear after the required ones." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:425 +#: ../fish/guestfish.pod:459 msgid "NUMBERS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:427 +#: ../fish/guestfish.pod:461 msgid "This section applies to all commands which can take integers as parameters." msgstr "" # type: =head2 -#: ../fish/guestfish.pod:430 +#: ../fish/guestfish.pod:464 msgid "SIZE SUFFIX" msgstr "" # type: textblock -#: ../fish/guestfish.pod:432 +#: ../fish/guestfish.pod:466 msgid "" "When the command takes a parameter measured in bytes, you can use one of the " "following suffixes to specify kilobytes, megabytes and larger sizes:" msgstr "" # type: =item -#: ../fish/guestfish.pod:438 +#: ../fish/guestfish.pod:472 msgid "B or B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:440 +#: ../fish/guestfish.pod:474 msgid "The size in kilobytes (multiplied by 1024)." msgstr "" # type: =item -#: ../fish/guestfish.pod:442 +#: ../fish/guestfish.pod:476 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:444 +#: ../fish/guestfish.pod:478 msgid "The size in SI 1000 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:446 +#: ../fish/guestfish.pod:480 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:448 +#: ../fish/guestfish.pod:482 msgid "The size in megabytes (multiplied by 1048576)." msgstr "" # type: =item -#: ../fish/guestfish.pod:450 +#: ../fish/guestfish.pod:484 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:452 +#: ../fish/guestfish.pod:486 msgid "The size in SI 1000000 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:454 +#: ../fish/guestfish.pod:488 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:456 +#: ../fish/guestfish.pod:490 msgid "The size in gigabytes (multiplied by 2**30)." msgstr "" # type: =item -#: ../fish/guestfish.pod:458 +#: ../fish/guestfish.pod:492 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:460 +#: ../fish/guestfish.pod:494 msgid "The size in SI 10**9 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:462 +#: ../fish/guestfish.pod:496 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:464 +#: ../fish/guestfish.pod:498 msgid "The size in terabytes (multiplied by 2**40)." msgstr "" # type: =item -#: ../fish/guestfish.pod:466 +#: ../fish/guestfish.pod:500 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:468 +#: ../fish/guestfish.pod:502 msgid "The size in SI 10**12 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:470 +#: ../fish/guestfish.pod:504 msgid "B

or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:472 +#: ../fish/guestfish.pod:506 msgid "The size in petabytes (multiplied by 2**50)." msgstr "" # type: =item -#: ../fish/guestfish.pod:474 +#: ../fish/guestfish.pod:508 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:476 +#: ../fish/guestfish.pod:510 msgid "The size in SI 10**15 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:478 +#: ../fish/guestfish.pod:512 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:480 +#: ../fish/guestfish.pod:514 msgid "The size in exabytes (multiplied by 2**60)." msgstr "" # type: =item -#: ../fish/guestfish.pod:482 +#: ../fish/guestfish.pod:516 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:484 +#: ../fish/guestfish.pod:518 msgid "The size in SI 10**18 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:486 +#: ../fish/guestfish.pod:520 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:488 +#: ../fish/guestfish.pod:522 msgid "The size in zettabytes (multiplied by 2**70)." msgstr "" # type: =item -#: ../fish/guestfish.pod:490 +#: ../fish/guestfish.pod:524 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:492 +#: ../fish/guestfish.pod:526 msgid "The size in SI 10**21 byte units." msgstr "" # type: =item -#: ../fish/guestfish.pod:494 +#: ../fish/guestfish.pod:528 msgid "B or B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:496 +#: ../fish/guestfish.pod:530 msgid "The size in yottabytes (multiplied by 2**80)." msgstr "" # type: =item -#: ../fish/guestfish.pod:498 +#: ../fish/guestfish.pod:532 msgid "B" msgstr "" # type: textblock -#: ../fish/guestfish.pod:500 +#: ../fish/guestfish.pod:534 msgid "The size in SI 10**24 byte units." msgstr "" # type: verbatim -#: ../fish/guestfish.pod:506 +#: ../fish/guestfish.pod:540 #, no-wrap msgid "" " truncate-size /file 1G\n" @@ -16406,12 +16717,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:508 +#: ../fish/guestfish.pod:542 msgid "would truncate the file to 1 gigabyte." msgstr "" # type: textblock -#: ../fish/guestfish.pod:510 +#: ../fish/guestfish.pod:544 msgid "" "Be careful because a few commands take sizes in kilobytes or megabytes " "(eg. the parameter to L is specified in megabytes already). " @@ -16419,19 +16730,19 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish.pod:514 +#: ../fish/guestfish.pod:548 msgid "OCTAL AND HEXADECIMAL NUMBERS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:516 +#: ../fish/guestfish.pod:550 msgid "" "For specifying the radix (base) use the C convention: C<0> to prefix an " "octal number or C<0x> to prefix a hexadecimal number. For example:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:519 +#: ../fish/guestfish.pod:553 #, no-wrap msgid "" " 1234 decimal number 1234\n" @@ -16441,7 +16752,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:523 +#: ../fish/guestfish.pod:557 msgid "" "When using the C command, you almost always want to specify an octal " "number for the mode, and you must prefix it with C<0> (unlike the Unix " @@ -16449,7 +16760,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:527 +#: ../fish/guestfish.pod:561 #, no-wrap msgid "" " chmod 0777 /public # OK\n" @@ -16458,7 +16769,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:530 +#: ../fish/guestfish.pod:564 msgid "" "Commands that return numbers usually print them in decimal, but some " "commands print numbers in other radices (eg. C prints the mode in " @@ -16466,12 +16777,12 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:534 +#: ../fish/guestfish.pod:568 msgid "WILDCARDS AND GLOBBING" msgstr "" # type: textblock -#: ../fish/guestfish.pod:536 +#: ../fish/guestfish.pod:570 msgid "" "Neither guestfish nor the underlying guestfs API performs wildcard expansion " "(globbing) by default. So for example the following will not do what you " @@ -16479,7 +16790,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:540 +#: ../fish/guestfish.pod:574 #, no-wrap msgid "" " rm-rf /home/*\n" @@ -16487,19 +16798,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:542 +#: ../fish/guestfish.pod:576 msgid "" "Assuming you don't have a directory called literally C then the " "above command will return an error." msgstr "" # type: textblock -#: ../fish/guestfish.pod:545 +#: ../fish/guestfish.pod:579 msgid "To perform wildcard expansion, use the C command." msgstr "" # type: verbatim -#: ../fish/guestfish.pod:547 +#: ../fish/guestfish.pod:581 #, no-wrap msgid "" " glob rm-rf /home/*\n" @@ -16507,14 +16818,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:549 +#: ../fish/guestfish.pod:583 msgid "" "runs C on each path that matches (ie. potentially running the command " "many times), equivalent to:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:552 +#: ../fish/guestfish.pod:586 #, no-wrap msgid "" " rm-rf /home/jim\n" @@ -16524,24 +16835,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:556 +#: ../fish/guestfish.pod:590 msgid "C only works on simple guest paths and not on device names." msgstr "" # type: textblock -#: ../fish/guestfish.pod:558 +#: ../fish/guestfish.pod:592 msgid "" "If you have several parameters, each containing a wildcard, then glob will " "perform a Cartesian product." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:561 +#: ../fish/guestfish.pod:595 msgid "COMMENTS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:563 +#: ../fish/guestfish.pod:597 msgid "" "Any line which starts with a I<#> character is treated as a comment and " "ignored. The I<#> can optionally be preceeded by whitespace, but B by " @@ -16549,7 +16860,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:567 +#: ../fish/guestfish.pod:601 #, no-wrap msgid "" " # this is a comment\n" @@ -16559,24 +16870,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:571 +#: ../fish/guestfish.pod:605 msgid "Blank lines are also ignored." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:573 +#: ../fish/guestfish.pod:607 msgid "RUNNING COMMANDS LOCALLY" msgstr "" # type: textblock -#: ../fish/guestfish.pod:575 +#: ../fish/guestfish.pod:609 msgid "" "Any line which starts with a I character is treated as a command sent to " "the local shell (C or whatever L uses). For example:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:579 +#: ../fish/guestfish.pod:613 #, no-wrap msgid "" " !mkdir local\n" @@ -16585,7 +16896,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:582 +#: ../fish/guestfish.pod:616 msgid "" "will create a directory C on the host, and then export the contents " "of C on the mounted filesystem to C. " @@ -16593,19 +16904,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:586 +#: ../fish/guestfish.pod:620 msgid "" "To change the local directory, use the C command. C will have no " "effect, due to the way that subprocesses work in Unix." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:589 +#: ../fish/guestfish.pod:623 msgid "PIPES" msgstr "" # type: textblock -#: ../fish/guestfish.pod:591 +#: ../fish/guestfish.pod:625 msgid "" "Use CspaceE | command> to pipe the output of the first " "command (a guestfish command) to the second command (any host command). For " @@ -16613,7 +16924,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:595 +#: ../fish/guestfish.pod:629 #, no-wrap msgid "" " cat /etc/passwd | awk -F: '$3 == 0 { print }'\n" @@ -16621,7 +16932,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:597 +#: ../fish/guestfish.pod:631 msgid "" "(where C is the guestfish cat command, but C is the host awk " "program). The above command would list all accounts in the guest filesystem " @@ -16629,7 +16940,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:602 +#: ../fish/guestfish.pod:636 #, no-wrap msgid "" " hexdump /bin/ls | head\n" @@ -16639,7 +16950,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:606 +#: ../fish/guestfish.pod:640 msgid "" "The space before the pipe symbol is required, any space after the pipe " "symbol is optional. Everything after the pipe symbol is just passed " @@ -16648,14 +16959,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:611 +#: ../fish/guestfish.pod:645 msgid "" "To use a literal argument which begins with a pipe symbol, you have to quote " "it, eg:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:614 +#: ../fish/guestfish.pod:648 #, no-wrap msgid "" " echo \"|\"\n" @@ -16663,12 +16974,12 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:616 +#: ../fish/guestfish.pod:650 msgid "HOME DIRECTORIES" msgstr "" # type: textblock -#: ../fish/guestfish.pod:618 +#: ../fish/guestfish.pod:652 msgid "" "If a parameter starts with the character C<~> then the tilde may be expanded " "as a home directory path (either C<~> for the current user's home directory, " @@ -16676,21 +16987,21 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:622 +#: ../fish/guestfish.pod:656 msgid "" "Note that home directory expansion happens for users known I, " "not in the guest filesystem." msgstr "" # type: textblock -#: ../fish/guestfish.pod:625 +#: ../fish/guestfish.pod:659 msgid "" "To use a literal argument which begins with a tilde, you have to quote it, " "eg:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:628 +#: ../fish/guestfish.pod:662 #, no-wrap msgid "" " echo \"~\"\n" @@ -16698,7 +17009,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:632 +#: ../fish/guestfish.pod:666 msgid "" "Libguestfs has some support for Linux guests encrypted according to the " "Linux Unified Key Setup (LUKS) standard, which includes nearly all whole " @@ -16707,12 +17018,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:637 +#: ../fish/guestfish.pod:671 msgid "Identify encrypted block devices and partitions using L:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:639 +#: ../fish/guestfish.pod:673 #, no-wrap msgid "" " > vfs-type /dev/sda2\n" @@ -16721,14 +17032,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:642 +#: ../fish/guestfish.pod:676 msgid "" "Then open those devices using L. This creates a device-mapper " "device called C." msgstr "" # type: verbatim -#: ../fish/guestfish.pod:645 +#: ../fish/guestfish.pod:679 #, no-wrap msgid "" " > luks-open /dev/sda2 luksdev\n" @@ -16737,14 +17048,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:648 +#: ../fish/guestfish.pod:682 msgid "" "Finally you have to tell LVM to scan for volume groups on the newly created " "mapper device:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:651 +#: ../fish/guestfish.pod:685 #, no-wrap msgid "" " vgscan\n" @@ -16753,12 +17064,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:654 +#: ../fish/guestfish.pod:688 msgid "The logical volume(s) can now be mounted in the usual way." msgstr "" # type: textblock -#: ../fish/guestfish.pod:656 +#: ../fish/guestfish.pod:690 msgid "" "Before closing a LUKS device you must unmount any logical volumes on it and " "deactivate the volume groups by calling C on each " @@ -16766,7 +17077,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:660 +#: ../fish/guestfish.pod:694 #, no-wrap msgid "" " vg-activate false /dev/VG\n" @@ -16775,19 +17086,19 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:663 +#: ../fish/guestfish.pod:697 msgid "WINDOWS PATHS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:665 +#: ../fish/guestfish.pod:699 msgid "" "If a path is prefixed with C then you can use Windows-style paths " "(with some limitations). The following commands are equivalent:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:668 +#: ../fish/guestfish.pod:702 #, no-wrap msgid "" " file /WINDOWS/system32/config/system.LOG\n" @@ -16795,7 +17106,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:670 +#: ../fish/guestfish.pod:704 #, no-wrap msgid "" " file win:/windows/system32/config/system.log\n" @@ -16803,7 +17114,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:672 +#: ../fish/guestfish.pod:706 #, no-wrap msgid "" " file win:\\windows\\system32\\config\\system.log\n" @@ -16811,7 +17122,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:674 +#: ../fish/guestfish.pod:708 #, no-wrap msgid "" " file WIN:C:\\Windows\\SYSTEM32\\conFIG\\SYSTEM.LOG\n" @@ -16819,7 +17130,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:676 +#: ../fish/guestfish.pod:710 msgid "" "This syntax implicitly calls C (q.v.) so it also " "handles case insensitivity like Windows would. This only works in argument " @@ -16827,12 +17138,12 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:680 +#: ../fish/guestfish.pod:714 msgid "UPLOADING AND DOWNLOADING FILES" msgstr "" # type: textblock -#: ../fish/guestfish.pod:682 +#: ../fish/guestfish.pod:716 msgid "" "For commands such as C, C, C, C and " "others which upload from or download to a local file, you can use the " @@ -16840,7 +17151,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:686 +#: ../fish/guestfish.pod:720 #, no-wrap msgid "" " upload - /foo\n" @@ -16848,12 +17159,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:688 +#: ../fish/guestfish.pod:722 msgid "reads stdin and creates from that a file C in the disk image, and:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:691 +#: ../fish/guestfish.pod:725 #, no-wrap msgid "" " tar-out /etc - | tar tf -\n" @@ -16861,14 +17172,14 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:693 +#: ../fish/guestfish.pod:727 msgid "" "writes the tarball to stdout and then pipes that into the external \"tar\" " "command (see L)." msgstr "" # type: textblock -#: ../fish/guestfish.pod:696 +#: ../fish/guestfish.pod:730 msgid "" "When using C<-> to read from stdin, the input is read up to the end of " "stdin. You can also use a special \"heredoc\"-like syntax to read up to " @@ -16876,7 +17187,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:700 +#: ../fish/guestfish.pod:734 #, no-wrap msgid "" " upload -<. The end marker must " "appear on a line of its own, without any preceeding or following characters " @@ -16896,19 +17207,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:710 +#: ../fish/guestfish.pod:744 msgid "" "Note that the C<-EE> syntax only applies to parameters used to " "upload local files (so-called \"FileIn\" parameters in the generator)." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:713 +#: ../fish/guestfish.pod:747 msgid "EXIT ON ERROR BEHAVIOUR" msgstr "" # type: textblock -#: ../fish/guestfish.pod:715 +#: ../fish/guestfish.pod:749 msgid "" "By default, guestfish will ignore any errors when in interactive mode " "(ie. taking commands from a human over a tty), and will exit on the first " @@ -16916,19 +17227,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:720 +#: ../fish/guestfish.pod:754 msgid "" "If you prefix a command with a I<-> character, then that command will not " "cause guestfish to exit, even if that (one) command returns an error." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:724 +#: ../fish/guestfish.pod:758 msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET" msgstr "" # type: textblock -#: ../fish/guestfish.pod:726 +#: ../fish/guestfish.pod:760 msgid "" "Guestfish can be remote-controlled over a socket. This is useful " "particularly in shell scripts where you want to make several different " @@ -16937,25 +17248,25 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:731 +#: ../fish/guestfish.pod:765 msgid "Start a guestfish server process using:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:733 +#: ../fish/guestfish.pod:767 #, no-wrap msgid "" -" eval `guestfish --listen`\n" +" eval \"`guestfish --listen`\"\n" "\n" msgstr "" # type: textblock -#: ../fish/guestfish.pod:735 +#: ../fish/guestfish.pod:769 msgid "and then send it commands by doing:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:737 +#: ../fish/guestfish.pod:771 #, no-wrap msgid "" " guestfish --remote cmd [...]\n" @@ -16963,12 +17274,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:739 +#: ../fish/guestfish.pod:773 msgid "To cause the server to exit, send it the exit command:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:741 +#: ../fish/guestfish.pod:775 #, no-wrap msgid "" " guestfish --remote exit\n" @@ -16976,7 +17287,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:743 +#: ../fish/guestfish.pod:777 msgid "" "Note that the server will normally exit if there is an error in a command. " "You can change this in the usual way. See section L statement sets the environment variable C<$GUESTFISH_PID>, which " "is how the I<--remote> option knows where to send the commands. You can " @@ -16997,12 +17308,12 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:753 +#: ../fish/guestfish.pod:787 #, no-wrap msgid "" -" eval `guestfish --listen`\n" +" eval \"`guestfish --listen`\"\n" " pid1=$GUESTFISH_PID\n" -" eval `guestfish --listen`\n" +" eval \"`guestfish --listen`\"\n" " pid2=$GUESTFISH_PID\n" " ...\n" " guestfish --remote=$pid1 cmd\n" @@ -17011,12 +17322,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish.pod:761 +#: ../fish/guestfish.pod:795 msgid "REMOTE CONTROL DETAILS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:763 +#: ../fish/guestfish.pod:797 msgid "" "Remote control happens over a Unix domain socket called " "C, where C<$UID> is the effective user ID " @@ -17024,17 +17335,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:767 +#: ../fish/guestfish.pod:801 msgid "Guestfish client and server versions must match exactly." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:769 +#: ../fish/guestfish.pod:803 msgid "PREPARED DISK IMAGES" msgstr "" # type: textblock -#: ../fish/guestfish.pod:771 +#: ../fish/guestfish.pod:805 msgid "" "Use the I<-N type> or I<--new type> parameter to select one of a set of " "preformatted disk images that guestfish can make for you to save typing. " @@ -17044,7 +17355,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:777 +#: ../fish/guestfish.pod:811 msgid "" "The new disk is called C for the first I<-N>, C for " "the second and so on. Existing files in the current directory are " @@ -17052,7 +17363,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:781 +#: ../fish/guestfish.pod:815 msgid "" "The type briefly describes how the disk should be sized, partitioned, how " "filesystem(s) should be created, and how content should be added. " @@ -17064,31 +17375,31 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:789 +#: ../fish/guestfish.pod:823 msgid "To list the available types and any extra parameters they take, run:" msgstr "" # type: textblock -#: ../fish/guestfish.pod:793 +#: ../fish/guestfish.pod:827 msgid "" "Note that the prepared filesystem is not mounted. You would usually have to " "use the C command or add the I<-m /dev/sda1> option." msgstr "" # type: textblock -#: ../fish/guestfish.pod:797 +#: ../fish/guestfish.pod:831 msgid "" "If any I<-N> or I<--new> options are given, the guest is automatically " "launched." msgstr "" # type: textblock -#: ../fish/guestfish.pod:802 +#: ../fish/guestfish.pod:836 msgid "Create a 100MB disk with an ext4-formatted partition:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:804 +#: ../fish/guestfish.pod:838 #, no-wrap msgid "" " guestfish -N fs:ext4\n" @@ -17096,12 +17407,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:806 +#: ../fish/guestfish.pod:840 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:808 +#: ../fish/guestfish.pod:842 #, no-wrap msgid "" " guestfish -N fs:vfat:32M -m /dev/sda1\n" @@ -17109,12 +17420,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:810 +#: ../fish/guestfish.pod:844 msgid "Create a blank 200MB disk:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:812 +#: ../fish/guestfish.pod:846 #, no-wrap msgid "" " guestfish -N disk:200M\n" @@ -17122,19 +17433,19 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:814 +#: ../fish/guestfish.pod:848 msgid "PROGRESS BARS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:816 +#: ../fish/guestfish.pod:850 msgid "" "Some (not all) long-running commands send progress notification messages as " "they are running. Guestfish turns these messages into progress bars." msgstr "" # type: textblock -#: ../fish/guestfish.pod:820 +#: ../fish/guestfish.pod:854 msgid "" "When a command that supports progress bars takes longer than two seconds to " "run, and if progress bars are enabled, then you will see one appearing below " @@ -17142,7 +17453,7 @@ msgid "" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:824 +#: ../fish/guestfish.pod:858 #, no-wrap msgid "" " > copy-size /large-file /another-file 2048M\n" @@ -17151,7 +17462,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:827 +#: ../fish/guestfish.pod:861 msgid "" "The spinner on the left hand side moves round once for every progress " "notification received from the backend. This is a (reasonably) golden " @@ -17162,7 +17473,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:834 +#: ../fish/guestfish.pod:868 msgid "" "Progress bars are enabled by default when guestfish is used interactively. " "You can enable them even for non-interactive modes using I<--progress-bars>, " @@ -17170,24 +17481,24 @@ msgid "" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:839 +#: ../fish/guestfish.pod:873 msgid "GUESTFISH COMMANDS" msgstr "" # type: textblock -#: ../fish/guestfish.pod:841 +#: ../fish/guestfish.pod:875 msgid "" "The commands in this section are guestfish convenience commands, in other " "words, they are not part of the L API." msgstr "" # type: =head2 -#: ../fish/guestfish.pod:844 +#: ../fish/guestfish.pod:878 msgid "help" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:846 +#: ../fish/guestfish.pod:880 #, no-wrap msgid "" " help\n" @@ -17196,152 +17507,152 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:849 +#: ../fish/guestfish.pod:883 msgid "" "Without any parameter, this lists all commands. With a C parameter, " "this displays detailed help for a command." msgstr "" # type: =head2 -#: ../fish/guestfish.pod:852 +#: ../fish/guestfish.pod:886 msgid "quit | exit" msgstr "" # type: textblock -#: ../fish/guestfish.pod:854 +#: ../fish/guestfish.pod:888 msgid "This exits guestfish. You can also use C<^D> key." msgstr "" # type: textblock -#: ../fish/guestfish.pod:856 +#: ../fish/guestfish.pod:890 msgid "@FISH_COMMANDS@" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:858 +#: ../fish/guestfish.pod:892 msgid "COMMANDS" msgstr "" # type: =head1 -#: ../fish/guestfish.pod:862 ../test-tool/libguestfs-test-tool.pod:83 +#: ../fish/guestfish.pod:896 ../test-tool/libguestfs-test-tool.pod:83 msgid "EXIT CODE" msgstr "" # type: textblock -#: ../fish/guestfish.pod:864 +#: ../fish/guestfish.pod:898 msgid "" "guestfish returns 0 if the commands completed without error, or 1 if there " "was an error." msgstr "" # type: =item -#: ../fish/guestfish.pod:871 +#: ../fish/guestfish.pod:905 msgid "EDITOR" msgstr "" # type: textblock -#: ../fish/guestfish.pod:873 +#: ../fish/guestfish.pod:907 msgid "" "The C command uses C<$EDITOR> as the editor. If not set, it uses " "C." msgstr "" # type: =item -#: ../fish/guestfish.pod:876 +#: ../fish/guestfish.pod:910 msgid "GUESTFISH_PID" msgstr "" # type: textblock -#: ../fish/guestfish.pod:878 +#: ../fish/guestfish.pod:912 msgid "" "Used with the I<--remote> option to specify the remote guestfish process to " "control. See section L." msgstr "" # type: =item -#: ../fish/guestfish.pod:882 +#: ../fish/guestfish.pod:916 msgid "HEXEDITOR" msgstr "" # type: textblock -#: ../fish/guestfish.pod:884 +#: ../fish/guestfish.pod:918 msgid "" "The L command uses C<$HEXEDITOR> as the external hex editor. If " "not specified, the external L program is used." msgstr "" # type: =item -#: ../fish/guestfish.pod:888 +#: ../fish/guestfish.pod:922 msgid "HOME" msgstr "" # type: textblock -#: ../fish/guestfish.pod:890 +#: ../fish/guestfish.pod:924 msgid "" "If compiled with GNU readline support, various files in the home directory " "can be used. See L." msgstr "" # type: textblock -#: ../fish/guestfish.pod:899 +#: ../fish/guestfish.pod:933 msgid "" "Set C to enable verbose messages. This has the same " "effect as using the B<-v> option." msgstr "" # type: textblock -#: ../fish/guestfish.pod:911 +#: ../fish/guestfish.pod:945 msgid "" "Set the path that guestfish uses to search for kernel and initrd.img. See " "the discussion of paths in L." msgstr "" # type: textblock -#: ../fish/guestfish.pod:922 +#: ../fish/guestfish.pod:956 msgid "Set C to enable command traces." msgstr "" # type: =item -#: ../fish/guestfish.pod:924 +#: ../fish/guestfish.pod:958 msgid "PAGER" msgstr "" # type: textblock -#: ../fish/guestfish.pod:926 +#: ../fish/guestfish.pod:960 msgid "" "The C command uses C<$PAGER> as the pager. If not set, it uses " "C." msgstr "" # type: =head1 -#: ../fish/guestfish.pod:941 ../test-tool/libguestfs-test-tool.pod:88 +#: ../fish/guestfish.pod:975 ../test-tool/libguestfs-test-tool.pod:88 msgid "FILES" msgstr "" # type: =item -#: ../fish/guestfish.pod:945 +#: ../fish/guestfish.pod:979 msgid "$HOME/.guestfish" msgstr "" # type: textblock -#: ../fish/guestfish.pod:947 +#: ../fish/guestfish.pod:981 msgid "" "If compiled with GNU readline support, then the command history is saved in " "this file." msgstr "" # type: =item -#: ../fish/guestfish.pod:950 +#: ../fish/guestfish.pod:984 msgid "$HOME/.inputrc" msgstr "" # type: =item -#: ../fish/guestfish.pod:952 +#: ../fish/guestfish.pod:986 msgid "/etc/inputrc" msgstr "" # type: textblock -#: ../fish/guestfish.pod:954 +#: ../fish/guestfish.pod:988 msgid "" "If compiled with GNU readline support, then these files can be used to " "configure readline. For further information, please see " @@ -17349,12 +17660,12 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:958 +#: ../fish/guestfish.pod:992 msgid "To write rules which only apply to guestfish, use:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:960 +#: ../fish/guestfish.pod:994 #, no-wrap msgid "" " $if guestfish\n" @@ -17364,26 +17675,26 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:964 +#: ../fish/guestfish.pod:998 msgid "" "Variables that you can set in inputrc that change the behaviour of guestfish " "in useful ways include:" msgstr "" # type: =item -#: ../fish/guestfish.pod:969 +#: ../fish/guestfish.pod:1003 msgid "completion-ignore-case (default: on)" msgstr "" # type: textblock -#: ../fish/guestfish.pod:971 +#: ../fish/guestfish.pod:1005 msgid "" "By default, guestfish will ignore case when tab-completing paths on the " "disk. Use:" msgstr "" # type: verbatim -#: ../fish/guestfish.pod:974 +#: ../fish/guestfish.pod:1008 #, no-wrap msgid "" " set completion-ignore-case off\n" @@ -17391,22 +17702,22 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:976 +#: ../fish/guestfish.pod:1010 msgid "to make guestfish case sensitive." msgstr "" # type: =item -#: ../fish/guestfish.pod:980 +#: ../fish/guestfish.pod:1014 msgid "test1.img" msgstr "" # type: =item -#: ../fish/guestfish.pod:982 +#: ../fish/guestfish.pod:1016 msgid "test2.img (etc)" msgstr "" # type: textblock -#: ../fish/guestfish.pod:984 +#: ../fish/guestfish.pod:1018 msgid "" "When using the C<-N> or C<--new> option, the prepared disk or filesystem " "will be created in the file C in the current directory. The " @@ -17415,7 +17726,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:993 +#: ../fish/guestfish.pod:1027 msgid "" "L, L, L, L, " "L, L, L, " @@ -17424,7 +17735,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:1017 ../test-tool/libguestfs-test-tool.pod:124 ../fuse/guestmount.pod:234 ../inspector/virt-inspector.pl:598 ../tools/virt-edit.pl:370 ../tools/virt-win-reg.pl:518 ../tools/virt-df.pl:657 ../tools/virt-ls.pl:251 ../tools/virt-resize.pl:1516 ../tools/virt-list-filesystems.pl:206 ../tools/virt-cat.pl:203 ../tools/virt-tar.pl:300 ../tools/virt-rescue.pl:285 ../tools/virt-make-fs.pl:567 ../tools/virt-list-partitions.pl:273 +#: ../fish/guestfish.pod:1051 ../test-tool/libguestfs-test-tool.pod:124 ../fuse/guestmount.pod:241 ../inspector/virt-inspector.pl:598 ../tools/virt-edit.pl:370 ../tools/virt-win-reg.pl:518 ../tools/virt-df.pl:657 ../tools/virt-ls.pl:251 ../tools/virt-resize.pl:1516 ../tools/virt-list-filesystems.pl:206 ../tools/virt-cat.pl:203 ../tools/virt-tar.pl:300 ../tools/virt-rescue.pl:285 ../tools/virt-make-fs.pl:567 ../tools/virt-list-partitions.pl:273 msgid "" "This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " @@ -17433,7 +17744,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:1022 ../test-tool/libguestfs-test-tool.pod:129 ../fuse/guestmount.pod:239 ../inspector/virt-inspector.pl:603 ../tools/virt-edit.pl:375 ../tools/virt-win-reg.pl:523 ../tools/virt-df.pl:662 ../tools/virt-ls.pl:256 ../tools/virt-resize.pl:1521 ../tools/virt-list-filesystems.pl:211 ../tools/virt-cat.pl:208 ../tools/virt-tar.pl:305 ../tools/virt-rescue.pl:290 ../tools/virt-make-fs.pl:572 ../tools/virt-list-partitions.pl:278 +#: ../fish/guestfish.pod:1056 ../test-tool/libguestfs-test-tool.pod:129 ../fuse/guestmount.pod:246 ../inspector/virt-inspector.pl:603 ../tools/virt-edit.pl:375 ../tools/virt-win-reg.pl:523 ../tools/virt-df.pl:662 ../tools/virt-ls.pl:256 ../tools/virt-resize.pl:1521 ../tools/virt-list-filesystems.pl:211 ../tools/virt-cat.pl:208 ../tools/virt-tar.pl:305 ../tools/virt-rescue.pl:290 ../tools/virt-make-fs.pl:572 ../tools/virt-list-partitions.pl:278 msgid "" "This program is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " @@ -17442,7 +17753,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish.pod:1027 ../test-tool/libguestfs-test-tool.pod:134 ../fuse/guestmount.pod:244 ../inspector/virt-inspector.pl:608 ../tools/virt-edit.pl:380 ../tools/virt-win-reg.pl:528 ../tools/virt-df.pl:667 ../tools/virt-ls.pl:261 ../tools/virt-resize.pl:1526 ../tools/virt-list-filesystems.pl:216 ../tools/virt-cat.pl:213 ../tools/virt-tar.pl:310 ../tools/virt-rescue.pl:295 ../tools/virt-make-fs.pl:577 ../tools/virt-list-partitions.pl:283 +#: ../fish/guestfish.pod:1061 ../test-tool/libguestfs-test-tool.pod:134 ../fuse/guestmount.pod:251 ../inspector/virt-inspector.pl:608 ../tools/virt-edit.pl:380 ../tools/virt-win-reg.pl:528 ../tools/virt-df.pl:667 ../tools/virt-ls.pl:261 ../tools/virt-resize.pl:1526 ../tools/virt-list-filesystems.pl:216 ../tools/virt-cat.pl:213 ../tools/virt-tar.pl:310 ../tools/virt-rescue.pl:295 ../tools/virt-make-fs.pl:577 ../tools/virt-list-partitions.pl:283 msgid "" "You should have received a copy of the GNU General Public License along with " "this program; if not, write to the Free Software Foundation, Inc., 675 Mass " @@ -24089,37 +24400,49 @@ msgid "" msgstr "" # type: textblock -#: ../fuse/guestmount.pod:196 +#: ../fuse/guestmount.pod:194 +msgid "See also L." +msgstr "" + +# type: textblock +#: ../fuse/guestmount.pod:198 msgid "Enable SELinux support for the guest." msgstr "" # type: textblock -#: ../fuse/guestmount.pod:200 +#: ../fuse/guestmount.pod:202 msgid "Enable verbose messages from underlying libguestfs." msgstr "" # type: textblock -#: ../fuse/guestmount.pod:204 +#: ../fuse/guestmount.pod:206 msgid "Display the program version and exit." msgstr "" +# type: textblock +#: ../fuse/guestmount.pod:210 +msgid "" +"This option does nothing at the moment. See L." +msgstr "" + # type: =item -#: ../fuse/guestmount.pod:206 +#: ../fuse/guestmount.pod:213 msgid "B<-x> | B<--trace>" msgstr "" # type: textblock -#: ../fuse/guestmount.pod:208 +#: ../fuse/guestmount.pod:215 msgid "Trace libguestfs calls." msgstr "" # type: textblock -#: ../fuse/guestmount.pod:210 +#: ../fuse/guestmount.pod:217 msgid "This also stops the daemon from forking into the background." msgstr "" # type: textblock -#: ../fuse/guestmount.pod:216 +#: ../fuse/guestmount.pod:223 msgid "" "L, L, L, L, " "L, L, L, " @@ -27153,7 +27476,7 @@ msgstr "" # type: =item #: ../tools/virt-rescue.pl:175 -msgid "B<--network MB>" +msgid "B<--network>" msgstr "" # type: textblock diff --git a/po/es.po b/po/es.po index dca893c..f88a6b2 100644 --- a/po/es.po +++ b/po/es.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: libguestfs.master\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: \n" "Last-Translator: Héctor Daniel Cabrera \n" "Language-Team: Fedora Spanish \n" @@ -1702,17 +1702,17 @@ msgstr "" " -V|--version Muestra la versión y finaliza\n" "Para mayor información, vea la página man %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: falló al crear manipulador\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID no era un número: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" @@ -1720,45 +1720,45 @@ msgstr "" "%s: remote: $GUESTFISH_PID debe estar definido con el PID del proceso " "remoto\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: opción extensa desconocida: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: sólo puede ofrecerse un parámetro -f\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "" "%s: no es posible utilizar al mismo tiempo las opciones --listen y --remote\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: parámetros extra de la línea de comando con marca --listen\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "" "%s no es posible utilizar al mismo tiempo las opciones --listen y --file\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" "guestfish: no es posible acceder a la base de datos termcap o terminfo.\n" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "guestfish: el tipo de terminal \"%s\" no ha sido definido.\n" -#: fish/fish.c:625 +#: fish/fish.c:630 #, c-format msgid "" "\n" @@ -1780,46 +1780,46 @@ msgstr "" " 'quit' para abandonar la shell\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: doble cuota no finalizada\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "" "%s: los argumentos del comando no están separados por un espacio en blanco\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: cuota simple no finalizada\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: error interno analizando cadena en '%s'\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: demasiados argumentos\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: comando vacío en la línea de comando\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "muestra una lista de comandos o asistencia sobre un comando" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "salir de guestfish" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1830,7 +1830,7 @@ msgstr "" " help cmd\n" " help\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1839,12 +1839,12 @@ msgstr "" "quit - abandonar guestfish\n" " quit\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "%s comando no conocido, utilice -h para listar todos los comandos\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1855,12 +1855,12 @@ msgstr "" "Para obtener una lista de comandos: guestfish -h\n" "Para obtener la documentación completa: man guestfish\n" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "Cuota problemática en la cadena \"%s\"\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "Ingrese la llave o la frase de acceso (\"%s\"): " @@ -2242,12 +2242,12 @@ msgstr "" " -v|--verbose Mensajes detallados\n" " -V|--version Muestra la versión y finaliza\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: debe poseer al menos una opción -a, y al menos una opción -m\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "" @@ -2419,7 +2419,7 @@ msgstr "{path} no coincide con el patrón augeas" msgid "{filename}: could not read initrd format" msgstr "{filename}: no es posible leer formato initrd" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " @@ -2428,20 +2428,31 @@ msgstr "" "no es posible hallar un supermin de libguestfs adecuado, o algún dispositivo " "ordinario en LIBGUESTFS_PATH (ruta de búsqueda: %s)" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "crea un directorio temporal" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "crea un directorio temporal" -#: src/appliance.c:517 +#: src/appliance.c:522 msgid "external command failed, see earlier error messages" msgstr "falló el comando externo, vea mensajes de errores anteriores" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2452,21 +2463,36 @@ msgstr "guestfs_close: llamado dos veces en la misma manipulación\n" msgid "libguestfs: error: %s\n" msgstr "libguestfs: error: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "no se pudo analizar el tamaño de arranque" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "no es posible resolver %%SYSTEMROOT%% de Windows" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "no se pudo analizar el tamaño de arranque" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "no existen datos de inspección: invoque primero a guestfs_inspect_os" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " @@ -2475,10 +2501,21 @@ msgstr "" "%s: no se ha encontrado un dispositivo raíz: sólo invoque esta función con " "un dispositivo raíz previamente obtenido mediante guestfs_inspect_os" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "" diff --git a/po/gu.po b/po/gu.po index 83397c5..ce95be4 100644 --- a/po/gu.po +++ b/po/gu.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: libguestfs\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-02-02 13:45+0530\n" "Last-Translator: Sweta Kothari \n" "Language-Team: Gujarati\n" @@ -1706,58 +1706,58 @@ msgstr "" " -V|--version આવૃત્તિને દર્શાવો અને બહાર નીકળો\n" "વધારે જાણકારી માટે, મુખ્યપાનું %s(1) ને જુઓ.\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: હેન્ડલ ને બનાવવાનું નિષ્ફળ\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID એ નંબર ન હતો: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "%s: દૂરસ્થ: $GUESTFISH_PID એ દૂરસ્થ પ્રક્રિયાનાં PID ને સુયોજિત કરવુ જ પડશે\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: અજ્ઞાત લાંબો વિકલ્પ: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: ફક્ત એક -f પરિમાણને આપી શકાય છે\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "%s: સરખા સમયે --listen અને --remote વિકલ્પોને વાપરી શકાતા નથી\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: --listen ફ્લેગ સાથે આદેશ વાક્ય પર વધારાનાં પરિમાણો\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "%s: સરખા સમયે --listen અને --file વિકલ્પોને વાપરી શકાતુ નથી\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, fuzzy, c-format msgid "" "\n" @@ -1777,45 +1777,45 @@ msgstr "" " શેલને બહાર નીકળવા માટે 'quit'\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: અંત ન બમણા અવતરણચિહ્નો \n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: આદેશ દલીલો એ ખાલી જગ્યા દ્દારા અલગ થયેલ નથી\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: અંત ન આવેલ એક અવતરણ ચિહ્ન\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: આંતરિક ભૂલ '%s' પર શબ્દમાળાનું પદચ્છેદન કરી રહી છે\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: ઘણીબધી દલીલો છે\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: આદેશ વાક્ય પર ખાલી આદેશ\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "આદેશોની યાદીને દર્શાવો અથવા આદેશ પર મદદ " -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "guestfish માંથી બહાર નીકળો" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1826,7 +1826,7 @@ msgstr "" " help cmd\n" " મદદ\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1835,12 +1835,12 @@ msgstr "" "quit - guestfish માંથી બહાર નીકળો\n" " બહાર નીકળો\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "%s: આદેશ જાણીતો નથી, બધા આદેશોની યાદી માટે -h ને વાપરો\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1848,12 +1848,12 @@ msgid "" "For complete documentation: man guestfish\n" msgstr "" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "શબ્દમાળા \"%s\" માં દૂર થતો અવતરણચિહ્ન\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "" @@ -2203,12 +2203,12 @@ msgstr "" " -v|--verbose વર્બોસ સંદેશાઓages\n" " -V|--version આવૃત્તિને દર્શાવોsઅને બહાર નીકળોexit\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: ઓછામાં ઓછુ એક -a અને -m વિકલ્પ પર હોવુ જ જોઇએ\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "%s: યજમાન ફાઇલસિસ્ટમમાં માઉન્ટબિંદુને સ્પષ્ટ કરવુ જ પડશે\n" @@ -2351,28 +2351,39 @@ msgstr "ભાતને બંધબેસતા વાક્યોને પા msgid "{filename}: could not read initrd format" msgstr "" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " "LIBGUESTFS_PATH (search path: %s)" msgstr "" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "કામચલાઉ ડિરેક્ટરીને બનાવો" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "કામચલાઉ ડિરેક્ટરીને બનાવો" -#: src/appliance.c:517 +#: src/appliance.c:522 #, fuzzy msgid "external command failed, see earlier error messages" msgstr "guestfs_launch નિષ્ફળ, પહેલાનાં ભૂલ સંદેશાઓને જૂઓ" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2383,31 +2394,57 @@ msgstr "guestfs_close: એજ હેન્ડલ પર બે વાર બો msgid "libguestfs: error: %s\n" msgstr "libguestfs: ભૂલ: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "વિશિષ્ટ માપ '%s' નું પદચ્છેદન કરી શકાતુ નથી\n" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "વિશિષ્ટ માપ '%s' નું પદચ્છેદન કરી શકાતુ નથી\n" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "qemu ઉપપ્રક્રિયા શરૂ થાય પછી આદેશ વાક્યને બદલી શકાતુ નથી" diff --git a/po/hi.po b/po/hi.po index cd486fb..0bc0d68 100644 --- a/po/hi.po +++ b/po/hi.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: libguestfs.master.libguestfs\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-02-16 12:57+0530\n" "Last-Translator: Rajesh Ranjan \n" "Language-Team: Hindi \n" @@ -1708,59 +1708,59 @@ msgstr "" " -V|--version Display version and exit\n" "For more information, see the manpage %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: नियंत्रण बनाने में विफल\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID was not a number: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: unknown long option: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: only one -f parameter can be given\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "%s: cannot use --listen and --remote options at the same time\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: extra parameters on the command line with --listen flag\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "%s: cannot use --listen and --file options at the same time\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, fuzzy, c-format msgid "" "\n" @@ -1780,45 +1780,45 @@ msgstr "" " 'quit' को शेल को छोड़ने के लिए\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: unterminated double quote\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: कमांड तर्क खाली स्थान से अलग नहीं\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: unterminated single quote\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: internal error parsing string at '%s'\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: too many arguments\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: empty command on command line\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "कमांड पर मदद या कमांड की सूची दिखाएँ" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "quit guestfish" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1829,7 +1829,7 @@ msgstr "" " help cmd\n" " help\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1838,12 +1838,12 @@ msgstr "" "quit - quit guestfish\n" " quit\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "%s: command not known, use -h to list all commands\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1851,12 +1851,12 @@ msgid "" "For complete documentation: man guestfish\n" msgstr "" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "स्ट्रिंग में \"%s\" रवअवे उद्धरण\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "" @@ -2206,12 +2206,12 @@ msgstr "" " -v|--verbose Verbose messages\n" " -V|--version Display version and exit\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: must have at least one -a and at least one -m option\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "%s: तुम्हें मेजबान फाइल सिस्टम में कोई माउंटप्वाइंट को जरूर निर्दिष्ट करना चाहिए\n" @@ -2354,28 +2354,39 @@ msgstr "किसी प्रारूप से मेल खाता पं msgid "{filename}: could not read initrd format" msgstr "" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " "LIBGUESTFS_PATH (search path: %s)" msgstr "" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "एक अस्थायी निर्देशिका बनाएँ" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "एक अस्थायी निर्देशिका बनाएँ" -#: src/appliance.c:517 +#: src/appliance.c:522 #, fuzzy msgid "external command failed, see earlier error messages" msgstr "guestfs_launch विफल, पहले की त्रुटि संदेश देखें" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2386,31 +2397,57 @@ msgstr "guestfs_close: called twice on the same handle\n" msgid "libguestfs: error: %s\n" msgstr "libguestfs: error: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "आकार विशिष्टता '%s' विश्लेषित नहीं कर सका\n" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "आकार विशिष्टता '%s' विश्लेषित नहीं कर सका\n" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "कमांड लाइन को qemu उप प्रक्रिया के लॉन्च के बाद बदला नहीं जा सकता है" diff --git a/po/kn.po b/po/kn.po index 89a714a..fcfdfd4 100644 --- a/po/kn.po +++ b/po/kn.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: libguestfs 1.0.83\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-02-24 11:56+0530\n" "Last-Translator: Shankar Prasad \n" "Language-Team: kn-IN <>\n" @@ -1708,58 +1708,58 @@ msgstr "" " -V|--version Display version and exit\n" "For more information, see the manpage %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: ಹ್ಯಾಂಡಲ್ ಅನ್ನು ನಿರ್ಮಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID ಒಂದು ಸಂಖ್ಯೆಯಾಗಿಲ್ಲ: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "%s: remote: $GUESTFISH_PID ಅನ್ನು ದೂರಸ್ಥ ಪ್ರಕ್ರಿಯೆಯ PID ಗೆ ಹೊಂದಿಸಬೇಕು\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: ಗೊತ್ತಿರದ ಉದ್ದನೆಯ ಆಯ್ಕೆ: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: ಕೇವಲ ಒಂದು -f ನಿಯತಾಂಕವನ್ನು ಒದಗಿಸಬಹುದು\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "%s: --listen ಹಾಗು --remote ಆಯ್ಕೆಗಳನ್ನು ಒಟ್ಟಿಗೆ ಬಳಸುವಂತಿಲ್ಲ\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: --listen ಫ್ಲಾಗ್‌ಗಾಗಿ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ನಿಯತಾಂಕಗಳು\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "%s: --listen ಹಾಗು --file ಆಯ್ಕೆಗಳನ್ನು ಒಟ್ಟಿಗೆ ಬಳಸುವಂತಿಲ್ಲ\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, fuzzy, c-format msgid "" "\n" @@ -1779,45 +1779,45 @@ msgstr "" " ಶೆಲ್‌ನಿಂದ ನಿರ್ಗಮಿಸಲು 'quit' ಅನ್ನು ಬಳಸಿ\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: ಅಂತ್ಯಗೊಳಿಸದೆ ಇರುವ ಜೋಡಿ ಉದ್ಧರಣ ಚಿಹ್ನೆ(ಕೋಟ್)\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: ಆಜ್ಞೆಯ ಆರ್ಗುಮೆಂಟ್‌ಗಳ ನಡುವೆ ಖಾಲಿ ಜಾಗಗಳು ಇರುವಂತಿಲ್ಲ\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: ಅಂತ್ಯಗೊಳಿಸದೆ ಇರುವ ಒಂದೆ ಒಂದು ಉದ್ಧರಣ ಚಿಹ್ನೆ(ಕೋಟ್)\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: '%s' ನಲ್ಲಿ ವಾಕ್ಯವನ್ನು ಪಾರ್ಸ್ ಮಾಡುವಲ್ಲಿ ಆಂತರಿಕ ದೋಷ\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: ಅಗತ್ಯಕ್ಕಿಂತಲೂ ಹೆಚ್ಚು ಚರಪರಿಮಾಣಗಳು (ಆರ್ಗ್ಯೂಮೆಂಟ್)\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಯಾವುದೆ ಆಜ್ಞೆ ಇಲ್ಲ\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "ಆಜ್ಞೆಗಳ ಒಂದು ಪಟ್ಟಿಯನ್ನು ತೋರಿಸು ಅಥವ ಒಂದು ಆಜ್ಞೆಯ ನೆರವನ್ನು ತೋರಿಸು" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "guestfish ಇಂದ ನಿರ್ಗಮಿಸು" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1828,7 +1828,7 @@ msgstr "" " help cmd\n" " help\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1837,12 +1837,12 @@ msgstr "" "quit - guestfish ಇಂದ ನಿರ್ಗಮಿಸು \n" " quit\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "%s: ಆಜ್ಞೆಯು ತಿಳಿದಿಲ್ಲ, ಎಲ್ಲಾ ಆಜ್ಞೆಗಳ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸಲು -h ಉಪಯೋಗಿಸಿ\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1850,12 +1850,12 @@ msgid "" "For complete documentation: man guestfish\n" msgstr "" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "\"%s\" ಎಂಬ ವಾಕ್ಯದಲ್ಲಿ ರನ್‌ಅವೆ ಕೋಟ್\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "" @@ -2211,12 +2211,12 @@ msgstr "" " -v|--verbose ವರ್ಬೋಸ್ ಸಂದೇಶಗಳು\n" " -V|--version ಆವೃತ್ತಿಯನ್ನು ತೋರಿಸಿ ನಿರ್ಗಮಿಸು\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: ಕನಿಷ್ಟ ಒಂದು -a ಹಾಗು ಕನಿಷ್ಟ ಒಂದು -m ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿರಬೇಕು\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "%s: ಆತಿಥೇಯ ಕಡತವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಒಂದು ಆರೋಹಣಾ ತಾಣವನ್ನು ನೀವು ಸೂಚಿಸಬೇಕು\n" @@ -2359,28 +2359,39 @@ msgstr "ಒಂದು ವಿನ್ಯಾಸಕ್ಕೆ ತಾಳೆಯಾಗು msgid "{filename}: could not read initrd format" msgstr "" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " "LIBGUESTFS_PATH (search path: %s)" msgstr "" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "ಒಂದು ತಾತ್ಕಾಲಿಕ ಕೋಶವನ್ನು ರಚಿಸು" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "ಒಂದು ತಾತ್ಕಾಲಿಕ ಕೋಶವನ್ನು ರಚಿಸು" -#: src/appliance.c:517 +#: src/appliance.c:522 #, fuzzy msgid "external command failed, see earlier error messages" msgstr "guestfs_launch ವಿಫಲಗೊಂಡಿದೆ, ಹಿಂದಿನ ದೋಷ ಸಂದೇಶಗಳನ್ನು ನೋಡಿ" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2391,31 +2402,57 @@ msgstr "guestfs_close: ಒಂದೇ ಹ್ಯಾಂಡಲ್‌ನಲ್ಲಿ msgid "libguestfs: error: %s\n" msgstr "libguestfs: ದೋಷ: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "ಗಾತ್ರದ ವಿಶಿಷ್ಟತೆ '%s' ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ \n" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "ಗಾತ್ರದ ವಿಶಿಷ್ಟತೆ '%s' ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ \n" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "qemu ಉಪಪ್ರಕ್ರಿಯೆಯನ್ನು ಆರಂಭಿಸಿದ ನಂತರ ಆಜ್ಞಾ ಸಾಲನ್ನು ಬದಲಾಯಿಸುವಂತಿಲ್ಲ" diff --git a/po/libguestfs.pot b/po/libguestfs.pot index 8572799..596f0d8 100644 --- a/po/libguestfs.pot +++ b/po/libguestfs.pot @@ -6,10 +6,10 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: libguestfs 1.6.1\n" +"Project-Id-Version: libguestfs 1.6.2\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1620,58 +1620,58 @@ msgid "" "For more information, see the manpage %s(1).\n" msgstr "" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, c-format msgid "" "\n" @@ -1684,45 +1684,45 @@ msgid "" "\n" msgstr "" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1730,19 +1730,19 @@ msgid "" " help\n" msgstr "" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" " quit\n" msgstr "" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1750,12 +1750,12 @@ msgid "" "For complete documentation: man guestfish\n" msgstr "" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "" @@ -2083,12 +2083,12 @@ msgid "" " -x|--trace Trace guestfs API calls\n" msgstr "" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "" @@ -2230,27 +2230,38 @@ msgstr "" msgid "{filename}: could not read initrd format" msgstr "" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " "LIBGUESTFS_PATH (search path: %s)" msgstr "" -#: src/appliance.c:353 +#: src/appliance.c:358 #, c-format msgid "failed to create temporary cache directory: %m" msgstr "" -#: src/appliance.c:441 +#: src/appliance.c:446 #, c-format msgid "error renaming temporary cache directory: %m" msgstr "" -#: src/appliance.c:517 +#: src/appliance.c:522 msgid "external command failed, see earlier error messages" msgstr "" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2261,31 +2272,56 @@ msgstr "" msgid "libguestfs: error: %s\n" msgstr "" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +msgid "could not parse /etc/fstab or empty file" +msgstr "" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, c-format +msgid "could not parse integer in version number: %s" +msgstr "" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "" diff --git a/po/ml.po b/po/ml.po index c93544a..fd4bd9e 100644 --- a/po/ml.po +++ b/po/ml.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: libguestfs.master.libguestfs.ml\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-02-02 18:35+0530\n" "Last-Translator: Ani Peter | അനി പീറ്റര്‍ \n" "Language-Team: Swathanthra Malayalam Computing | സ്വതന്ത്ര മലയാളം കമ്പ്യൂട്ടിങ് bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2389,31 +2400,57 @@ msgstr "guestfs_close: ഒരേ ഹാന്‍ഡിലില്‍ രണ് msgid "libguestfs: error: %s\n" msgstr "libguestfs: പിശക്: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "വ്യാപ്തിയുടെ വിവരണം '%s' പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമായില്ല\n" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "വ്യാപ്തിയുടെ വിവരണം '%s' പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമായില്ല\n" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "qemu ഉപപ്രക്രിയ വിന്യസിച്ചശേഷം കമാന്‍ഡ് ലൈനില്‍ മാറ്റം വരുത്തുവാന്‍ സാധ്യമല്ല" diff --git a/po/mr.po b/po/mr.po index dfa23f5..501b5e7 100644 --- a/po/mr.po +++ b/po/mr.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: mr\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-02-03 19:10+0530\n" "Last-Translator: Sandeep Shedmake \n" "Language-Team: Marathi \n" @@ -1706,58 +1706,58 @@ msgstr "" " -V|--version Display version and exit\n" "For more information, see the manpage %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: हँडल निर्माण करण्यास अशक्य\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID क्रमांक प्रमाणे आढळले नाही: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "%s: रिमोट: $GUESTFISH_PID यांस रिमोट कार्याच्या PID करीता सेट केले पाहिजे\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: अपरिचीत लाँग पर्याय: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: फक्त एकच -f घटक दिले जाऊ शकते\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "%s: --listen व --remote पर्याय एकाच वेळी वापरणे अशक्य\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: --listen फ्लॅगसह आदेश ओळीवरील अगाऊ घटके\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "%s: --listen व --file पर्यायचा वापर एकाचवेळी करणे अशक्य\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, fuzzy, c-format msgid "" "\n" @@ -1777,45 +1777,45 @@ msgstr "" " शेल पासून बाहेर पडण्यासाठी 'quit' करा\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: न ओळखलेले डबल क्वोट\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: आदेश घटके वाईटस्पेस द्वारे विभाजीत नाही\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: न ओळखलेले सींगल क्वोट\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: '%s' येथील अक्षरसंच वाचतेवेळी आंतरीक त्रुटी आढळली\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: खूप जास्त घटके आढळले\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: आदेश ओळवर रिकामे आदेश आढळले\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "आदेश सूची किंवा आदेशकरीता मदत दाखवा" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "guestfish पासून बाहेर पडा" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1826,7 +1826,7 @@ msgstr "" " help cmd\n" " help\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1835,12 +1835,12 @@ msgstr "" "quit - guestfish पासून बाहेर पडा\n" " quit\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "%s: आदेश परिचीत नाही, सर्व आदेश दाखवण्यासाठी -h याचा वापर करा\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1848,12 +1848,12 @@ msgid "" "For complete documentation: man guestfish\n" msgstr "" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "\"%s\" अक्षरमाळामध्ये रनअव्हे शब्द आढळले\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "" @@ -2203,12 +2203,12 @@ msgstr "" " -v|--verbose Verbose messages\n" " -V|--version Display version and exit\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: किमान एक -a व किमान एक -m पर्याय असायला हवे\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "%s: यजमान फाइलप्रणालीत तुम्ही माऊंटपॉईंट निर्देशीत करायला हवे\n" @@ -2351,28 +2351,39 @@ msgstr "साचा प्रमाणे जुळणारे ओळी प msgid "{filename}: could not read initrd format" msgstr "" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " "LIBGUESTFS_PATH (search path: %s)" msgstr "" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "तात्पूर्ती डिरेक्ट्री निर्माण करा" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "तात्पूर्ती डिरेक्ट्री निर्माण करा" -#: src/appliance.c:517 +#: src/appliance.c:522 #, fuzzy msgid "external command failed, see earlier error messages" msgstr "guestfs_launch अपयशी, पूर्वीचे त्रुटी संदेश पहा" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2383,31 +2394,57 @@ msgstr "guestfs_close: एकाच हँडलवर दोनवेळा क msgid "libguestfs: error: %s\n" msgstr "libguestfs: त्रुटी: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "आकार संरचना '%s' वाचणे अशक्य\n" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "आकार संरचना '%s' वाचणे अशक्य\n" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "qemu उपकार्य सुरू केल्यावर आदेश ओळ बदलणे अशक्य आहे" diff --git a/po/nl.po b/po/nl.po index e6d80a0..b9e235a 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: libguestfs 1.5.4\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-09-02 15:28+0200\n" "Last-Translator: Geert Warrink \n" "Language-Team: Fedora\n" @@ -1689,17 +1689,17 @@ msgstr "" " -V|--version Laat versie zien en sluit af\n" "Voor meer informatie, bekijk de man pagina %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: hendel aanmaken mislukte\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID was geen getal: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" @@ -1707,45 +1707,45 @@ msgstr "" "%s: remote: $GUESTFISH_PID moet ingesteld worden op de PID van het proces op " "afstand\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: onbekende lange optie: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: er kan slechts een -f parameter opgegeven worden\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "" "%s: de --listen en --remote opties kunnen niet tegelijkertijd gebruikt " "worden\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: extra parameters op de commando regel met --listen vlag\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "" "%s: de --listen en --file opties kunnen niet tegelijkertijd gebruikt worden\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, c-format msgid "" "\n" @@ -1767,45 +1767,45 @@ msgstr "" " 'quit' om de shell te verlaten\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: niet afgesloten dubbel aanhalingsteken\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: commando argumenten niet gescheiden door spaties\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: niet afgesloten enkel aanhalingsteken\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: interne fout bij ontleden van tekenreeks op '%s'\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: teveel argumenten\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: leeg commando op commando regel\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "laat een lijst van commando's of hulp over een commando zien" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "sluit guestfish af" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1816,7 +1816,7 @@ msgstr "" " help cmd\n" " help\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1825,12 +1825,12 @@ msgstr "" "quit - sluit guestfish af\n" " quit\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "%s: commando niet bekend, gebruik -h om alle commando's te tonen\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1841,12 +1841,12 @@ msgstr "" "Voor een lijst commando's: guestfish -h\n" "Voor complete documentatie: man guestfish\n" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "Los aanhalingsteken in tekenreeks \"%s\"\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "Vul sleutel of wachtzin in (\"%s\"): " @@ -2215,12 +2215,12 @@ msgstr "" " -v|--verbose Breedsprakige boodschappen\n" " -V|--version Laat versie zien en sluit af\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: moet tenminste een -a en tenminste een -m optie hebben\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "" @@ -2381,7 +2381,7 @@ msgstr "{path} komt niet overeen met augeas patroon" msgid "{filename}: could not read initrd format" msgstr "{filename}: kon initrd formaat niet lezen" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " @@ -2390,21 +2390,32 @@ msgstr "" "kon geen geschikte libguestfs supermin of gewoon toestel vinden op " "LIBGUESTFS_PATH (zoek pad: %s)" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "maak een tijdelijke map aan" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "maak een tijdelijke map aan" -#: src/appliance.c:517 +#: src/appliance.c:522 #, fuzzy msgid "external command failed, see earlier error messages" msgstr "guestfs_launch mislukte, bekijk de eerdere fout boodschap" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2415,21 +2426,35 @@ msgstr "guestfs_close: twee keer dezelfde hendel aangeroepen\n" msgid "libguestfs: error: %s\n" msgstr "libguestfs: foutr: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +msgid "could not parse /etc/fstab or empty file" +msgstr "" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "Kan Windows %%SYSTEMROOT%% niet oplossen" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, c-format +msgid "could not parse integer in version number: %s" +msgstr "" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "geen inspectie data: roep eerst guestfs_inspect_os aan" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " @@ -2438,10 +2463,21 @@ msgstr "" "%s: root apparaat niet gevonden: roep deze functie alleen aan met een root " "apparaat eerder teruggegeven door guestfs_inspect_os" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "" diff --git a/po/or.po b/po/or.po index 175be9e..23e3e86 100644 --- a/po/or.po +++ b/po/or.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: libguestfs.master.or\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-02-01 18:17+0530\n" "Last-Translator: Manoj Kumar Giri \n" "Language-Team: Oriya \n" @@ -1710,58 +1710,58 @@ msgstr "" " -V|--version ସଂସ୍କରଣ ଦର୍ଶାନ୍ତୁ ଏବଂ ପ୍ରସ୍ଥାନ କରନ୍ତୁ\n" "ଅଧିକ ସୂଚନା ପାଇଁ, man ପୃଷ୍ଠା ଦେଖନ୍ତୁ %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: ନିୟନ୍ତ୍ରଣ ପ୍ରସ୍ତୁତ କରିବାରେ ବିଫଳ ହୋଇଛି\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID ଗୋଟିଏ ସଂଖ୍ୟା ନୁହଁ: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "%s: ସୁଦୂର: $GUESTFISH_PID ନିଶ୍ଚିତ ଭାବରେ PID ରେ ସୁଦୂର ପଦ୍ଧତିରେ ସେଟ ହୋଇଛି\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: ଅଜଣା ଲମ୍ବା ବିକଳ୍ପ: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: କେବଳ ଗୋଟିଏ -f ପ୍ରାଚଳ ଦିଆହୋଇଛି\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "%s: --listen ଏବଂ --remote ବିକଳ୍ପଗୁଡ଼ିକୁ ଏକ ସମୟରେ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: ନିର୍ଦ୍ଦେଶ ନାମାରେ --listen ସୂଚକ ସହିତ ଅତିରିକ୍ତ ପ୍ରଚଳଗୁଡ଼ିକ\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "%s: --listen ଏବଂ --file ବିକଳ୍ପଗୁଡ଼ିକୁ ଏକା ସମୟରେ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, fuzzy, c-format msgid "" "\n" @@ -1781,45 +1781,45 @@ msgstr "" " 'quit' shellରୁ ପ୍ରସ୍ଥାନ କରିବା ପାଇଁ\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: ସମାପ୍ତ ହୋଇନଥିବା ଦ୍ୱିତୀୟ କୋଟ\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: ନିର୍ଦ୍ଦେଶ ସ୍ୱତନ୍ତ୍ରଚରଗୁଡ଼ିକ ଖାଲିସ୍ଥାନ ଦ୍ୱାରା ପୃଥକ ହୋଇନାହିଁ\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: ଅସମାପ୍ତ ଏକକ କୋଟ\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: '%s' ରେ ଆଭ୍ୟନ୍ତରୀଣ ତ୍ରୁଟି ବିଶ୍ଳେଷଣ ବାକ୍ୟଖଣ୍ଡ\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: ଅତ୍ୟଧିକ ସ୍ୱତନ୍ତ୍ରଚର\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: ନିର୍ଦ୍ଦେଶ ନାମରେ ଖାଲି ନିର୍ଦ୍ଦେଶ\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "ନିର୍ଦ୍ଦେଶମାନଙ୍କର ଗୋଟିଏ ତାଲିକା ଦର୍ଶାନ୍ତୁ ଅଥବା ଗୋଟିଏ ନିର୍ଦ୍ଦେଶରେ ସହାୟତା ଦେଖାନ୍ତୁ" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "guestfish ରୁ ପ୍ରସ୍ଥାନ କରନ୍ତୁ" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1830,7 +1830,7 @@ msgstr "" " ସହାୟତା cmd\n" " ସହାୟତା\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1839,13 +1839,13 @@ msgstr "" "ପ୍ରସ୍ଥାନ କରନ୍ତୁ - guestfish ରୁ ପ୍ରସ୍ଥାନ କରନ୍ତୁ\n" " ପ୍ରସ୍ଥାନ କରନ୍ତୁ\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "" "%s: ନିର୍ଦ୍ଦେଶଟି ପରିଚିତ ନୁହଁ, ସମସ୍ତ ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ତାଲିକାଭୁକ୍ତ କରିବା ପାଇଁ -h କୁ ବ୍ୟବହାର କରନ୍ତୁ\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1853,12 +1853,12 @@ msgid "" "For complete documentation: man guestfish\n" msgstr "" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "ବାକ୍ୟଖଣ୍ଡ \"%s\" ରେ ପଳାୟନ ଟିପ୍ପଣୀ\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "" @@ -2208,12 +2208,12 @@ msgstr "" " -v|--verbose ଭର୍ବୋଜ ସନ୍ଦେଶଗୁଡ଼ିକ\n" " -V|--version ସଂସ୍କରଣ ଦର୍ଶାନ୍ତୁ ଏବଂ ପ୍ରସ୍ଥାନ କରନ୍ତୁ\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: ନିଶ୍ଚିତ ଭାବରେ ଗୋଟିଏ -a ଏବଂ ଅତିକମରେ ଗୋଟିଏ -m ବିକଳ୍ପ ଥିବା ଉଚିତ\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "%s: ଆପଣଙ୍କୁ ହୋଷ୍ଟ ଫାଇଲତନ୍ତ୍ରରେ ଗୋଟିଏ ସ୍ଥାପନ ବିନ୍ଦୁ ଉଲ୍ଲେଖ କରିବାକୁ ହେବ\n" @@ -2356,28 +2356,39 @@ msgstr "ଗୋଟିଏ ପ୍ରକାର ସହିତ ମେଳଖାଉଥି msgid "{filename}: could not read initrd format" msgstr "" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " "LIBGUESTFS_PATH (search path: %s)" msgstr "" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "ଗୋଟିଏ ଅସ୍ଥାୟୀ ଡିରେକ୍ଟୋରୀ ନିର୍ମାଣ କରନ୍ତୁ" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "ଗୋଟିଏ ଅସ୍ଥାୟୀ ଡିରେକ୍ଟୋରୀ ନିର୍ମାଣ କରନ୍ତୁ" -#: src/appliance.c:517 +#: src/appliance.c:522 #, fuzzy msgid "external command failed, see earlier error messages" msgstr "guestfs_launch ବିଫଳ ହୋଇଛି, ପୂର୍ବର ତ୍ରୁଟି ସନ୍ଦେଶଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2388,31 +2399,57 @@ msgstr "guestfs_close: ସମାନ ନିୟନ୍ତ୍ରଣରେ ଦୁଇ msgid "libguestfs: error: %s\n" msgstr "libguestfs: ତ୍ରୁଟି: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "ଆକାର ବିଶେଷ ଦ୍ରଷ୍ଟବ୍ୟ '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିଲା ନାହିଁ\n" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "ଆକାର ବିଶେଷ ଦ୍ରଷ୍ଟବ୍ୟ '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିଲା ନାହିଁ\n" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "qemu ଉପପଦ୍ଧତି ଆରମ୍ଭ ହେବା ପରେ ନିର୍ଦ୍ଦେଶନାମାକୁ ପରିବର୍ତ୍ତନ କରିପାରିବେ ନାହିଁ" diff --git a/po/pa.po b/po/pa.po index b2c12d3..0cd55d4 100644 --- a/po/pa.po +++ b/po/pa.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: libguestfs 1.0.81\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-01-29 12:50+0530\n" "Last-Translator: Jaswinder Singh \n" "Language-Team: Punjabi/Panjabi \n" @@ -1708,59 +1708,59 @@ msgstr "" " -V|--version Display version and exit\n" "For more information, see the manpage %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: ਹੈਂਡਲ ਬਣਾਉਣ ਵਿੱਚ ਫੇਲ\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID was not a number: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: unknown long option: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: only one -f parameter can be given\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "%s: cannot use --listen and --remote options at the same time\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: extra parameters on the command line with --listen flag\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "%s: cannot use --listen and --file options at the same time\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, fuzzy, c-format msgid "" "\n" @@ -1780,45 +1780,45 @@ msgstr "" " 'quit' to quit the shell\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: unterminated double quote\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: ਕਮਾਂਡ ਆਰਗੂਮੈਂਟ ਸਪੇਸ ਨਾਲ ਵੱਖ ਨਹੀਂ ਕੀਤਾ\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: unterminated single quote\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: internal error parsing string at '%s'\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: too many arguments\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: empty command on command line\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "ਕਮਾਂਡਾਂ ਦੀ ਸੂਚੀ ਜਾਂ ਕਮਾਂਡ ਬਾਰੇ ਸਹਾਇਤਾ ਵੇਖਾਓ" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "quit guestfish" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1829,7 +1829,7 @@ msgstr "" " help cmd\n" " help\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1838,12 +1838,12 @@ msgstr "" "quit - quit guestfish\n" " quit\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "%s: command not known, use -h to list all commands\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1851,12 +1851,12 @@ msgid "" "For complete documentation: man guestfish\n" msgstr "" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "ਸਤਰ \"%s\" ਵਿੱਚ ਗਲਤ ਸ਼ਬਦਾਵਲੀ ਹੈ\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "" @@ -2206,12 +2206,12 @@ msgstr "" " -v|--verbose Verbose messages\n" " -V|--version Display version and exit\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: must have at least one -a and at least one -m option\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "%s: ਤੁਹਾਨੂੰ ਹੋਸਟ ਫਾਇਲ-ਸਿਸਟਮ ਵਿੱਚ ਮਾਊਂਟਪੁਆਂਇਟ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ\n" @@ -2354,28 +2354,39 @@ msgstr "ਨਮੂਨੇ ਨਾਲ ਮਿਲਦੀਆਂ ਲਾਈਨਾਂ ਭ msgid "{filename}: could not read initrd format" msgstr "" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " "LIBGUESTFS_PATH (search path: %s)" msgstr "" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "ਆਰਜੀ ਡਾਇਰੈਕਟਰੀ ਬਣਾਓ" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "ਆਰਜੀ ਡਾਇਰੈਕਟਰੀ ਬਣਾਓ" -#: src/appliance.c:517 +#: src/appliance.c:522 #, fuzzy msgid "external command failed, see earlier error messages" msgstr "guestfs_launch ਫੇਲ ਹੋਇਆ, ਪਹਿਲੇ ਗਲਤੀ ਸੁਨੇਹੇ ਵੇਖੋ" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2386,31 +2397,57 @@ msgstr "guestfs_close: called twice on the same handle\n" msgid "libguestfs: error: %s\n" msgstr "libguestfs: error: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "ਅਕਾਰ ਨਿਰਧਾਰਨ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ\n" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "ਅਕਾਰ ਨਿਰਧਾਰਨ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ\n" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "ਕਮਾਂਡ ਲਾਈਨ ਨੂੰ qemu ਅਧੀਨ-ਕਾਰਜ ਚਾਲੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸੋਧਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" diff --git a/po/pl.po b/po/pl.po index d3f1a16..6e3f099 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-10-23 13:41+0200\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" @@ -1682,60 +1682,60 @@ msgstr "" " -V|--version Wyświetla wersję i kończy działanie\n" "Aby dowiedzieć się więcej, proszę zobaczyć stronę podręcznika %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: utworzenie programu obsługi nie powiodło się\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID nie był liczbą: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "" "%s: zdalnie: $GUESTFISH_PID musi być ustawiony na PID zdalnego procesu\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: nieznana długa opcja: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: można podać tylko jeden parametr -f\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "%s: nie można używać opcji --listen i --remote w tym samym czasie\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: dodatkowe parametry wiersza poleceń za pomocą flagi --listen\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "%s: nie można używać opcji --listen i --file w tym samym czasie\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" "guestfish: nie można uzyskać dostępu do bazy danych termcap lub terminfo.\n" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "guestfish: typ terminala \"%s\" nie jest określony.\n" -#: fish/fish.c:625 +#: fish/fish.c:630 #, c-format msgid "" "\n" @@ -1756,45 +1756,45 @@ msgstr "" " \"quit\", aby zakończyć powłokę\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: niezakończony podwójny cudzysłów\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: parametry poleceń nie są oddzielone spacjami\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: niezakończony pojedynczy cudzysłów\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: wewnętrzny błąd przetwarzania ciągu \"%s\"\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: za dużo parametrów\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: puste polecenie wiersza poleceń\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "wyświetla listę poleceń lub pomoc polecenia" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "kończy działanie programu guestfish" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1805,7 +1805,7 @@ msgstr "" " help polecenie\n" " help\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1814,14 +1814,14 @@ msgstr "" "quit - kończy działanie programu guestfish\n" " quit\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "" "%s: nieznane polecenie, należy użyć -h, aby wyświetlić listę wszystkich " "poleceń\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1832,12 +1832,12 @@ msgstr "" "Lista poleceń: guestfish -h\n" "Pełna dokumentacja: man guestfish\n" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "Cytat ucieczki w ciągu \"%s\"\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "Proszę podać klucz lub hasło (\"%s\"): " @@ -2226,12 +2226,12 @@ msgstr "" " -v|--verbose Wyświetla więcej komunikatów\n" " -V|--version Wyświetla wersję i kończy działanie\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: musi posiadać co najmniej jedną opcję -a i co najmniej jedną -m\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "%s: należy podać punkt montowania w systemie plików gospodarza\n" @@ -2389,7 +2389,7 @@ msgstr "{path} nie zgadza się ze wzorem Augeas" msgid "{filename}: could not read initrd format" msgstr "{filename}: nie można odczytać formatu initrd" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " @@ -2398,22 +2398,33 @@ msgstr "" "nie można odnaleźć żadnego przyrządu biblioteki libguestfs typu \"supermin\" " "lub \"ordinary\" w LIBGUESTFS_PATH (ścieżka wyszukiwania: %s)" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "tworzy katalog tymczasowy" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "tworzy katalog tymczasowy" -#: src/appliance.c:517 +#: src/appliance.c:522 msgid "external command failed, see earlier error messages" msgstr "" "zewnętrzne polecenie nie powiodło się, proszę zobaczyć wcześniejsze " "komunikaty błędów" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2424,21 +2435,36 @@ msgstr "guestfs_close: wywołano dwa razy w tym samym programie obsługującym\n msgid "libguestfs: error: %s\n" msgstr "libguestfs: błąd: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "nie można przetworzyć rozmiaru partycji startowej" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "nie można rozwiązać %%SYSTEMROOT%% systemu Windows" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "nie można przetworzyć rozmiaru partycji startowej" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "brak danych badania: najpierw należy wywołać guestfs_inspect_os" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " @@ -2447,10 +2473,21 @@ msgstr "" "%s: nie odnaleziono urządzenia root: należy wywoływać tę funkcję tylko z " "urządzeniem root poprzednio zwróconym przez guestfs_inspect_os" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "" diff --git a/po/ta.po b/po/ta.po index 6cf1bf5..5d0e855 100644 --- a/po/ta.po +++ b/po/ta.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: libguestfs 1.0.81\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-01-29 13:38+0530\n" "Last-Translator: I. Felix \n" "Language-Team: ta_IN \n" @@ -1709,58 +1709,58 @@ msgstr "" " -V|--version Display version and exit\n" "For more information, see the manpage %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: ஹாண்டிலை உருவாக்க முடியவில்லை\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID ஆனது எண் இல்லை: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "%s: remote: $GUESTFISH_PID க்கு தொலை செயற்பாட்டைPID க்கு அமை\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: தெரியாத நீண்ட விருப்பம்: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: ஒரே ஒரு -f அளவுரு கொடுக்கப்படலாம்\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "%s: cannot use --listen and --remote options at the same time\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: extra parameters on the command line with --listen flag\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "%s: --listen மற்றும் --file விருப்பங்களை அதே நேரத்தில் பயன்படுத்த முடியாது\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, fuzzy, c-format msgid "" "\n" @@ -1780,45 +1780,45 @@ msgstr "" " 'quit' to quit the shell\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: unterminated double quote\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: கட்டளை விவாதங்கள் வொயிட்ஸ்பேஸ்ஸால் பிரிக்கப்படவில்லை\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: unterminated single quote\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: அகப்பிழையை '%s' சரத்தில் பகுக்கிறது\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: அதிக விவாதங்கள்\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: கட்டளை வரியில் காலியான கட்டளை\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "கட்டளைகளின் ஒரு பட்டியலைக் காட்டு அல்லது ஒரு கட்டளையில் உதவு" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "guestfishஐ நிறுத்து" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1829,7 +1829,7 @@ msgstr "" " help cmd\n" " help\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1838,13 +1838,13 @@ msgstr "" "quit - guestfishஐ நிறுத்து\n" " quit\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "" "%s: கட்டளை என்னவென்று தெரியவில்லை, அனைத்து கட்டளைகளையும் பட்டியலிட -hஐ பயன்படுத்து\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1852,12 +1852,12 @@ msgid "" "For complete documentation: man guestfish\n" msgstr "" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "Runaway quote in string \"%s\"\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "" @@ -2209,13 +2209,13 @@ msgstr "" " -v|--verbose Verbose messages\n" " -V|--version Display version and exit\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "" "%s: விருப்பத்தில் குறைந்தபட்சம் ஒரு -a மற்றும் குறைந்தபட்சம் ஒரு -m ஐ பெற்றிருக்க வேண்டும்\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "%s: புரவல கோப்புமுறைமையில் ஒரு ஏறும்புள்ளியை நீங்கள் குறிப்பிட வேண்டும்\n" @@ -2358,28 +2358,39 @@ msgstr "திரும்பும் வரிகள் ஒரு பாணி msgid "{filename}: could not read initrd format" msgstr "" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " "LIBGUESTFS_PATH (search path: %s)" msgstr "" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "ஒரு தற்காலிக அடைவினை உருவாக்கு" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "ஒரு தற்காலிக அடைவினை உருவாக்கு" -#: src/appliance.c:517 +#: src/appliance.c:522 #, fuzzy msgid "external command failed, see earlier error messages" msgstr "guestfs_launch தோல்வியுற்றது, முந்தைய பிழைச் செய்தியைப் பார்" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2390,31 +2401,57 @@ msgstr "guestfs_close: அதே ஹாண்டலில் இரண்டு msgid "libguestfs: error: %s\n" msgstr "libguestfs: error: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "'%s'க்கான பகுப்பு அளவை குறிப்பிட முடியவில்லை\n" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "'%s'க்கான பகுப்பு அளவை குறிப்பிட முடியவில்லை\n" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "command line cannot be altered after qemu subprocess launched" diff --git a/po/te.po b/po/te.po index a616a2c..cedcb4f 100644 --- a/po/te.po +++ b/po/te.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: libguestfs.master.libguestfs\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2010-11-05 15:20+0000\n" +"POT-Creation-Date: 2010-11-18 12:58+0000\n" "PO-Revision-Date: 2010-01-27 20:03+0530\n" "Last-Translator: Krishna Babu K \n" "Language-Team: Telugu \n" @@ -1710,58 +1710,58 @@ msgstr "" " -V|--version Display version and exit\n" "For more information, see the manpage %s(1).\n" -#: fish/fish.c:201 fuse/guestmount.c:975 +#: fish/fish.c:202 fuse/guestmount.c:976 #, c-format msgid "guestfs_create: failed to create handle\n" msgstr "guestfs_create: సంభాలికను సృష్టించుటకు విఫలమైంది\n" -#: fish/fish.c:238 +#: fish/fish.c:239 #, c-format msgid "%s: --listen=PID: PID was not a number: %s\n" msgstr "%s: --listen=PID: PID సంఖ్య కాదు: %s\n" -#: fish/fish.c:245 +#: fish/fish.c:246 #, c-format msgid "" "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n" msgstr "%s: remote: $GUESTFISH_PID అనునది రిమోట్ కార్యక్రమము యొక్క PIDకు అమర్చాలి\n" -#: fish/fish.c:267 fuse/guestmount.c:1020 +#: fish/fish.c:268 fuse/guestmount.c:1021 #, c-format msgid "%s: unknown long option: %s (%d)\n" msgstr "%s: తెలియని long ఐచ్చికము: %s (%d)\n" -#: fish/fish.c:291 +#: fish/fish.c:292 #, c-format msgid "%s: only one -f parameter can be given\n" msgstr "%s: ఒక -f పారామితి మాత్రమే యివ్వగలము\n" -#: fish/fish.c:441 +#: fish/fish.c:446 #, c-format msgid "%s: cannot use --listen and --remote options at the same time\n" msgstr "%s: ఒకే సమయం వద్ద --listen మరియు --remote ఐచ్చికాలను వుపయోగించలేము\n" -#: fish/fish.c:449 +#: fish/fish.c:454 #, c-format msgid "%s: extra parameters on the command line with --listen flag\n" msgstr "%s: --listen ఫ్లాగ్‌తో ఆదేశ వరుసపై అదనపు పారామితులు\n" -#: fish/fish.c:455 +#: fish/fish.c:460 #, c-format msgid "%s: cannot use --listen and --file options at the same time\n" msgstr "%s: ఒకే సమయంలో --listen మరియు --file ఐచ్చికాలను వుపయోగించలేము\n" -#: fish/fish.c:512 +#: fish/fish.c:517 #, c-format msgid "guestfish: could not access termcap or terminfo database.\n" msgstr "" -#: fish/fish.c:516 +#: fish/fish.c:521 #, c-format msgid "guestfish: terminal type \"%s\" not defined.\n" msgstr "" -#: fish/fish.c:625 +#: fish/fish.c:630 #, fuzzy, c-format msgid "" "\n" @@ -1781,45 +1781,45 @@ msgstr "" " 'quit' షెల్ నిష్క్రమించుటకు\n" "\n" -#: fish/fish.c:712 +#: fish/fish.c:717 #, c-format msgid "%s: unterminated double quote\n" msgstr "%s: మూయని డబుల్ కోట్\n" -#: fish/fish.c:718 fish/fish.c:735 +#: fish/fish.c:723 fish/fish.c:740 #, c-format msgid "%s: command arguments not separated by whitespace\n" msgstr "%s: వెట్‌స్పేస్ ద్వారా వేరుచేయబడిన కమాండ్ ఆర్గుమెంట్స్\n" -#: fish/fish.c:729 +#: fish/fish.c:734 #, c-format msgid "%s: unterminated single quote\n" msgstr "%s: మూయని సింగిల్ కోట్\n" -#: fish/fish.c:784 +#: fish/fish.c:789 #, c-format msgid "%s: internal error parsing string at '%s'\n" msgstr "%s: '%s'వద్ద స్ట్రింగును పార్శ్ చేయుటలో అంతర్గత దోషము\n" -#: fish/fish.c:801 +#: fish/fish.c:806 #, c-format msgid "%s: too many arguments\n" msgstr "%s: చాలా యెక్కువ ఆర్గుమెంట్లు\n" -#: fish/fish.c:830 +#: fish/fish.c:835 #, c-format msgid "%s: empty command on command line\n" msgstr "%s: ఆదేశ వరుసపై ఖాళీ ఆదేశము\n" -#: fish/fish.c:971 +#: fish/fish.c:976 msgid "display a list of commands or help on a command" msgstr "ఆదేశముల జాబితాను లేదా ఆదేశముపై సహాయమును ప్రదర్శించుము" -#: fish/fish.c:973 +#: fish/fish.c:978 msgid "quit guestfish" msgstr "guestfish నిష్క్రమించుము" -#: fish/fish.c:984 +#: fish/fish.c:989 #, c-format msgid "" "help - display a list of commands or help on a command\n" @@ -1830,7 +1830,7 @@ msgstr "" " help cmd\n" " help\n" -#: fish/fish.c:992 +#: fish/fish.c:997 #, c-format msgid "" "quit - quit guestfish\n" @@ -1839,12 +1839,12 @@ msgstr "" "quit - guestfish నిష్క్రమించును\n" " quit\n" -#: fish/fish.c:997 +#: fish/fish.c:1002 #, c-format msgid "%s: command not known, use -h to list all commands\n" msgstr "%s: తెలియని ఆదేశము, అన్ని ఆదేశములను జాబితాచేయుటకు -h వుపయోగించుము\n" -#: fish/fish.c:1013 +#: fish/fish.c:1018 #, c-format msgid "" "Did you mean to open a disk image? guestfish -a disk.img\n" @@ -1852,12 +1852,12 @@ msgid "" "For complete documentation: man guestfish\n" msgstr "" -#: fish/fish.c:1170 +#: fish/fish.c:1175 #, c-format msgid "Runaway quote in string \"%s\"\n" msgstr "\"%s\" స్ట్రింగునందు రన్‌యెవే స్ట్రింగ్\n" -#: fish/fish.c:1506 +#: fish/fish.c:1511 #, c-format msgid "Enter key or passphrase (\"%s\"): " msgstr "" @@ -2207,12 +2207,12 @@ msgstr "" " -v|--verbose Verbose messages\n" " -V|--version Display version and exit\n" -#: fuse/guestmount.c:1084 +#: fuse/guestmount.c:1089 #, fuzzy, c-format msgid "%s: must have at least one -a/-d and at least one -m/-i option\n" msgstr "%s: తప్పక కనీసం వొక -a మరియు వొక -m ఐచ్చికాన్ని కలిగివుండాలి\n" -#: fuse/guestmount.c:1092 +#: fuse/guestmount.c:1097 #, c-format msgid "%s: you must specify a mountpoint in the host filesystem\n" msgstr "%s:హోస్టు ఫైల్‌సిస్టమ్ నందు మీరు తప్పక వొక మౌంట్‌పాయింట్‌ను తెలుపవలెను\n" @@ -2355,28 +2355,39 @@ msgstr "మాదిరిని పోలిన వరుసలను తిప msgid "{filename}: could not read initrd format" msgstr "" -#: src/appliance.c:138 +#: src/appliance.c:142 #, c-format msgid "" "cannot find any suitable libguestfs supermin or ordinary appliance on " "LIBGUESTFS_PATH (search path: %s)" msgstr "" -#: src/appliance.c:353 +#: src/appliance.c:358 #, fuzzy, c-format msgid "failed to create temporary cache directory: %m" msgstr "తాత్కాలిక డైరెక్టరీను సృష్టించుము" -#: src/appliance.c:441 +#: src/appliance.c:446 #, fuzzy, c-format msgid "error renaming temporary cache directory: %m" msgstr "తాత్కాలిక డైరెక్టరీను సృష్టించుము" -#: src/appliance.c:517 +#: src/appliance.c:522 #, fuzzy msgid "external command failed, see earlier error messages" msgstr "guestfs_launch విఫలమైంది, ముందలి దోషపు సందేశములను చూడుము" +#: src/filearch.c:153 +#, c-format +msgid "size of %s unreasonable (% bytes)" +msgstr "" + +#: src/filearch.c:266 +msgid "" +"file-architecture API not available since this version of libguestfs was " +"compiled without PCRE or libmagic libraries" +msgstr "" + #: src/guestfs.c:178 #, c-format msgid "guestfs_close: called twice on the same handle\n" @@ -2387,31 +2398,57 @@ msgstr "guestfs_close: ఒకే సంభాలికపై రెండుస msgid "libguestfs: error: %s\n" msgstr "libguestfs: దోషము: %s\n" -#: src/guestfs.c:762 +#: src/guestfs.c:778 #, c-format msgid "" msgstr "" -#: src/inspect.c:1077 +#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279 +#, c-format +msgid "size of %s is unreasonably large (% bytes)" +msgstr "" + +#: src/inspect.c:591 +#, fuzzy +msgid "could not parse /etc/fstab or empty file" +msgstr "పరిమాణ వివరణలను పార్శ్ చేయలేకపోయింది '%s'\n" + +#: src/inspect.c:784 #, c-format msgid "cannot resolve Windows %%SYSTEMROOT%%" msgstr "" -#: src/inspect.c:1293 +#: src/inspect.c:972 +#, fuzzy, c-format +msgid "could not parse integer in version number: %s" +msgstr "పరిమాణ వివరణలను పార్శ్ చేయలేకపోయింది '%s'\n" + +#: src/inspect.c:982 msgid "no inspection data: call guestfs_inspect_os first" msgstr "" -#: src/inspect.c:1305 +#: src/inspect.c:994 #, c-format msgid "" "%s: root device not found: only call this function with a root device " "previously returned by guestfs_inspect_os" msgstr "" -#: src/inspect.c:1400 +#: src/inspect.c:1089 msgid "not a Windows guest, or systemroot could not be determined" msgstr "" +#: src/inspect.c:1288 +#, c-format +msgid "%s: file is empty" +msgstr "" + +#: src/inspect.c:1305 +msgid "" +"inspection API not available since this version of libguestfs was compiled " +"without PCRE or hivex libraries" +msgstr "" + #: src/launch.c:94 msgid "command line cannot be altered after qemu subprocess launched" msgstr "qemu వుపకార్యక్రమము ఆరంభించిన తర్వాత ఆదేశ వరుస మార్చబడలేదు" -- 1.8.3.1