From a50cdb512c31efd75fe09ff6646b02a9a23faa02 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 26 Sep 2010 22:41:24 +0100 Subject: [PATCH] Version 1.5.20. --- BUGS | 11 +- configure.ac | 2 +- po-docs/ja.po | 6405 ++++++++++++++++++++++--------------------- po-docs/libguestfs-docs.pot | 6052 ++++++++++++++++++++-------------------- po/es.po | 2534 ++++++----------- po/gu.po | 1073 ++++---- po/hi.po | 1073 ++++---- po/kn.po | 1073 ++++---- po/libguestfs.pot | 1074 ++++---- po/ml.po | 1073 ++++---- po/mr.po | 1073 ++++---- po/nl.po | 1073 ++++---- po/or.po | 1073 ++++---- po/pa.po | 1073 ++++---- po/pl.po | 1073 ++++---- po/ta.po | 1073 ++++---- po/te.po | 1073 ++++---- 17 files changed, 13710 insertions(+), 14171 deletions(-) diff --git a/BUGS b/BUGS index 426e6f3..d6d7a8e 100644 --- a/BUGS +++ b/BUGS @@ -1,5 +1,5 @@ NOTE: This file is automatically generated from "update-bugs". -Last updated: 2010-09-22 21:43:52 +Last updated: 2010-09-26 22:40:42 This contains a local list of the bugs that are open against libguestfs. Bugs are tracked in the Red Hat Bugzilla database @@ -158,6 +158,15 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix. 636454 NEW https://bugzilla.redhat.com/show_bug.cgi?id=636454 [RFE] Need a way to determine if a particular block device is a logical volume +637244 NEW https://bugzilla.redhat.com/show_bug.cgi?id=637244 + virt-inspector has noisy start when inspecting 64-bit disk image from 32-bit host + +637251 NEW https://bugzilla.redhat.com/show_bug.cgi?id=637251 + virt-inspector fails to recognize data-only NTFS disk image + +637252 NEW https://bugzilla.redhat.com/show_bug.cgi?id=637252 + virt-resize has no 32-bit support + 501882 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=501882 /tmp/libguestfs temporary directory is not cleaned up diff --git a/configure.ac b/configure.ac index 8d5efed..40880d9 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], [5]) -m4_define([libguestfs_release], [19]) +m4_define([libguestfs_release], [20]) # extra can be any string m4_define([libguestfs_extra], []) diff --git a/po-docs/ja.po b/po-docs/ja.po index 52fb776..c1c42ba 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-09-21 22:15+0200\n" +"POT-Creation-Date: 2010-09-26 22:40+0200\n" "PO-Revision-Date: 2010-09-02 14:46+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,24 +19,22 @@ msgstr "" # type: =encoding #: ../src/guestfs.pod:1 ../fish/guestfish.pod:1 #: ../test-tool/libguestfs-test-tool.pod:1 ../fuse/guestmount.pod:1 -#: ../inspector/virt-inspector.pl:36 ../tools/virt-cat.pl:30 -#: ../tools/virt-df.pl:32 ../tools/virt-edit.pl:31 -#: ../tools/virt-list-filesystems.pl:28 ../tools/virt-list-partitions.pl:28 -#: ../tools/virt-ls.pl:31 ../tools/virt-make-fs.pl:33 -#: ../tools/virt-rescue.pl:29 ../tools/virt-resize.pl:38 -#: ../tools/virt-tar.pl:30 ../tools/virt-win-reg.pl:34 +#: ../inspector/virt-inspector.pl:36 ../tools/virt-edit.pl:31 +#: ../tools/virt-win-reg.pl:34 ../tools/virt-df.pl:32 ../tools/virt-ls.pl:31 +#: ../tools/virt-resize.pl:38 ../tools/virt-list-filesystems.pl:28 +#: ../tools/virt-cat.pl:30 ../tools/virt-tar.pl:30 ../tools/virt-rescue.pl:29 +#: ../tools/virt-make-fs.pl:33 ../tools/virt-list-partitions.pl:28 msgid "utf8" msgstr "" # type: =head1 #: ../src/guestfs.pod:3 ../fish/guestfish.pod:3 #: ../test-tool/libguestfs-test-tool.pod:3 ../fuse/guestmount.pod:3 -#: ../inspector/virt-inspector.pl:38 ../tools/virt-cat.pl:32 -#: ../tools/virt-df.pl:34 ../tools/virt-edit.pl:33 -#: ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 -#: ../tools/virt-ls.pl:33 ../tools/virt-make-fs.pl:35 -#: ../tools/virt-rescue.pl:31 ../tools/virt-resize.pl:40 -#: ../tools/virt-tar.pl:32 ../tools/virt-win-reg.pl:36 +#: ../inspector/virt-inspector.pl:38 ../tools/virt-edit.pl:33 +#: ../tools/virt-win-reg.pl:36 ../tools/virt-df.pl:34 ../tools/virt-ls.pl:33 +#: ../tools/virt-resize.pl:40 ../tools/virt-list-filesystems.pl:30 +#: ../tools/virt-cat.pl:32 ../tools/virt-tar.pl:32 ../tools/virt-rescue.pl:31 +#: ../tools/virt-make-fs.pl:35 ../tools/virt-list-partitions.pl:30 msgid "NAME" msgstr "名前" @@ -48,12 +46,11 @@ msgstr "" # type: =head1 #: ../src/guestfs.pod:7 ../fish/guestfish.pod:7 #: ../test-tool/libguestfs-test-tool.pod:7 ../fuse/guestmount.pod:7 -#: ../inspector/virt-inspector.pl:42 ../tools/virt-cat.pl:36 -#: ../tools/virt-df.pl:38 ../tools/virt-edit.pl:37 -#: ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 -#: ../tools/virt-ls.pl:37 ../tools/virt-make-fs.pl:39 -#: ../tools/virt-rescue.pl:35 ../tools/virt-resize.pl:44 -#: ../tools/virt-tar.pl:36 ../tools/virt-win-reg.pl:40 +#: ../inspector/virt-inspector.pl:42 ../tools/virt-edit.pl:37 +#: ../tools/virt-win-reg.pl:40 ../tools/virt-df.pl:38 ../tools/virt-ls.pl:37 +#: ../tools/virt-resize.pl:44 ../tools/virt-list-filesystems.pl:34 +#: ../tools/virt-cat.pl:36 ../tools/virt-tar.pl:36 ../tools/virt-rescue.pl:35 +#: ../tools/virt-make-fs.pl:39 ../tools/virt-list-partitions.pl:34 msgid "SYNOPSIS" msgstr "" @@ -91,14 +88,13 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:24 ../fish/guestfish.pod:115 +#: ../src/guestfs.pod:24 ../fish/guestfish.pod:30 #: ../test-tool/libguestfs-test-tool.pod:11 ../fuse/guestmount.pod:16 -#: ../inspector/virt-inspector.pl:48 ../tools/virt-cat.pl:42 -#: ../tools/virt-df.pl:46 ../tools/virt-edit.pl:51 -#: ../tools/virt-list-filesystems.pl:40 ../tools/virt-list-partitions.pl:40 -#: ../tools/virt-ls.pl:43 ../tools/virt-make-fs.pl:47 -#: ../tools/virt-rescue.pl:51 ../tools/virt-resize.pl:50 -#: ../tools/virt-tar.pl:73 ../tools/virt-win-reg.pl:64 +#: ../inspector/virt-inspector.pl:48 ../tools/virt-edit.pl:51 +#: ../tools/virt-win-reg.pl:64 ../tools/virt-df.pl:46 ../tools/virt-ls.pl:43 +#: ../tools/virt-resize.pl:50 ../tools/virt-list-filesystems.pl:40 +#: ../tools/virt-cat.pl:42 ../tools/virt-tar.pl:73 ../tools/virt-rescue.pl:51 +#: ../tools/virt-make-fs.pl:47 ../tools/virt-list-partitions.pl:40 msgid "DESCRIPTION" msgstr "" @@ -748,13 +744,13 @@ msgstr "" # type: =item #: ../src/guestfs.pod:345 ../src/guestfs.pod:350 ../src/guestfs.pod:355 #: ../src/guestfs.pod:359 ../src/guestfs.pod:364 ../src/guestfs.pod:368 -#: ../src/guestfs.pod:373 ../src/guestfs.pod:1223 ../src/guestfs.pod:1228 -#: ../src/guestfs.pod:1232 ../src/guestfs.pod:1334 ../src/guestfs.pod:1338 -#: ../src/guestfs.pod:1342 ../src/guestfs.pod:1347 ../src/guestfs.pod:1355 -#: ../src/guestfs.pod:1374 ../src/guestfs.pod:1382 ../src/guestfs.pod:1612 -#: ../src/guestfs.pod:1618 ../src/guestfs.pod:1623 ../src/guestfs.pod:1629 -#: ../src/guestfs.pod:1736 ../src/guestfs.pod:1740 ../src/guestfs.pod:1744 -#: ../src/guestfs.pod:1748 ../src/guestfs-actions.pod:14 +#: ../src/guestfs.pod:373 ../src/guestfs.pod:1254 ../src/guestfs.pod:1259 +#: ../src/guestfs.pod:1263 ../src/guestfs.pod:1365 ../src/guestfs.pod:1369 +#: ../src/guestfs.pod:1373 ../src/guestfs.pod:1378 ../src/guestfs.pod:1386 +#: ../src/guestfs.pod:1405 ../src/guestfs.pod:1413 ../src/guestfs.pod:1643 +#: ../src/guestfs.pod:1649 ../src/guestfs.pod:1654 ../src/guestfs.pod:1660 +#: ../src/guestfs.pod:1767 ../src/guestfs.pod:1771 ../src/guestfs.pod:1775 +#: ../src/guestfs.pod:1779 ../src/guestfs-actions.pod:14 #: ../src/guestfs-actions.pod:21 ../src/guestfs-actions.pod:372 #: ../src/guestfs-actions.pod:380 ../src/guestfs-actions.pod:387 #: ../src/guestfs-actions.pod:394 ../src/guestfs-actions.pod:1285 @@ -766,8 +762,8 @@ msgstr "" #: ../src/guestfs-actions.pod:1458 ../src/guestfs-actions.pod:1463 #: ../src/guestfs-actions.pod:1468 ../src/guestfs-actions.pod:1520 #: ../src/guestfs-actions.pod:1524 ../src/guestfs-actions.pod:1529 -#: ../fish/guestfish.pod:316 ../fish/guestfish.pod:320 -#: ../fish/guestfish.pod:324 ../fish/guestfish.pod:328 +#: ../fish/guestfish.pod:338 ../fish/guestfish.pod:342 +#: ../fish/guestfish.pod:346 ../fish/guestfish.pod:350 #: ../fish/guestfish-actions.pod:15 ../fish/guestfish-actions.pod:22 #: ../fish/guestfish-actions.pod:306 ../fish/guestfish-actions.pod:314 #: ../fish/guestfish-actions.pod:321 ../fish/guestfish-actions.pod:328 @@ -998,7 +994,7 @@ msgid "For more information about umask, see L." msgstr "" # type: =head1 -#: ../src/guestfs.pod:459 ../fish/guestfish.pod:566 +#: ../src/guestfs.pod:459 ../fish/guestfish.pod:589 msgid "ENCRYPTED DISKS" msgstr "" @@ -1568,13 +1564,76 @@ msgid "" "sent back from the daemon." msgstr "" -# type: =head2 +# type: =item +#: ../src/guestfs.pod:750 +msgid "Ambiguity between devices and paths" +msgstr "" + +# type: textblock #: ../src/guestfs.pod:752 +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 " +"C in the directory C (consider some non-Unix VM image)." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:757 +msgid "" +"In the current API we usually resolve this ambiguity by having two separate " +"calls, for example L and L. " +"Some API calls are ambiguous and (incorrectly) resolve the problem by " +"detecting if the path supplied begins with C." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:763 +msgid "" +"To avoid both the ambiguity and the need to duplicate some calls, we could " +"make paths/devices into structured names. One way to do this would be to " +"use a notation like grub (C), although nobody really likes this " +"aspect of grub. Another way would be to use a structured type, equivalent " +"to this OCaml type:" +msgstr "" + +# type: verbatim +#: ../src/guestfs.pod:769 +#, no-wrap +msgid "" +" type path = Path of string | Device of int | Partition of int * int\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:771 +msgid "which would allow you to pass arguments like:" +msgstr "" + +# type: verbatim +#: ../src/guestfs.pod:773 +#, no-wrap +msgid "" +" Path \"/foo/bar\"\n" +" Device 1 (* /dev/sdb, or perhaps /dev/sda *)\n" +" Partition (1, 2) (* /dev/sdb2 (or is it /dev/sda2 or /dev/sdb3?) *)\n" +" Path \"/dev/sdb2\" (* not a device *)\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:778 +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:783 msgid "PROTOCOL LIMITS" msgstr "" # type: textblock -#: ../src/guestfs.pod:754 +#: ../src/guestfs.pod:785 msgid "" "Internally libguestfs uses a message-based protocol to pass API calls and " "their responses to and from a small \"appliance\" (see L for " @@ -1585,7 +1644,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:762 +#: ../src/guestfs.pod:793 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 " @@ -1594,7 +1653,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:768 +#: ../src/guestfs.pod:799 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 " @@ -1602,26 +1661,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:772 +#: ../src/guestfs.pod:803 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L)." msgstr "" # type: =head2 -#: ../src/guestfs.pod:775 +#: ../src/guestfs.pod:806 msgid "KEYS AND PASSPHRASES" msgstr "" # type: textblock -#: ../src/guestfs.pod:777 +#: ../src/guestfs.pod:808 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" # type: textblock -#: ../src/guestfs.pod:780 +#: ../src/guestfs.pod:811 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 " @@ -1630,7 +1689,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:785 +#: ../src/guestfs.pod:816 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, " @@ -1638,17 +1697,17 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:790 +#: ../src/guestfs.pod:821 msgid "CONNECTION MANAGEMENT" msgstr "" # type: =head2 -#: ../src/guestfs.pod:792 +#: ../src/guestfs.pod:823 msgid "guestfs_h *" msgstr "" # type: textblock -#: ../src/guestfs.pod:794 +#: ../src/guestfs.pod:825 msgid "" "C is the opaque type representing a connection handle. Create a " "handle by calling L. Call L to free the " @@ -1656,19 +1715,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:798 +#: ../src/guestfs.pod:829 msgid "" "For information on using multiple handles and threads, see the section L below." msgstr "" # type: =head2 -#: ../src/guestfs.pod:801 +#: ../src/guestfs.pod:832 msgid "guestfs_create" msgstr "" # type: verbatim -#: ../src/guestfs.pod:803 +#: ../src/guestfs.pod:834 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -1676,41 +1735,41 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:805 +#: ../src/guestfs.pod:836 msgid "Create a connection handle." msgstr "" # type: textblock -#: ../src/guestfs.pod:807 +#: ../src/guestfs.pod:838 msgid "You have to call L on the handle at least once." msgstr "" # type: textblock -#: ../src/guestfs.pod:809 +#: ../src/guestfs.pod:840 msgid "" "This function returns a non-NULL pointer to a handle on success or NULL on " "error." msgstr "" # type: textblock -#: ../src/guestfs.pod:812 +#: ../src/guestfs.pod:843 msgid "After configuring the handle, you have to call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:814 +#: ../src/guestfs.pod:845 msgid "" "You may also want to configure error handling for the handle. See L section below." msgstr "" # type: =head2 -#: ../src/guestfs.pod:817 +#: ../src/guestfs.pod:848 msgid "guestfs_close" msgstr "" # type: verbatim -#: ../src/guestfs.pod:819 +#: ../src/guestfs.pod:850 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -1718,17 +1777,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:821 +#: ../src/guestfs.pod:852 msgid "This closes the connection handle and frees up all resources used." msgstr "" # type: =head1 -#: ../src/guestfs.pod:823 +#: ../src/guestfs.pod:854 msgid "ERROR HANDLING" msgstr "" # type: textblock -#: ../src/guestfs.pod:825 +#: ../src/guestfs.pod:856 msgid "" "The convention in all functions that return C is that they return C<-1> " "to indicate an error. You can get additional information on errors by " @@ -1737,12 +1796,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:830 +#: ../src/guestfs.pod:861 msgid "The default error handler prints the information string to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:832 +#: ../src/guestfs.pod:863 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. If there has not " "been an error since the handle was created, then this returns C." msgstr "" # type: textblock -#: ../src/guestfs.pod:844 +#: ../src/guestfs.pod:875 msgid "" "The lifetime of the returned string is until the next error occurs, or L is called." msgstr "" # type: textblock -#: ../src/guestfs.pod:847 +#: ../src/guestfs.pod:878 msgid "" "The error string is not localized (ie. is always in English), because this " "makes searching for error messages in search engines give the largest number " @@ -1785,12 +1844,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:851 +#: ../src/guestfs.pod:882 msgid "guestfs_set_error_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:853 +#: ../src/guestfs.pod:884 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -1803,7 +1862,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:860 +#: ../src/guestfs.pod:891 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 " @@ -1811,7 +1870,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:864 +#: ../src/guestfs.pod:895 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 " @@ -1819,22 +1878,22 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:868 +#: ../src/guestfs.pod:899 msgid "The default handler prints messages on C." msgstr "" # type: textblock -#: ../src/guestfs.pod:870 +#: ../src/guestfs.pod:901 msgid "If you set C to C then I handler is called." msgstr "" # type: =head2 -#: ../src/guestfs.pod:872 +#: ../src/guestfs.pod:903 msgid "guestfs_get_error_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:874 +#: ../src/guestfs.pod:905 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -1843,17 +1902,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:877 +#: ../src/guestfs.pod:908 msgid "Returns the current error handler callback." msgstr "" # type: =head2 -#: ../src/guestfs.pod:879 +#: ../src/guestfs.pod:910 msgid "guestfs_set_out_of_memory_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:881 +#: ../src/guestfs.pod:912 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -1863,30 +1922,30 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:885 +#: ../src/guestfs.pod:916 msgid "" "The callback C will be called if there is an out of memory situation. " "I." msgstr "" # type: textblock -#: ../src/guestfs.pod:888 +#: ../src/guestfs.pod:919 msgid "The default is to call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:890 +#: ../src/guestfs.pod:921 msgid "" "You cannot set C to C. You can't ignore out of memory situations." msgstr "" # type: =head2 -#: ../src/guestfs.pod:893 +#: ../src/guestfs.pod:924 msgid "guestfs_get_out_of_memory_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:895 +#: ../src/guestfs.pod:926 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -1894,31 +1953,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:897 +#: ../src/guestfs.pod:928 msgid "This returns the current out of memory handler." msgstr "" # type: =head1 -#: ../src/guestfs.pod:899 +#: ../src/guestfs.pod:930 msgid "PATH" msgstr "" # type: textblock -#: ../src/guestfs.pod:901 +#: ../src/guestfs.pod:932 msgid "" "Libguestfs needs a kernel and initrd.img, which it finds by looking along an " "internal path." msgstr "" # type: textblock -#: ../src/guestfs.pod:904 +#: ../src/guestfs.pod:935 msgid "" "By default it looks for these in the directory C<$libdir/guestfs> (eg. C or C)." msgstr "" # type: textblock -#: ../src/guestfs.pod:907 +#: ../src/guestfs.pod:938 msgid "" "Use L or set the environment variable L " "to change the directories that libguestfs will search in. The value is a " @@ -1929,17 +1988,17 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:914 +#: ../src/guestfs.pod:945 msgid "HIGH-LEVEL API ACTIONS" msgstr "" # type: =head2 -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:947 msgid "ABI GUARANTEE" msgstr "" # type: textblock -#: ../src/guestfs.pod:918 +#: ../src/guestfs.pod:949 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -1949,32 +2008,32 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:924 ../fish/guestfish.pod:796 +#: ../src/guestfs.pod:955 ../fish/guestfish.pod:819 msgid "@ACTIONS@" msgstr "" # type: =head1 -#: ../src/guestfs.pod:926 +#: ../src/guestfs.pod:957 msgid "STRUCTURES" msgstr "" # type: textblock -#: ../src/guestfs.pod:928 +#: ../src/guestfs.pod:959 msgid "@STRUCTS@" msgstr "" # type: =head1 -#: ../src/guestfs.pod:930 +#: ../src/guestfs.pod:961 msgid "AVAILABILITY" msgstr "" # type: =head2 -#: ../src/guestfs.pod:932 +#: ../src/guestfs.pod:963 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" # type: textblock -#: ../src/guestfs.pod:934 +#: ../src/guestfs.pod:965 msgid "" "Using L you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -1982,17 +2041,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:939 +#: ../src/guestfs.pod:970 msgid "@AVAILABILITY@" msgstr "" # type: =head2 -#: ../src/guestfs.pod:941 +#: ../src/guestfs.pod:972 msgid "GUESTFISH supported COMMAND" msgstr "" # type: textblock -#: ../src/guestfs.pod:943 +#: ../src/guestfs.pod:974 msgid "" "In L there is a handy interactive command C which " "prints out the available groups and whether they are supported by this build " @@ -2000,19 +2059,19 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:948 +#: ../src/guestfs.pod:979 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" # type: textblock -#: ../src/guestfs.pod:950 +#: ../src/guestfs.pod:981 msgid "" "Since version 1.5.8, Cguestfs.hE> defines symbols for each C API " "function, such as:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:984 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -2020,12 +2079,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:955 +#: ../src/guestfs.pod:986 msgid "if L is available." msgstr "" # type: textblock -#: ../src/guestfs.pod:957 +#: ../src/guestfs.pod:988 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 " @@ -2033,7 +2092,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:962 +#: ../src/guestfs.pod:993 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -2042,19 +2101,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:965 +#: ../src/guestfs.pod:996 msgid "" "which would result in C being either defined or not defined " "in your program." msgstr "" # type: =head2 -#: ../src/guestfs.pod:968 +#: ../src/guestfs.pod:999 msgid "SINGLE CALLS AT RUN TIME" msgstr "" # type: textblock -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:1001 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 " @@ -2064,7 +2123,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:977 +#: ../src/guestfs.pod:1008 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 " @@ -2072,7 +2131,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:981 +#: ../src/guestfs.pod:1012 #, no-wrap msgid "" " #include \n" @@ -2084,7 +2143,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:987 +#: ../src/guestfs.pod:1018 #, no-wrap msgid "" " main ()\n" @@ -2096,7 +2155,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:993 +#: ../src/guestfs.pod:1024 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -2111,7 +2170,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1002 +#: ../src/guestfs.pod:1033 #, no-wrap msgid "" " if (!has_function)\n" @@ -2130,7 +2189,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1015 +#: ../src/guestfs.pod:1046 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 " @@ -2138,7 +2197,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1020 +#: ../src/guestfs.pod:1051 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -2146,24 +2205,24 @@ msgid "" msgstr "" # type: =end -#: ../src/guestfs.pod:1022 ../src/guestfs.pod:1027 +#: ../src/guestfs.pod:1053 ../src/guestfs.pod:1058 msgid "html" msgstr "" # type: textblock -#: ../src/guestfs.pod:1024 +#: ../src/guestfs.pod:1055 msgid "" " " msgstr "" # type: =head1 -#: ../src/guestfs.pod:1029 +#: ../src/guestfs.pod:1060 msgid "ARCHITECTURE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1031 +#: ../src/guestfs.pod:1062 msgid "" "Internally, libguestfs is implemented by running an appliance (a special " "type of small virtual machine) using L. Qemu runs as a child " @@ -2171,7 +2230,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1035 +#: ../src/guestfs.pod:1066 #, no-wrap msgid "" " ___________________\n" @@ -2197,14 +2256,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1055 +#: ../src/guestfs.pod:1086 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:1058 +#: ../src/guestfs.pod:1089 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 " @@ -2216,7 +2275,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1067 +#: ../src/guestfs.pod:1098 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 " @@ -2227,17 +2286,17 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1074 +#: ../src/guestfs.pod:1105 msgid "STATE MACHINE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1076 +#: ../src/guestfs.pod:1107 msgid "libguestfs uses a state machine to model the child process:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1078 +#: ../src/guestfs.pod:1109 #, no-wrap msgid "" " |\n" @@ -2265,7 +2324,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1100 +#: ../src/guestfs.pod:1131 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), " @@ -2274,7 +2333,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1105 +#: ../src/guestfs.pod:1136 msgid "" "The guest may be killed by L, or may die " "asynchronously at any time (eg. due to some internal error), and that causes " @@ -2282,14 +2341,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1109 +#: ../src/guestfs.pod:1140 msgid "" "Configuration commands for qemu such as L can only be " "issued when in the CONFIG state." msgstr "" # type: textblock -#: ../src/guestfs.pod:1112 +#: ../src/guestfs.pod:1143 msgid "" "The API offers one call that goes from CONFIG through LAUNCHING to READY. " "L blocks until the child process is READY to accept " @@ -2298,7 +2357,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1118 +#: ../src/guestfs.pod:1149 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. " @@ -2308,7 +2367,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1124 +#: ../src/guestfs.pod:1155 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -2316,26 +2375,26 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1128 +#: ../src/guestfs.pod:1159 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1130 +#: ../src/guestfs.pod:1161 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:1133 +#: ../src/guestfs.pod:1164 msgid "" "Use the C functions to set a callback for different " "types of events." msgstr "" # type: textblock -#: ../src/guestfs.pod:1136 +#: ../src/guestfs.pod:1167 msgid "" "Only I can be registered for each handle. " "Calling C again overwrites the previous callback of " @@ -2344,12 +2403,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1141 +#: ../src/guestfs.pod:1172 msgid "guestfs_set_log_message_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1143 +#: ../src/guestfs.pod:1174 #, no-wrap msgid "" " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n" @@ -2361,31 +2420,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1149 +#: ../src/guestfs.pod:1180 msgid "" "The callback function C will be called whenever qemu or the guest writes " "anything to the console." msgstr "" # type: textblock -#: ../src/guestfs.pod:1152 +#: ../src/guestfs.pod:1183 msgid "Use this function to capture kernel messages and similar." msgstr "" # type: textblock -#: ../src/guestfs.pod:1154 +#: ../src/guestfs.pod:1185 msgid "" "Normally there is no log message handler, and log messages are just " "discarded." msgstr "" # type: =head2 -#: ../src/guestfs.pod:1157 +#: ../src/guestfs.pod:1188 msgid "guestfs_set_subprocess_quit_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1159 +#: ../src/guestfs.pod:1190 #, no-wrap msgid "" " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n" @@ -2396,7 +2455,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1164 +#: ../src/guestfs.pod:1195 msgid "" "The callback function C will be called when the child process quits, " "either asynchronously or if killed by L. (This " @@ -2404,12 +2463,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1169 +#: ../src/guestfs.pod:1200 msgid "guestfs_set_launch_done_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1171 +#: ../src/guestfs.pod:1202 #, no-wrap msgid "" " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n" @@ -2420,7 +2479,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1176 +#: ../src/guestfs.pod:1207 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 " @@ -2428,12 +2487,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1211 msgid "guestfs_set_close_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1182 +#: ../src/guestfs.pod:1213 #, no-wrap msgid "" " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n" @@ -2444,14 +2503,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1187 +#: ../src/guestfs.pod:1218 msgid "" "The callback function C will be called while the handle is being closed " "(synchronously from L)." msgstr "" # type: textblock -#: ../src/guestfs.pod:1190 +#: ../src/guestfs.pod:1221 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 " @@ -2462,12 +2521,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1198 +#: ../src/guestfs.pod:1229 msgid "guestfs_set_progress_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1200 +#: ../src/guestfs.pod:1231 #, no-wrap msgid "" " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n" @@ -2480,7 +2539,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1207 +#: ../src/guestfs.pod:1238 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -2490,7 +2549,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1213 +#: ../src/guestfs.pod:1244 msgid "" "The callback receives two numbers: C and C. The units of " "C are not defined, although for some operations C may relate " @@ -2499,31 +2558,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1219 +#: ../src/guestfs.pod:1250 msgid "The only defined and stable parts of the API are:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1256 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:1230 +#: ../src/guestfs.pod:1261 msgid "0 E= C E= C" msgstr "" # type: textblock -#: ../src/guestfs.pod:1234 +#: ../src/guestfs.pod:1265 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:1237 +#: ../src/guestfs.pod:1268 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 " @@ -2531,7 +2590,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1243 +#: ../src/guestfs.pod:1274 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 " @@ -2540,12 +2599,12 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1248 +#: ../src/guestfs.pod:1279 msgid "PRIVATE DATA AREA" msgstr "" # type: textblock -#: ../src/guestfs.pod:1250 +#: ../src/guestfs.pod:1281 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 " @@ -2553,12 +2612,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1254 +#: ../src/guestfs.pod:1285 msgid "To attach a named piece of data, use the following call:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1256 +#: ../src/guestfs.pod:1287 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -2566,7 +2625,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1258 +#: ../src/guestfs.pod:1289 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 " @@ -2574,7 +2633,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1262 +#: ../src/guestfs.pod:1293 msgid "" "You can use any C you want, but names beginning with an underscore " "character are reserved for internal libguestfs purposes (for implementing " @@ -2583,12 +2642,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1267 +#: ../src/guestfs.pod:1298 msgid "To retrieve the pointer, use:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1269 +#: ../src/guestfs.pod:1300 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -2596,7 +2655,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1271 +#: ../src/guestfs.pod:1302 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 " @@ -2604,7 +2663,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1275 +#: ../src/guestfs.pod:1306 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 " @@ -2616,19 +2675,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1283 +#: ../src/guestfs.pod:1314 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:1286 +#: ../src/guestfs.pod:1317 msgid "BLOCK DEVICE NAMING" msgstr "" # type: textblock -#: ../src/guestfs.pod:1288 +#: ../src/guestfs.pod:1319 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 " @@ -2642,7 +2701,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1300 +#: ../src/guestfs.pod:1331 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 " @@ -2650,7 +2709,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1304 +#: ../src/guestfs.pod:1335 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 " @@ -2658,7 +2717,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1309 +#: ../src/guestfs.pod:1340 msgid "" "Therefore libguestfs defines C as the I. " "Internally C names are translated, if necessary, to other names as " @@ -2667,7 +2726,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1315 +#: ../src/guestfs.pod:1346 msgid "" "Note that this I applies to parameters. The L, " "L and similar calls return the true names of the " @@ -2675,12 +2734,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1320 +#: ../src/guestfs.pod:1351 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" # type: textblock -#: ../src/guestfs.pod:1322 +#: ../src/guestfs.pod:1353 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 " @@ -2689,7 +2748,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1328 +#: ../src/guestfs.pod:1359 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?" msgstr "" # type: textblock -#: ../src/guestfs.pod:1344 +#: ../src/guestfs.pod:1375 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:1349 +#: ../src/guestfs.pod:1380 msgid "Replace initial C string with C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1382 msgid "For example, change C to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1353 +#: ../src/guestfs.pod:1384 msgid "If that named device exists, use it. If not, continue." msgstr "" # type: textblock -#: ../src/guestfs.pod:1357 +#: ../src/guestfs.pod:1388 msgid "Replace initial C string with C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1390 msgid "If that named device exists, use it. If not, return an error." msgstr "" # type: =head2 -#: ../src/guestfs.pod:1363 +#: ../src/guestfs.pod:1394 msgid "PORTABILITY CONCERNS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1365 +#: ../src/guestfs.pod:1396 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 " @@ -2752,51 +2811,51 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1369 +#: ../src/guestfs.pod:1400 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1376 +#: ../src/guestfs.pod:1407 msgid "" "Use L or L to list actual " "device names, and then use those names directly." msgstr "" # type: textblock -#: ../src/guestfs.pod:1379 +#: ../src/guestfs.pod:1410 msgid "" "Since those device names exist by definition, they will never be translated." msgstr "" # type: textblock -#: ../src/guestfs.pod:1384 +#: ../src/guestfs.pod:1415 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1389 +#: ../src/guestfs.pod:1420 msgid "INTERNALS" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1391 +#: ../src/guestfs.pod:1422 msgid "COMMUNICATION PROTOCOL" msgstr "" # type: textblock -#: ../src/guestfs.pod:1393 +#: ../src/guestfs.pod:1424 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:1396 +#: ../src/guestfs.pod:1427 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 " @@ -2804,14 +2863,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1400 +#: ../src/guestfs.pod:1431 msgid "" "The detailed format of structures is in C (note: " "this file is automatically generated)." msgstr "" # type: textblock -#: ../src/guestfs.pod:1403 +#: ../src/guestfs.pod:1434 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 " @@ -2821,17 +2880,17 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1410 +#: ../src/guestfs.pod:1441 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" # type: textblock -#: ../src/guestfs.pod:1412 +#: ../src/guestfs.pod:1443 msgid "For ordinary functions, the request message is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1414 +#: ../src/guestfs.pod:1445 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -2842,7 +2901,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1419 +#: ../src/guestfs.pod:1450 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 " @@ -2851,26 +2910,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1425 +#: ../src/guestfs.pod:1456 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:1428 +#: ../src/guestfs.pod:1459 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:1432 +#: ../src/guestfs.pod:1463 msgid "The reply message for ordinary functions is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1434 +#: ../src/guestfs.pod:1465 #, no-wrap msgid "" " total length (header + ret,\n" @@ -2881,27 +2940,27 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1439 +#: ../src/guestfs.pod:1470 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:1442 +#: ../src/guestfs.pod:1473 msgid "" "As above the total length of the reply is limited to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1445 +#: ../src/guestfs.pod:1476 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:1448 +#: ../src/guestfs.pod:1479 #, no-wrap msgid "" " total length (header + error,\n" @@ -2912,19 +2971,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1453 +#: ../src/guestfs.pod:1484 msgid "" "The C structure contains the error message as a " "string." msgstr "" # type: =head3 -#: ../src/guestfs.pod:1456 +#: ../src/guestfs.pod:1487 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1458 +#: ../src/guestfs.pod:1489 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 " @@ -2932,7 +2991,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1462 +#: ../src/guestfs.pod:1493 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -2946,12 +3005,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1470 +#: ../src/guestfs.pod:1501 msgid "The \"sequence of chunks\" is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1472 +#: ../src/guestfs.pod:1503 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -2965,7 +3024,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1480 +#: ../src/guestfs.pod:1511 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 " @@ -2973,7 +3032,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1484 +#: ../src/guestfs.pod:1515 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -2982,7 +3041,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1489 +#: ../src/guestfs.pod:1520 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 " @@ -2991,7 +3050,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1495 +#: ../src/guestfs.pod:1526 msgid "" "The daemon may also cancel. It does this by writing a special word " "C to the socket. The library listens for this during " @@ -3003,7 +3062,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1504 +#: ../src/guestfs.pod:1535 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 " @@ -3013,19 +3072,19 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1510 +#: ../src/guestfs.pod:1541 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1512 +#: ../src/guestfs.pod:1543 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:1515 +#: ../src/guestfs.pod:1546 #, no-wrap msgid "" " total length (header + ret,\n" @@ -3039,12 +3098,12 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1523 +#: ../src/guestfs.pod:1554 msgid "INITIAL MESSAGE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1525 +#: ../src/guestfs.pod:1556 msgid "" "When the daemon launches it sends an initial word (C) " "which indicates that the guest and daemon is alive. This is what L) if there is a callback registered, or " @@ -3073,7 +3132,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1539 +#: ../src/guestfs.pod:1570 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C). Not all calls generate progress " @@ -3081,19 +3140,19 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1543 +#: ../src/guestfs.pod:1574 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1545 +#: ../src/guestfs.pod:1576 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:1548 +#: ../src/guestfs.pod:1579 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 " @@ -3101,19 +3160,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1552 +#: ../src/guestfs.pod:1583 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1555 +#: ../src/guestfs.pod:1586 msgid "QEMU WRAPPERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1557 +#: ../src/guestfs.pod:1588 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 " @@ -3121,7 +3180,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1561 +#: ../src/guestfs.pod:1592 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 " @@ -3130,14 +3189,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1566 +#: ../src/guestfs.pod:1597 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:1569 +#: ../src/guestfs.pod:1600 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -3147,7 +3206,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1573 +#: ../src/guestfs.pod:1604 msgid "" "Save this script as C (or wherever), C, and " "then use it by setting the LIBGUESTFS_QEMU environment variable. For " @@ -3155,7 +3214,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1577 +#: ../src/guestfs.pod:1608 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -3163,19 +3222,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1579 +#: ../src/guestfs.pod:1610 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1582 +#: ../src/guestfs.pod:1613 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1584 +#: ../src/guestfs.pod:1615 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -3183,7 +3242,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1589 +#: ../src/guestfs.pod:1620 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -3200,12 +3259,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1600 +#: ../src/guestfs.pod:1631 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" # type: textblock -#: ../src/guestfs.pod:1602 +#: ../src/guestfs.pod:1633 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 " @@ -3215,26 +3274,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1608 +#: ../src/guestfs.pod:1639 msgid "Our criteria for backporting changes are:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1614 +#: ../src/guestfs.pod:1645 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:1620 +#: ../src/guestfs.pod:1651 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" # type: textblock -#: ../src/guestfs.pod:1625 +#: ../src/guestfs.pod:1656 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 " @@ -3242,7 +3301,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1631 +#: ../src/guestfs.pod:1662 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 " @@ -3250,7 +3309,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1637 +#: ../src/guestfs.pod:1668 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 " @@ -3261,47 +3320,47 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1645 ../fish/guestfish.pod:803 +#: ../src/guestfs.pod:1676 ../fish/guestfish.pod:826 #: ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:312 #: ../tools/virt-rescue.pl:226 msgid "ENVIRONMENT VARIABLES" msgstr "" # type: =item -#: ../src/guestfs.pod:1649 ../fish/guestfish.pod:829 +#: ../src/guestfs.pod:1680 ../fish/guestfish.pod:852 msgid "LIBGUESTFS_APPEND" msgstr "" # type: textblock -#: ../src/guestfs.pod:1651 ../fish/guestfish.pod:831 +#: ../src/guestfs.pod:1682 ../fish/guestfish.pod:854 msgid "Pass additional options to the guest kernel." msgstr "" # type: =item -#: ../src/guestfs.pod:1653 ../fish/guestfish.pod:833 +#: ../src/guestfs.pod:1684 ../fish/guestfish.pod:856 msgid "LIBGUESTFS_DEBUG" msgstr "" # type: textblock -#: ../src/guestfs.pod:1655 +#: ../src/guestfs.pod:1686 msgid "" "Set C to enable verbose messages. This has the same " "effect as calling C." msgstr "" # type: =item -#: ../src/guestfs.pod:1658 ../fish/guestfish.pod:838 +#: ../src/guestfs.pod:1689 ../fish/guestfish.pod:861 msgid "LIBGUESTFS_MEMSIZE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1660 ../fish/guestfish.pod:840 +#: ../src/guestfs.pod:1691 ../fish/guestfish.pod:863 msgid "" "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1663 ../fish/guestfish.pod:843 +#: ../src/guestfs.pod:1694 ../fish/guestfish.pod:866 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -3309,79 +3368,79 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:1665 ../fish/guestfish.pod:845 +#: ../src/guestfs.pod:1696 ../fish/guestfish.pod:868 msgid "LIBGUESTFS_PATH" msgstr "" # type: textblock -#: ../src/guestfs.pod:1667 +#: ../src/guestfs.pod:1698 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:1670 ../fish/guestfish.pod:850 +#: ../src/guestfs.pod:1701 ../fish/guestfish.pod:873 msgid "LIBGUESTFS_QEMU" msgstr "" # type: textblock -#: ../src/guestfs.pod:1672 ../fish/guestfish.pod:852 +#: ../src/guestfs.pod:1703 ../fish/guestfish.pod:875 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:1676 +#: ../src/guestfs.pod:1707 msgid "See also L above." msgstr "" # type: =item -#: ../src/guestfs.pod:1678 ../fish/guestfish.pod:856 +#: ../src/guestfs.pod:1709 ../fish/guestfish.pod:879 msgid "LIBGUESTFS_TRACE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1680 +#: ../src/guestfs.pod:1711 msgid "" "Set C to enable command traces. This has the same " "effect as calling C." msgstr "" # type: =item -#: ../src/guestfs.pod:1683 ../fish/guestfish.pod:865 +#: ../src/guestfs.pod:1714 ../fish/guestfish.pod:888 msgid "TMPDIR" msgstr "" # type: textblock -#: ../src/guestfs.pod:1685 ../fish/guestfish.pod:867 +#: ../src/guestfs.pod:1716 ../fish/guestfish.pod:890 msgid "Location of temporary directory, defaults to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1687 ../fish/guestfish.pod:869 +#: ../src/guestfs.pod:1718 ../fish/guestfish.pod:892 msgid "" -"If libguestfs was compiled to use the supermin appliance then each handle " -"will require rather a large amount of space in this directory for short " -"periods of time (~ 80 MB). You can use C<$TMPDIR> to configure another " -"directory to use in case C is not large enough." +"If libguestfs was compiled to use the supermin appliance then the real " +"appliance is cached in this directory, shared between all handles belonging " +"to the same EUID. You can use C<$TMPDIR> to configure another directory to " +"use in case C is not large enough." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1695 ../fish/guestfish.pod:927 +#: ../src/guestfs.pod:1726 ../fish/guestfish.pod:950 #: ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:178 -#: ../inspector/virt-inspector.pl:846 ../tools/virt-cat.pl:163 -#: ../tools/virt-df.pl:536 ../tools/virt-edit.pl:325 -#: ../tools/virt-list-filesystems.pl:191 ../tools/virt-list-partitions.pl:229 -#: ../tools/virt-ls.pl:210 ../tools/virt-make-fs.pl:527 -#: ../tools/virt-rescue.pl:231 ../tools/virt-resize.pl:1390 -#: ../tools/virt-tar.pl:257 ../tools/virt-win-reg.pl:461 +#: ../inspector/virt-inspector.pl:846 ../tools/virt-edit.pl:325 +#: ../tools/virt-win-reg.pl:461 ../tools/virt-df.pl:536 +#: ../tools/virt-ls.pl:210 ../tools/virt-resize.pl:1390 +#: ../tools/virt-list-filesystems.pl:191 ../tools/virt-cat.pl:163 +#: ../tools/virt-tar.pl:257 ../tools/virt-rescue.pl:231 +#: ../tools/virt-make-fs.pl:527 ../tools/virt-list-partitions.pl:229 msgid "SEE ALSO" msgstr "" # type: textblock -#: ../src/guestfs.pod:1697 +#: ../src/guestfs.pod:1728 msgid "" "L, L, L, L, L, L, L, L, L, L, L, L." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1722 ../tools/virt-make-fs.pl:541 -#: ../tools/virt-win-reg.pl:476 +#: ../src/guestfs.pod:1753 ../tools/virt-win-reg.pl:476 +#: ../tools/virt-make-fs.pl:541 msgid "BUGS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1724 +#: ../src/guestfs.pod:1755 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1726 +#: ../src/guestfs.pod:1757 msgid "" "L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1728 +#: ../src/guestfs.pod:1759 msgid "To report a new bug against libguestfs use this link:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1730 +#: ../src/guestfs.pod:1761 msgid "" "L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1732 +#: ../src/guestfs.pod:1763 msgid "When reporting a bug, please check:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1738 +#: ../src/guestfs.pod:1769 msgid "That the bug hasn't been reported already." msgstr "" # type: textblock -#: ../src/guestfs.pod:1742 +#: ../src/guestfs.pod:1773 msgid "That you are testing a recent version." msgstr "" # type: textblock -#: ../src/guestfs.pod:1746 +#: ../src/guestfs.pod:1777 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" # type: textblock -#: ../src/guestfs.pod:1750 +#: ../src/guestfs.pod:1781 msgid "" "Run libguestfs-test-tool and paste the B output into the " "bug report." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1755 ../fish/guestfish.pod:944 +#: ../src/guestfs.pod:1786 ../fish/guestfish.pod:967 #: ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:189 #: ../inspector/virt-inspector.pl:855 msgid "AUTHORS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1757 ../fish/guestfish.pod:946 +#: ../src/guestfs.pod:1788 ../fish/guestfish.pod:969 #: ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:191 msgid "Richard W.M. Jones (C)" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1759 ../fish/guestfish.pod:948 +#: ../src/guestfs.pod:1790 ../fish/guestfish.pod:971 #: ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:193 -#: ../inspector/virt-inspector.pl:861 ../tools/virt-cat.pl:177 -#: ../tools/virt-df.pl:549 ../tools/virt-edit.pl:341 -#: ../tools/virt-list-filesystems.pl:207 ../tools/virt-list-partitions.pl:244 -#: ../tools/virt-ls.pl:225 ../tools/virt-make-fs.pl:556 -#: ../tools/virt-rescue.pl:245 ../tools/virt-resize.pl:1411 -#: ../tools/virt-tar.pl:272 ../tools/virt-win-reg.pl:491 +#: ../inspector/virt-inspector.pl:861 ../tools/virt-edit.pl:341 +#: ../tools/virt-win-reg.pl:491 ../tools/virt-df.pl:549 +#: ../tools/virt-ls.pl:225 ../tools/virt-resize.pl:1411 +#: ../tools/virt-list-filesystems.pl:207 ../tools/virt-cat.pl:177 +#: ../tools/virt-tar.pl:272 ../tools/virt-rescue.pl:245 +#: ../tools/virt-make-fs.pl:556 ../tools/virt-list-partitions.pl:244 msgid "COPYRIGHT" msgstr "" # type: textblock -#: ../src/guestfs.pod:1761 ../fish/guestfish.pod:950 +#: ../src/guestfs.pod:1792 ../fish/guestfish.pod:973 msgid "Copyright (C) 2009-2010 Red Hat Inc. L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1764 +#: ../src/guestfs.pod:1795 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 " @@ -3494,7 +3553,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1769 +#: ../src/guestfs.pod:1800 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 " @@ -3503,7 +3562,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1774 +#: ../src/guestfs.pod:1805 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, " @@ -3612,38 +3671,38 @@ msgstr "" #: ../src/guestfs-actions.pod:3787 ../src/guestfs-actions.pod:3813 #: ../src/guestfs-actions.pod:3847 ../src/guestfs-actions.pod:3861 #: ../src/guestfs-actions.pod:3871 ../src/guestfs-actions.pod:3882 -#: ../src/guestfs-actions.pod:4114 ../src/guestfs-actions.pod:4130 -#: ../src/guestfs-actions.pod:4141 ../src/guestfs-actions.pod:4150 -#: ../src/guestfs-actions.pod:4161 ../src/guestfs-actions.pod:4170 -#: ../src/guestfs-actions.pod:4181 ../src/guestfs-actions.pod:4194 -#: ../src/guestfs-actions.pod:4212 ../src/guestfs-actions.pod:4228 -#: ../src/guestfs-actions.pod:4244 ../src/guestfs-actions.pod:4259 -#: ../src/guestfs-actions.pod:4279 ../src/guestfs-actions.pod:4294 -#: ../src/guestfs-actions.pod:4310 ../src/guestfs-actions.pod:4328 -#: ../src/guestfs-actions.pod:4344 ../src/guestfs-actions.pod:4358 -#: ../src/guestfs-actions.pod:4383 ../src/guestfs-actions.pod:4404 -#: ../src/guestfs-actions.pod:4420 ../src/guestfs-actions.pod:4441 -#: ../src/guestfs-actions.pod:4453 ../src/guestfs-actions.pod:4465 -#: ../src/guestfs-actions.pod:4481 ../src/guestfs-actions.pod:4515 -#: ../src/guestfs-actions.pod:4535 ../src/guestfs-actions.pod:4558 -#: ../src/guestfs-actions.pod:4648 ../src/guestfs-actions.pod:4754 -#: ../src/guestfs-actions.pod:4763 ../src/guestfs-actions.pod:4773 -#: ../src/guestfs-actions.pod:4783 ../src/guestfs-actions.pod:4802 -#: ../src/guestfs-actions.pod:4812 ../src/guestfs-actions.pod:4822 -#: ../src/guestfs-actions.pod:4832 ../src/guestfs-actions.pod:4844 -#: ../src/guestfs-actions.pod:4894 ../src/guestfs-actions.pod:4908 -#: ../src/guestfs-actions.pod:4921 ../src/guestfs-actions.pod:4934 -#: ../src/guestfs-actions.pod:4948 ../src/guestfs-actions.pod:4958 -#: ../src/guestfs-actions.pod:4975 ../src/guestfs-actions.pod:5005 -#: ../src/guestfs-actions.pod:5016 ../src/guestfs-actions.pod:5051 -#: ../src/guestfs-actions.pod:5061 ../src/guestfs-actions.pod:5076 -#: ../src/guestfs-actions.pod:5102 ../src/guestfs-actions.pod:5130 -#: ../src/guestfs-actions.pod:5234 ../src/guestfs-actions.pod:5249 -#: ../src/guestfs-actions.pod:5260 ../src/guestfs-actions.pod:5306 -#: ../src/guestfs-actions.pod:5316 ../src/guestfs-actions.pod:5353 -#: ../src/guestfs-actions.pod:5380 ../src/guestfs-actions.pod:5422 -#: ../src/guestfs-actions.pod:5445 ../src/guestfs-actions.pod:5502 -#: ../src/guestfs-actions.pod:5518 ../src/guestfs-actions.pod:5544 +#: ../src/guestfs-actions.pod:4137 ../src/guestfs-actions.pod:4153 +#: ../src/guestfs-actions.pod:4164 ../src/guestfs-actions.pod:4173 +#: ../src/guestfs-actions.pod:4184 ../src/guestfs-actions.pod:4193 +#: ../src/guestfs-actions.pod:4204 ../src/guestfs-actions.pod:4217 +#: ../src/guestfs-actions.pod:4235 ../src/guestfs-actions.pod:4251 +#: ../src/guestfs-actions.pod:4267 ../src/guestfs-actions.pod:4282 +#: ../src/guestfs-actions.pod:4302 ../src/guestfs-actions.pod:4317 +#: ../src/guestfs-actions.pod:4333 ../src/guestfs-actions.pod:4351 +#: ../src/guestfs-actions.pod:4367 ../src/guestfs-actions.pod:4381 +#: ../src/guestfs-actions.pod:4406 ../src/guestfs-actions.pod:4427 +#: ../src/guestfs-actions.pod:4443 ../src/guestfs-actions.pod:4464 +#: ../src/guestfs-actions.pod:4476 ../src/guestfs-actions.pod:4488 +#: ../src/guestfs-actions.pod:4504 ../src/guestfs-actions.pod:4538 +#: ../src/guestfs-actions.pod:4558 ../src/guestfs-actions.pod:4581 +#: ../src/guestfs-actions.pod:4671 ../src/guestfs-actions.pod:4777 +#: ../src/guestfs-actions.pod:4786 ../src/guestfs-actions.pod:4796 +#: ../src/guestfs-actions.pod:4806 ../src/guestfs-actions.pod:4825 +#: ../src/guestfs-actions.pod:4835 ../src/guestfs-actions.pod:4845 +#: ../src/guestfs-actions.pod:4855 ../src/guestfs-actions.pod:4867 +#: ../src/guestfs-actions.pod:4917 ../src/guestfs-actions.pod:4931 +#: ../src/guestfs-actions.pod:4944 ../src/guestfs-actions.pod:4957 +#: ../src/guestfs-actions.pod:4971 ../src/guestfs-actions.pod:4981 +#: ../src/guestfs-actions.pod:4998 ../src/guestfs-actions.pod:5028 +#: ../src/guestfs-actions.pod:5039 ../src/guestfs-actions.pod:5074 +#: ../src/guestfs-actions.pod:5084 ../src/guestfs-actions.pod:5099 +#: ../src/guestfs-actions.pod:5125 ../src/guestfs-actions.pod:5153 +#: ../src/guestfs-actions.pod:5257 ../src/guestfs-actions.pod:5272 +#: ../src/guestfs-actions.pod:5283 ../src/guestfs-actions.pod:5329 +#: ../src/guestfs-actions.pod:5339 ../src/guestfs-actions.pod:5376 +#: ../src/guestfs-actions.pod:5403 ../src/guestfs-actions.pod:5445 +#: ../src/guestfs-actions.pod:5468 ../src/guestfs-actions.pod:5525 +#: ../src/guestfs-actions.pod:5541 ../src/guestfs-actions.pod:5567 msgid "This function returns 0 on success or -1 on error." msgstr "" @@ -3915,9 +3974,9 @@ msgstr "" #: ../src/guestfs-actions.pod:1710 ../src/guestfs-actions.pod:1935 #: ../src/guestfs-actions.pod:2147 ../src/guestfs-actions.pod:2165 #: ../src/guestfs-actions.pod:3503 ../src/guestfs-actions.pod:3610 -#: ../src/guestfs-actions.pod:3941 ../src/guestfs-actions.pod:5040 -#: ../src/guestfs-actions.pod:5390 ../src/guestfs-actions.pod:5400 -#: ../src/guestfs-actions.pod:5410 +#: ../src/guestfs-actions.pod:3941 ../src/guestfs-actions.pod:3964 +#: ../src/guestfs-actions.pod:5063 ../src/guestfs-actions.pod:5413 +#: ../src/guestfs-actions.pod:5423 ../src/guestfs-actions.pod:5433 msgid "On error this function returns -1." msgstr "" @@ -3957,12 +4016,12 @@ msgstr "" #: ../src/guestfs-actions.pod:2250 ../src/guestfs-actions.pod:2565 #: ../src/guestfs-actions.pod:2986 ../src/guestfs-actions.pod:3082 #: ../src/guestfs-actions.pod:3625 ../src/guestfs-actions.pod:3801 -#: ../src/guestfs-actions.pod:3919 ../src/guestfs-actions.pod:4057 -#: ../src/guestfs-actions.pod:4100 ../src/guestfs-actions.pod:4576 -#: ../src/guestfs-actions.pod:4589 ../src/guestfs-actions.pod:4603 -#: ../src/guestfs-actions.pod:4624 ../src/guestfs-actions.pod:5183 -#: ../src/guestfs-actions.pod:5199 ../src/guestfs-actions.pod:5214 -#: ../src/guestfs-actions.pod:5362 ../src/guestfs-actions.pod:5592 +#: ../src/guestfs-actions.pod:3919 ../src/guestfs-actions.pod:4080 +#: ../src/guestfs-actions.pod:4123 ../src/guestfs-actions.pod:4599 +#: ../src/guestfs-actions.pod:4612 ../src/guestfs-actions.pod:4626 +#: ../src/guestfs-actions.pod:4647 ../src/guestfs-actions.pod:5206 +#: ../src/guestfs-actions.pod:5222 ../src/guestfs-actions.pod:5237 +#: ../src/guestfs-actions.pod:5385 ../src/guestfs-actions.pod:5615 msgid "" "This function returns a string, or NULL on error. I." @@ -4168,14 +4227,14 @@ msgstr "" #: ../src/guestfs-actions.pod:2494 ../src/guestfs-actions.pod:2550 #: ../src/guestfs-actions.pod:2634 ../src/guestfs-actions.pod:2963 #: ../src/guestfs-actions.pod:3470 ../src/guestfs-actions.pod:3896 -#: ../src/guestfs-actions.pod:3982 ../src/guestfs-actions.pod:4088 -#: ../src/guestfs-actions.pod:4637 ../src/guestfs-actions.pod:4686 -#: ../src/guestfs-actions.pod:4738 ../src/guestfs-actions.pod:4854 -#: ../src/guestfs-actions.pod:4875 ../src/guestfs-actions.pod:5275 -#: ../src/guestfs-actions.pod:5292 ../src/guestfs-actions.pod:5330 -#: ../src/guestfs-actions.pod:5466 ../src/guestfs-actions.pod:5482 -#: ../src/guestfs-actions.pod:5555 ../src/guestfs-actions.pod:5571 -#: ../src/guestfs-actions.pod:5611 ../src/guestfs-actions.pod:5627 +#: ../src/guestfs-actions.pod:4005 ../src/guestfs-actions.pod:4111 +#: ../src/guestfs-actions.pod:4660 ../src/guestfs-actions.pod:4709 +#: ../src/guestfs-actions.pod:4761 ../src/guestfs-actions.pod:4877 +#: ../src/guestfs-actions.pod:4898 ../src/guestfs-actions.pod:5298 +#: ../src/guestfs-actions.pod:5315 ../src/guestfs-actions.pod:5353 +#: ../src/guestfs-actions.pod:5489 ../src/guestfs-actions.pod:5505 +#: ../src/guestfs-actions.pod:5578 ../src/guestfs-actions.pod:5594 +#: ../src/guestfs-actions.pod:5634 ../src/guestfs-actions.pod:5650 msgid "" "This function returns a NULL-terminated array of strings (like L), or NULL if there was an error. I." msgstr "" @@ -4836,27 +4895,28 @@ msgstr "" #: ../src/guestfs-actions.pod:1836 ../src/guestfs-actions.pod:1857 #: ../src/guestfs-actions.pod:1871 ../src/guestfs-actions.pod:1897 #: ../src/guestfs-actions.pod:3835 ../src/guestfs-actions.pod:3943 -#: ../src/guestfs-actions.pod:3964 ../src/guestfs-actions.pod:4690 -#: ../src/guestfs-actions.pod:4742 ../src/guestfs-actions.pod:4858 -#: ../src/guestfs-actions.pod:4879 ../src/guestfs-actions.pod:5424 +#: ../src/guestfs-actions.pod:3966 ../src/guestfs-actions.pod:3987 +#: ../src/guestfs-actions.pod:4713 ../src/guestfs-actions.pod:4765 +#: ../src/guestfs-actions.pod:4881 ../src/guestfs-actions.pod:4902 #: ../src/guestfs-actions.pod:5447 ../src/guestfs-actions.pod:5470 -#: ../src/guestfs-actions.pod:5486 ../src/guestfs-actions.pod:5559 -#: ../src/guestfs-actions.pod:5575 ../src/guestfs-actions.pod:5615 -#: ../src/guestfs-actions.pod:5631 ../fish/guestfish-actions.pod:513 -#: ../fish/guestfish-actions.pod:648 ../fish/guestfish-actions.pod:660 -#: ../fish/guestfish-actions.pod:861 ../fish/guestfish-actions.pod:871 -#: ../fish/guestfish-actions.pod:938 ../fish/guestfish-actions.pod:948 -#: ../fish/guestfish-actions.pod:1143 ../fish/guestfish-actions.pod:1418 -#: ../fish/guestfish-actions.pod:1428 ../fish/guestfish-actions.pod:1456 -#: ../fish/guestfish-actions.pod:1471 ../fish/guestfish-actions.pod:1481 -#: ../fish/guestfish-actions.pod:1500 ../fish/guestfish-actions.pod:2970 -#: ../fish/guestfish-actions.pod:3046 ../fish/guestfish-actions.pod:3061 -#: ../fish/guestfish-actions.pod:3644 ../fish/guestfish-actions.pod:3690 -#: ../fish/guestfish-actions.pod:3775 ../fish/guestfish-actions.pod:3790 -#: ../fish/guestfish-actions.pod:4200 ../fish/guestfish-actions.pod:4218 -#: ../fish/guestfish-actions.pod:4235 ../fish/guestfish-actions.pod:4245 -#: ../fish/guestfish-actions.pod:4293 ../fish/guestfish-actions.pod:4303 -#: ../fish/guestfish-actions.pod:4332 ../fish/guestfish-actions.pod:4342 +#: ../src/guestfs-actions.pod:5493 ../src/guestfs-actions.pod:5509 +#: ../src/guestfs-actions.pod:5582 ../src/guestfs-actions.pod:5598 +#: ../src/guestfs-actions.pod:5638 ../src/guestfs-actions.pod:5654 +#: ../fish/guestfish-actions.pod:513 ../fish/guestfish-actions.pod:648 +#: ../fish/guestfish-actions.pod:660 ../fish/guestfish-actions.pod:861 +#: ../fish/guestfish-actions.pod:871 ../fish/guestfish-actions.pod:938 +#: ../fish/guestfish-actions.pod:948 ../fish/guestfish-actions.pod:1143 +#: ../fish/guestfish-actions.pod:1418 ../fish/guestfish-actions.pod:1428 +#: ../fish/guestfish-actions.pod:1456 ../fish/guestfish-actions.pod:1471 +#: ../fish/guestfish-actions.pod:1481 ../fish/guestfish-actions.pod:1500 +#: ../fish/guestfish-actions.pod:2970 ../fish/guestfish-actions.pod:3046 +#: ../fish/guestfish-actions.pod:3063 ../fish/guestfish-actions.pod:3078 +#: ../fish/guestfish-actions.pod:3661 ../fish/guestfish-actions.pod:3707 +#: ../fish/guestfish-actions.pod:3792 ../fish/guestfish-actions.pod:3807 +#: ../fish/guestfish-actions.pod:4217 ../fish/guestfish-actions.pod:4235 +#: ../fish/guestfish-actions.pod:4252 ../fish/guestfish-actions.pod:4262 +#: ../fish/guestfish-actions.pod:4310 ../fish/guestfish-actions.pod:4320 +#: ../fish/guestfish-actions.pod:4349 ../fish/guestfish-actions.pod:4359 msgid "" "Because of the message protocol, there is a transfer limit of somewhere " "between 2MB and 4MB. See L." @@ -5256,8 +5316,8 @@ msgstr "" # type: textblock #: ../src/guestfs-actions.pod:841 ../src/guestfs-actions.pod:976 #: ../src/guestfs-actions.pod:1004 ../src/guestfs-actions.pod:1376 -#: ../src/guestfs-actions.pod:1395 ../src/guestfs-actions.pod:5504 -#: ../src/guestfs-actions.pod:5520 +#: ../src/guestfs-actions.pod:1395 ../src/guestfs-actions.pod:5527 +#: ../src/guestfs-actions.pod:5543 msgid "" "This long-running command can generate progress notification messages so " "that the caller can display a progress bar or indicator. To receive these " @@ -5498,8 +5558,8 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:970 ../src/guestfs-actions.pod:5072 -#: ../fish/guestfish-actions.pod:779 ../fish/guestfish-actions.pod:3948 +#: ../src/guestfs-actions.pod:970 ../src/guestfs-actions.pod:5095 +#: ../fish/guestfish-actions.pod:779 ../fish/guestfish-actions.pod:3965 msgid "C can also be a named pipe." msgstr "" @@ -5808,10 +5868,10 @@ msgstr "" # type: textblock #: ../src/guestfs-actions.pod:1148 ../src/guestfs-actions.pod:1583 -#: ../src/guestfs-actions.pod:1601 ../src/guestfs-actions.pod:5453 -#: ../src/guestfs-actions.pod:5598 ../fish/guestfish-actions.pod:907 +#: ../src/guestfs-actions.pod:1601 ../src/guestfs-actions.pod:5476 +#: ../src/guestfs-actions.pod:5621 ../fish/guestfish-actions.pod:907 #: ../fish/guestfish-actions.pod:1264 ../fish/guestfish-actions.pod:1278 -#: ../fish/guestfish-actions.pod:4224 ../fish/guestfish-actions.pod:4321 +#: ../fish/guestfish-actions.pod:4241 ../fish/guestfish-actions.pod:4338 msgid "" "Deprecated functions will not be removed from the API, but the fact that " "they are deprecated indicates that there are problems with correct use of " @@ -6592,9 +6652,9 @@ msgstr "" # type: textblock #: ../src/guestfs-actions.pod:1616 ../src/guestfs-actions.pod:1679 -#: ../src/guestfs-actions.pod:4325 ../src/guestfs-actions.pod:4417 +#: ../src/guestfs-actions.pod:4348 ../src/guestfs-actions.pod:4440 #: ../fish/guestfish-actions.pod:1293 ../fish/guestfish-actions.pod:1344 -#: ../fish/guestfish-actions.pod:3355 ../fish/guestfish-actions.pod:3442 +#: ../fish/guestfish-actions.pod:3372 ../fish/guestfish-actions.pod:3459 msgid "" "For more information on the architecture of libguestfs, see L." msgstr "" @@ -7057,8 +7117,8 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:1851 ../src/guestfs-actions.pod:4873 -#: ../fish/guestfish-actions.pod:1469 ../fish/guestfish-actions.pod:3788 +#: ../src/guestfs-actions.pod:1851 ../src/guestfs-actions.pod:4896 +#: ../fish/guestfish-actions.pod:1469 ../fish/guestfish-actions.pod:3805 msgid "If the parameter C is zero, this returns an empty list." msgstr "" @@ -7130,7 +7190,7 @@ msgstr "" # type: textblock #: ../src/guestfs-actions.pod:1893 ../src/guestfs-actions.pod:3831 -#: ../src/guestfs-actions.pod:3960 +#: ../src/guestfs-actions.pod:3983 msgid "" "This function returns a buffer, or NULL on error. The size of the returned " "buffer is written to C<*size_r>. I, where " @@ -8473,8 +8533,8 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:2657 ../src/guestfs-actions.pod:4655 -#: ../fish/guestfish-actions.pod:2101 ../fish/guestfish-actions.pod:3623 +#: ../src/guestfs-actions.pod:2657 ../src/guestfs-actions.pod:4678 +#: ../fish/guestfish-actions.pod:2101 ../fish/guestfish-actions.pod:3640 msgid "Returns file information for the given C." msgstr "" @@ -8491,7 +8551,7 @@ msgid "This is the same as the C system call." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:2665 ../src/guestfs-actions.pod:4659 +#: ../src/guestfs-actions.pod:2665 ../src/guestfs-actions.pod:4682 msgid "" "This function returns a C, or NULL if there was an " "error. I after use>." @@ -8639,13 +8699,13 @@ msgstr "" # type: textblock #: ../src/guestfs-actions.pod:2747 ../src/guestfs-actions.pod:2767 #: ../src/guestfs-actions.pod:2869 ../src/guestfs-actions.pod:3581 -#: ../src/guestfs-actions.pod:4196 ../src/guestfs-actions.pod:4517 -#: ../src/guestfs-actions.pod:4537 ../src/guestfs-actions.pod:4560 -#: ../src/guestfs-actions.pod:5525 ../fish/guestfish-actions.pod:2168 +#: ../src/guestfs-actions.pod:4219 ../src/guestfs-actions.pod:4540 +#: ../src/guestfs-actions.pod:4560 ../src/guestfs-actions.pod:4583 +#: ../src/guestfs-actions.pod:5548 ../fish/guestfish-actions.pod:2168 #: ../fish/guestfish-actions.pod:2181 ../fish/guestfish-actions.pod:2252 -#: ../fish/guestfish-actions.pod:2767 ../fish/guestfish-actions.pod:3242 -#: ../fish/guestfish-actions.pod:3522 ../fish/guestfish-actions.pod:3538 -#: ../fish/guestfish-actions.pod:3553 ../fish/guestfish-actions.pod:4268 +#: ../fish/guestfish-actions.pod:2767 ../fish/guestfish-actions.pod:3259 +#: ../fish/guestfish-actions.pod:3539 ../fish/guestfish-actions.pod:3555 +#: ../fish/guestfish-actions.pod:3570 ../fish/guestfish-actions.pod:4285 msgid "" "B." @@ -10635,7 +10695,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3829 +#: ../src/guestfs-actions.pod:3829 ../src/guestfs-actions.pod:3962 msgid "See also C." msgstr "" @@ -10847,18 +10907,50 @@ msgstr "" # type: textblock #: ../src/guestfs-actions.pod:3939 -msgid "See also C." +msgid "See also C, C." msgstr "" # type: =head2 #: ../src/guestfs-actions.pod:3946 -msgid "guestfs_read_file" +msgid "guestfs_pwrite_device" msgstr "" # type: verbatim #: ../src/guestfs-actions.pod:3948 #, no-wrap msgid "" +" int guestfs_pwrite_device (guestfs_h *g,\n" +"\t\tconst char *device,\n" +"\t\tconst char *content,\n" +"\t\tsize_t content_size,\n" +"\t\tint64_t offset);\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs-actions.pod:3954 ../fish/guestfish-actions.pod:3053 +msgid "" +"This command writes to part of a device. It writes the data buffer " +"C to C starting at offset C." +msgstr "" + +# type: textblock +#: ../src/guestfs-actions.pod:3957 ../fish/guestfish-actions.pod:3056 +msgid "" +"This command implements the L system call, and like that system " +"call it may not write the full data requested (although short writes to disk " +"devices and partitions are probably impossible with standard Linux kernels)." +msgstr "" + +# type: =head2 +#: ../src/guestfs-actions.pod:3969 +msgid "guestfs_read_file" +msgstr "" + +# type: verbatim +#: ../src/guestfs-actions.pod:3971 +#, no-wrap +msgid "" " char *guestfs_read_file (guestfs_h *g,\n" "\t\tconst char *path,\n" "\t\tsize_t *size_r);\n" @@ -10866,12 +10958,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3952 ../fish/guestfish-actions.pod:3053 +#: ../src/guestfs-actions.pod:3975 ../fish/guestfish-actions.pod:3070 msgid "This calls returns the contents of the file C as a buffer." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3955 +#: ../src/guestfs-actions.pod:3978 msgid "" "Unlike C, this function can correctly handle files that contain " "embedded ASCII NUL characters. However unlike C, this " @@ -10879,12 +10971,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:3967 +#: ../src/guestfs-actions.pod:3990 msgid "guestfs_read_lines" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:3969 +#: ../src/guestfs-actions.pod:3992 #, no-wrap msgid "" " char **guestfs_read_lines (guestfs_h *g,\n" @@ -10893,14 +10985,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3974 ../fish/guestfish-actions.pod:3070 +#: ../src/guestfs-actions.pod:3997 ../fish/guestfish-actions.pod:3087 msgid "" "The file contents are returned as a list of lines. Trailing C and " "C character sequences are I returned." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3977 +#: ../src/guestfs-actions.pod:4000 msgid "" "Note that this function cannot correctly handle binary files (specifically, " "files containing C<\\0> character which is treated as end of line). For " @@ -10909,12 +11001,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:3986 +#: ../src/guestfs-actions.pod:4009 msgid "guestfs_readdir" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:3988 +#: ../src/guestfs-actions.pod:4011 #, no-wrap msgid "" " struct guestfs_dirent_list *guestfs_readdir (guestfs_h *g,\n" @@ -10923,12 +11015,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3991 ../fish/guestfish-actions.pod:3082 +#: ../src/guestfs-actions.pod:4014 ../fish/guestfish-actions.pod:3099 msgid "This returns the list of directory entries in directory C." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3993 ../fish/guestfish-actions.pod:3084 +#: ../src/guestfs-actions.pod:4016 ../fish/guestfish-actions.pod:3101 msgid "" "All entries in the directory are returned, including C<.> and C<..>. The " "entries are I sorted, but returned in the same order as the underlying " @@ -10936,105 +11028,105 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3997 ../fish/guestfish-actions.pod:3088 +#: ../src/guestfs-actions.pod:4020 ../fish/guestfish-actions.pod:3105 msgid "" "Also this call returns basic file type information about each file. The " "C field will contain one of the following characters:" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4002 ../fish/guestfish-actions.pod:3093 +#: ../src/guestfs-actions.pod:4025 ../fish/guestfish-actions.pod:3110 msgid "'b'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4004 ../fish/guestfish-actions.pod:3095 +#: ../src/guestfs-actions.pod:4027 ../fish/guestfish-actions.pod:3112 msgid "Block special" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4006 ../fish/guestfish-actions.pod:3097 +#: ../src/guestfs-actions.pod:4029 ../fish/guestfish-actions.pod:3114 msgid "'c'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4008 ../fish/guestfish-actions.pod:3099 +#: ../src/guestfs-actions.pod:4031 ../fish/guestfish-actions.pod:3116 msgid "Char special" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4010 ../fish/guestfish-actions.pod:3101 +#: ../src/guestfs-actions.pod:4033 ../fish/guestfish-actions.pod:3118 msgid "'d'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4012 ../fish/guestfish-actions.pod:3103 +#: ../src/guestfs-actions.pod:4035 ../fish/guestfish-actions.pod:3120 msgid "Directory" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4014 ../fish/guestfish-actions.pod:3105 +#: ../src/guestfs-actions.pod:4037 ../fish/guestfish-actions.pod:3122 msgid "'f'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4016 ../fish/guestfish-actions.pod:3107 +#: ../src/guestfs-actions.pod:4039 ../fish/guestfish-actions.pod:3124 msgid "FIFO (named pipe)" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4018 ../fish/guestfish-actions.pod:3109 +#: ../src/guestfs-actions.pod:4041 ../fish/guestfish-actions.pod:3126 msgid "'l'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4020 ../fish/guestfish-actions.pod:3111 +#: ../src/guestfs-actions.pod:4043 ../fish/guestfish-actions.pod:3128 msgid "Symbolic link" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4022 ../fish/guestfish-actions.pod:3113 +#: ../src/guestfs-actions.pod:4045 ../fish/guestfish-actions.pod:3130 msgid "'r'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4024 ../fish/guestfish-actions.pod:3115 +#: ../src/guestfs-actions.pod:4047 ../fish/guestfish-actions.pod:3132 msgid "Regular file" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4026 ../fish/guestfish-actions.pod:3117 +#: ../src/guestfs-actions.pod:4049 ../fish/guestfish-actions.pod:3134 msgid "'s'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4028 ../fish/guestfish-actions.pod:3119 +#: ../src/guestfs-actions.pod:4051 ../fish/guestfish-actions.pod:3136 msgid "Socket" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4030 ../fish/guestfish-actions.pod:3121 +#: ../src/guestfs-actions.pod:4053 ../fish/guestfish-actions.pod:3138 msgid "'u'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4032 ../fish/guestfish-actions.pod:3123 +#: ../src/guestfs-actions.pod:4055 ../fish/guestfish-actions.pod:3140 msgid "Unknown file type" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4034 ../fish/guestfish-actions.pod:3125 +#: ../src/guestfs-actions.pod:4057 ../fish/guestfish-actions.pod:3142 msgid "'?'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4036 ../fish/guestfish-actions.pod:3127 +#: ../src/guestfs-actions.pod:4059 ../fish/guestfish-actions.pod:3144 msgid "" "The L call returned a C field with an unexpected value" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4041 +#: ../src/guestfs-actions.pod:4064 msgid "" "This function is primarily intended for use by programs. To get a simple " "list of names, use C. To get a printable directory for human " @@ -11042,7 +11134,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4045 +#: ../src/guestfs-actions.pod:4068 msgid "" "This function returns a C (see Eguestfs-" "structs.hE), or NULL if there was an error. I operation on multiple files, where " "all files are in the directory C. C is the list of files from " @@ -11092,14 +11184,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4070 ../fish/guestfish-actions.pod:3150 +#: ../src/guestfs-actions.pod:4093 ../fish/guestfish-actions.pod:3167 msgid "" "On return you get a list of strings, with a one-to-one correspondence to the " "C list. Each string is the value of the symbolic link." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4074 ../fish/guestfish-actions.pod:3154 +#: ../src/guestfs-actions.pod:4097 ../fish/guestfish-actions.pod:3171 msgid "" "If the C operation fails on any name, then the corresponding " "result string is the empty string C<\"\">. However the whole operation is " @@ -11109,7 +11201,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4081 ../fish/guestfish-actions.pod:3161 +#: ../src/guestfs-actions.pod:4104 ../fish/guestfish-actions.pod:3178 msgid "" "This call is intended for programs that want to efficiently list a directory " "contents without making many round-trips. Very long directory listings " @@ -11118,12 +11210,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4092 +#: ../src/guestfs-actions.pod:4115 msgid "guestfs_realpath" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4094 +#: ../src/guestfs-actions.pod:4117 #, no-wrap msgid "" " char *guestfs_realpath (guestfs_h *g,\n" @@ -11132,19 +11224,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4097 ../fish/guestfish-actions.pod:3172 +#: ../src/guestfs-actions.pod:4120 ../fish/guestfish-actions.pod:3189 msgid "" "Return the canonicalized absolute pathname of C. The returned path " "has no C<.>, C<..> or symbolic link path elements." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4103 +#: ../src/guestfs-actions.pod:4126 msgid "guestfs_removexattr" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4105 +#: ../src/guestfs-actions.pod:4128 #, no-wrap msgid "" " int guestfs_removexattr (guestfs_h *g,\n" @@ -11154,23 +11246,23 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4109 ../fish/guestfish-actions.pod:3179 +#: ../src/guestfs-actions.pod:4132 ../fish/guestfish-actions.pod:3196 msgid "" "This call removes the extended attribute named C of the file C." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4112 +#: ../src/guestfs-actions.pod:4135 msgid "See also: C, L." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4116 +#: ../src/guestfs-actions.pod:4139 msgid "guestfs_resize2fs" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4118 +#: ../src/guestfs-actions.pod:4141 #, no-wrap msgid "" " int guestfs_resize2fs (guestfs_h *g,\n" @@ -11179,14 +11271,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4121 ../fish/guestfish-actions.pod:3188 +#: ../src/guestfs-actions.pod:4144 ../fish/guestfish-actions.pod:3205 msgid "" "This resizes an ext2, ext3 or ext4 filesystem to match the size of the " "underlying device." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4124 +#: ../src/guestfs-actions.pod:4147 msgid "" "I It is sometimes required that you run C on the " "C before calling this command. For unknown reasons C " @@ -11195,12 +11287,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4132 +#: ../src/guestfs-actions.pod:4155 msgid "guestfs_resize2fs_size" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4134 +#: ../src/guestfs-actions.pod:4157 #, no-wrap msgid "" " int guestfs_resize2fs_size (guestfs_h *g,\n" @@ -11210,19 +11302,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4138 +#: ../src/guestfs-actions.pod:4161 msgid "" "This command is the same as C except that it allows you " "to specify the new size (in bytes) explicitly." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4143 +#: ../src/guestfs-actions.pod:4166 msgid "guestfs_rm" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4145 +#: ../src/guestfs-actions.pod:4168 #, no-wrap msgid "" " int guestfs_rm (guestfs_h *g,\n" @@ -11231,17 +11323,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4148 ../fish/guestfish-actions.pod:3208 +#: ../src/guestfs-actions.pod:4171 ../fish/guestfish-actions.pod:3225 msgid "Remove the single file C." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4152 +#: ../src/guestfs-actions.pod:4175 msgid "guestfs_rm_rf" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4154 +#: ../src/guestfs-actions.pod:4177 #, no-wrap msgid "" " int guestfs_rm_rf (guestfs_h *g,\n" @@ -11250,19 +11342,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4157 ../fish/guestfish-actions.pod:3214 +#: ../src/guestfs-actions.pod:4180 ../fish/guestfish-actions.pod:3231 msgid "" "Remove the file or directory C, recursively removing the contents if " "its a directory. This is like the C shell command." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4163 +#: ../src/guestfs-actions.pod:4186 msgid "guestfs_rmdir" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4165 +#: ../src/guestfs-actions.pod:4188 #, no-wrap msgid "" " int guestfs_rmdir (guestfs_h *g,\n" @@ -11271,17 +11363,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4168 ../fish/guestfish-actions.pod:3222 +#: ../src/guestfs-actions.pod:4191 ../fish/guestfish-actions.pod:3239 msgid "Remove the single directory C." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4172 +#: ../src/guestfs-actions.pod:4195 msgid "guestfs_rmmountpoint" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4174 +#: ../src/guestfs-actions.pod:4197 #, no-wrap msgid "" " int guestfs_rmmountpoint (guestfs_h *g,\n" @@ -11290,19 +11382,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4177 +#: ../src/guestfs-actions.pod:4200 msgid "" "This calls removes a mountpoint that was previously created with " "C. See C for full details." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4183 +#: ../src/guestfs-actions.pod:4206 msgid "guestfs_scrub_device" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4185 +#: ../src/guestfs-actions.pod:4208 #, no-wrap msgid "" " int guestfs_scrub_device (guestfs_h *g,\n" @@ -11311,28 +11403,28 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4188 ../fish/guestfish-actions.pod:3236 +#: ../src/guestfs-actions.pod:4211 ../fish/guestfish-actions.pod:3253 msgid "" "This command writes patterns over C to make data retrieval more " "difficult." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4191 ../src/guestfs-actions.pod:4209 -#: ../src/guestfs-actions.pod:4225 ../fish/guestfish-actions.pod:3239 -#: ../fish/guestfish-actions.pod:3254 ../fish/guestfish-actions.pod:3267 +#: ../src/guestfs-actions.pod:4214 ../src/guestfs-actions.pod:4232 +#: ../src/guestfs-actions.pod:4248 ../fish/guestfish-actions.pod:3256 +#: ../fish/guestfish-actions.pod:3271 ../fish/guestfish-actions.pod:3284 msgid "" "It is an interface to the L program. See that manual page for " "more details." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4199 +#: ../src/guestfs-actions.pod:4222 msgid "guestfs_scrub_file" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4201 +#: ../src/guestfs-actions.pod:4224 #, no-wrap msgid "" " int guestfs_scrub_file (guestfs_h *g,\n" @@ -11341,24 +11433,24 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4204 ../fish/guestfish-actions.pod:3249 +#: ../src/guestfs-actions.pod:4227 ../fish/guestfish-actions.pod:3266 msgid "" "This command writes patterns over a file to make data retrieval more " "difficult." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4207 ../fish/guestfish-actions.pod:3252 +#: ../src/guestfs-actions.pod:4230 ../fish/guestfish-actions.pod:3269 msgid "The file is I after scrubbing." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4214 +#: ../src/guestfs-actions.pod:4237 msgid "guestfs_scrub_freespace" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4216 +#: ../src/guestfs-actions.pod:4239 #, no-wrap msgid "" " int guestfs_scrub_freespace (guestfs_h *g,\n" @@ -11367,7 +11459,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4219 +#: ../src/guestfs-actions.pod:4242 msgid "" "This command creates the directory C and then fills it with files until " "the filesystem is full, and scrubs the files as for C, " @@ -11376,12 +11468,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4230 +#: ../src/guestfs-actions.pod:4253 msgid "guestfs_set_append" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4232 +#: ../src/guestfs-actions.pod:4255 #, no-wrap msgid "" " int guestfs_set_append (guestfs_h *g,\n" @@ -11390,33 +11482,33 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4235 ../fish/guestfish-actions.pod:3276 +#: ../src/guestfs-actions.pod:4258 ../fish/guestfish-actions.pod:3293 msgid "" "This function is used to add additional options to the guest kernel command " "line." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4238 ../fish/guestfish-actions.pod:3279 +#: ../src/guestfs-actions.pod:4261 ../fish/guestfish-actions.pod:3296 msgid "" "The default is C unless overridden by setting C " "environment variable." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4241 ../fish/guestfish-actions.pod:3282 +#: ../src/guestfs-actions.pod:4264 ../fish/guestfish-actions.pod:3299 msgid "" "Setting C to C means I additional options are passed " "(libguestfs always adds a few of its own)." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4246 +#: ../src/guestfs-actions.pod:4269 msgid "guestfs_set_autosync" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4248 +#: ../src/guestfs-actions.pod:4271 #, no-wrap msgid "" " int guestfs_set_autosync (guestfs_h *g,\n" @@ -11425,7 +11517,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4251 +#: ../src/guestfs-actions.pod:4274 msgid "" "If C is true, this enables autosync. Libguestfs will make a best " "effort attempt to run C followed by C when " @@ -11433,19 +11525,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4256 ../fish/guestfish-actions.pod:3296 +#: ../src/guestfs-actions.pod:4279 ../fish/guestfish-actions.pod:3313 msgid "" "This is disabled by default (except in guestfish where it is enabled by " "default)." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4261 +#: ../src/guestfs-actions.pod:4284 msgid "guestfs_set_direct" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4263 +#: ../src/guestfs-actions.pod:4286 #, no-wrap msgid "" " int guestfs_set_direct (guestfs_h *g,\n" @@ -11454,14 +11546,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4266 ../fish/guestfish-actions.pod:3305 +#: ../src/guestfs-actions.pod:4289 ../fish/guestfish-actions.pod:3322 msgid "" "If the direct appliance mode flag is enabled, then stdin and stdout are " "passed directly through to the appliance once it is launched." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4270 +#: ../src/guestfs-actions.pod:4293 msgid "" "One consequence of this is that log messages aren't caught by the library " "and handled by C, but go straight to " @@ -11469,22 +11561,22 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4274 ../fish/guestfish-actions.pod:3313 +#: ../src/guestfs-actions.pod:4297 ../fish/guestfish-actions.pod:3330 msgid "You probably don't want to use this unless you know what you are doing." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4277 ../fish/guestfish-actions.pod:3316 +#: ../src/guestfs-actions.pod:4300 ../fish/guestfish-actions.pod:3333 msgid "The default is disabled." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4281 +#: ../src/guestfs-actions.pod:4304 msgid "guestfs_set_e2label" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4283 +#: ../src/guestfs-actions.pod:4306 #, no-wrap msgid "" " int guestfs_set_e2label (guestfs_h *g,\n" @@ -11494,26 +11586,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4287 ../fish/guestfish-actions.pod:3322 +#: ../src/guestfs-actions.pod:4310 ../fish/guestfish-actions.pod:3339 msgid "" "This sets the ext2/3/4 filesystem label of the filesystem on C to " "C and then fills it with files until " "the filesystem is full, and scrubs the files as for L, and " @@ -20742,17 +20890,17 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3270 +#: ../fish/guestfish-actions.pod:3287 msgid "set-append" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3272 +#: ../fish/guestfish-actions.pod:3289 msgid "append" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3274 +#: ../fish/guestfish-actions.pod:3291 #, no-wrap msgid "" " set-append append\n" @@ -20760,17 +20908,17 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3285 +#: ../fish/guestfish-actions.pod:3302 msgid "set-autosync" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3287 +#: ../fish/guestfish-actions.pod:3304 msgid "autosync" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3289 +#: ../fish/guestfish-actions.pod:3306 #, no-wrap msgid "" " set-autosync true|false\n" @@ -20778,7 +20926,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3291 +#: ../fish/guestfish-actions.pod:3308 msgid "" "If C is true, this enables autosync. Libguestfs will make a best " "effort attempt to run L followed by L when the handle is " @@ -20786,17 +20934,17 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3299 +#: ../fish/guestfish-actions.pod:3316 msgid "set-direct" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3301 +#: ../fish/guestfish-actions.pod:3318 msgid "direct" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3303 +#: ../fish/guestfish-actions.pod:3320 #, no-wrap msgid "" " set-direct true|false\n" @@ -20804,19 +20952,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3309 +#: ../fish/guestfish-actions.pod:3326 msgid "" "One consequence of this is that log messages aren't caught by the library " "and handled by L, but go straight to stdout." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3318 +#: ../fish/guestfish-actions.pod:3335 msgid "set-e2label" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3320 +#: ../fish/guestfish-actions.pod:3337 #, no-wrap msgid "" " set-e2label device label\n" @@ -20824,19 +20972,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3326 +#: ../fish/guestfish-actions.pod:3343 msgid "" "You can use either L or L to return the existing " "label on a filesystem." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3329 +#: ../fish/guestfish-actions.pod:3346 msgid "set-e2uuid" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3331 +#: ../fish/guestfish-actions.pod:3348 #, no-wrap msgid "" " set-e2uuid device uuid\n" @@ -20844,24 +20992,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3338 +#: ../fish/guestfish-actions.pod:3355 msgid "" "You can use either L or L to return the existing " "UUID of a filesystem." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3341 +#: ../fish/guestfish-actions.pod:3358 msgid "set-memsize" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3343 +#: ../fish/guestfish-actions.pod:3360 msgid "memsize" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3345 +#: ../fish/guestfish-actions.pod:3362 #, no-wrap msgid "" " set-memsize memsize\n" @@ -20869,24 +21017,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3347 +#: ../fish/guestfish-actions.pod:3364 msgid "" "This sets the memory size in megabytes allocated to the qemu subprocess. " "This only has any effect if called before L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3358 +#: ../fish/guestfish-actions.pod:3375 msgid "set-network" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3360 +#: ../fish/guestfish-actions.pod:3377 msgid "network" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3362 +#: ../fish/guestfish-actions.pod:3379 #, no-wrap msgid "" " set-network true|false\n" @@ -20894,23 +21042,23 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3370 +#: ../fish/guestfish-actions.pod:3387 msgid "" "You must call this before calling L, otherwise it has no effect." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3373 +#: ../fish/guestfish-actions.pod:3390 msgid "set-path" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3375 +#: ../fish/guestfish-actions.pod:3392 msgid "path" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3377 +#: ../fish/guestfish-actions.pod:3394 #, no-wrap msgid "" " set-path searchpath\n" @@ -20918,17 +21066,17 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3386 +#: ../fish/guestfish-actions.pod:3403 msgid "set-qemu" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3388 +#: ../fish/guestfish-actions.pod:3405 msgid "qemu" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3390 +#: ../fish/guestfish-actions.pod:3407 #, no-wrap msgid "" " set-qemu qemu\n" @@ -20936,17 +21084,17 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3410 +#: ../fish/guestfish-actions.pod:3427 msgid "set-recovery-proc" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3412 +#: ../fish/guestfish-actions.pod:3429 msgid "recovery-proc" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3414 +#: ../fish/guestfish-actions.pod:3431 #, no-wrap msgid "" " set-recovery-proc true|false\n" @@ -20954,7 +21102,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3416 +#: ../fish/guestfish-actions.pod:3433 msgid "" "If this is called with the parameter C then L does not " "create a recovery process. The purpose of the recovery process is to stop " @@ -20962,24 +21110,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3421 +#: ../fish/guestfish-actions.pod:3438 msgid "" "This only has any effect if called before L, and the default is " "true." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3430 +#: ../fish/guestfish-actions.pod:3447 msgid "set-selinux" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3432 +#: ../fish/guestfish-actions.pod:3449 msgid "selinux" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3434 +#: ../fish/guestfish-actions.pod:3451 #, no-wrap msgid "" " set-selinux true|false\n" @@ -20987,17 +21135,17 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3445 +#: ../fish/guestfish-actions.pod:3462 msgid "set-trace" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3447 +#: ../fish/guestfish-actions.pod:3464 msgid "trace" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3449 +#: ../fish/guestfish-actions.pod:3466 #, no-wrap msgid "" " set-trace true|false\n" @@ -21005,17 +21153,17 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3465 +#: ../fish/guestfish-actions.pod:3482 msgid "set-verbose" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3467 +#: ../fish/guestfish-actions.pod:3484 msgid "verbose" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3469 +#: ../fish/guestfish-actions.pod:3486 #, no-wrap msgid "" " set-verbose true|false\n" @@ -21023,12 +21171,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3476 +#: ../fish/guestfish-actions.pod:3493 msgid "setcon" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3478 +#: ../fish/guestfish-actions.pod:3495 #, no-wrap msgid "" " setcon context\n" @@ -21036,12 +21184,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3485 +#: ../fish/guestfish-actions.pod:3502 msgid "setxattr" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3487 +#: ../fish/guestfish-actions.pod:3504 #, no-wrap msgid "" " setxattr xattr val vallen path\n" @@ -21049,17 +21197,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3493 +#: ../fish/guestfish-actions.pod:3510 msgid "See also: L, L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3495 +#: ../fish/guestfish-actions.pod:3512 msgid "sfdisk" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3497 +#: ../fish/guestfish-actions.pod:3514 #, no-wrap msgid "" " sfdisk device cyls heads sectors 'lines ...'\n" @@ -21067,17 +21215,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3519 +#: ../fish/guestfish-actions.pod:3536 msgid "See also: L, L, L" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3525 +#: ../fish/guestfish-actions.pod:3542 msgid "sfdiskM" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3527 +#: ../fish/guestfish-actions.pod:3544 #, no-wrap msgid "" " sfdiskM device 'lines ...'\n" @@ -21085,7 +21233,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3529 +#: ../fish/guestfish-actions.pod:3546 msgid "" "This is a simplified interface to the L command, where partition " "sizes are specified in megabytes only (rounded to the nearest cylinder) and " @@ -21094,17 +21242,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3535 +#: ../fish/guestfish-actions.pod:3552 msgid "See also: L, the L manpage and L" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3541 +#: ../fish/guestfish-actions.pod:3558 msgid "sfdisk-N" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3543 +#: ../fish/guestfish-actions.pod:3560 #, no-wrap msgid "" " sfdisk-N device partnum cyls heads sectors line\n" @@ -21112,24 +21260,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3548 +#: ../fish/guestfish-actions.pod:3565 msgid "" "For other parameters, see L. You should usually pass C<0> for the " "cyls/heads/sectors parameters." msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3551 +#: ../fish/guestfish-actions.pod:3568 msgid "See also: L" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3556 +#: ../fish/guestfish-actions.pod:3573 msgid "sfdisk-disk-geometry" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3558 +#: ../fish/guestfish-actions.pod:3575 #, no-wrap msgid "" " sfdisk-disk-geometry device\n" @@ -21137,7 +21285,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3560 +#: ../fish/guestfish-actions.pod:3577 msgid "" "This displays the disk geometry of C read from the partition table. " "Especially in the case where the underlying block device has been resized, " @@ -21146,12 +21294,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3568 +#: ../fish/guestfish-actions.pod:3585 msgid "sfdisk-kernel-geometry" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3570 +#: ../fish/guestfish-actions.pod:3587 #, no-wrap msgid "" " sfdisk-kernel-geometry device\n" @@ -21159,12 +21307,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3577 +#: ../fish/guestfish-actions.pod:3594 msgid "sfdisk-l" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3579 +#: ../fish/guestfish-actions.pod:3596 #, no-wrap msgid "" " sfdisk-l device\n" @@ -21172,17 +21320,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3585 +#: ../fish/guestfish-actions.pod:3602 msgid "See also: L" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3587 +#: ../fish/guestfish-actions.pod:3604 msgid "sh" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3589 +#: ../fish/guestfish-actions.pod:3606 #, no-wrap msgid "" " sh command\n" @@ -21190,22 +21338,22 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3594 +#: ../fish/guestfish-actions.pod:3611 msgid "This is like L, but passes the command to:" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3602 +#: ../fish/guestfish-actions.pod:3619 msgid "All the provisos about L apply to this call." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3604 +#: ../fish/guestfish-actions.pod:3621 msgid "sh-lines" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3606 +#: ../fish/guestfish-actions.pod:3623 #, no-wrap msgid "" " sh-lines command\n" @@ -21213,22 +21361,22 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3608 +#: ../fish/guestfish-actions.pod:3625 msgid "This is the same as L, but splits the result into a list of lines." msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3611 +#: ../fish/guestfish-actions.pod:3628 msgid "See also: L" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3613 +#: ../fish/guestfish-actions.pod:3630 msgid "sleep" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3615 +#: ../fish/guestfish-actions.pod:3632 #, no-wrap msgid "" " sleep secs\n" @@ -21236,12 +21384,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3619 +#: ../fish/guestfish-actions.pod:3636 msgid "stat" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3621 +#: ../fish/guestfish-actions.pod:3638 #, no-wrap msgid "" " stat path\n" @@ -21249,12 +21397,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3627 +#: ../fish/guestfish-actions.pod:3644 msgid "statvfs" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3629 +#: ../fish/guestfish-actions.pod:3646 #, no-wrap msgid "" " statvfs path\n" @@ -21262,12 +21410,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3637 +#: ../fish/guestfish-actions.pod:3654 msgid "strings" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3639 +#: ../fish/guestfish-actions.pod:3656 #, no-wrap msgid "" " strings path\n" @@ -21275,12 +21423,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3647 +#: ../fish/guestfish-actions.pod:3664 msgid "strings-e" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3649 +#: ../fish/guestfish-actions.pod:3666 #, no-wrap msgid "" " strings-e encoding path\n" @@ -21288,26 +21436,26 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3651 +#: ../fish/guestfish-actions.pod:3668 msgid "" "This is like the L command, but allows you to specify the encoding " "of strings that are looked for in the source file C." msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3661 +#: ../fish/guestfish-actions.pod:3678 msgid "" "Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of " "ISO-8859-X (this is what L uses)." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3693 +#: ../fish/guestfish-actions.pod:3710 msgid "swapoff-device" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3695 +#: ../fish/guestfish-actions.pod:3712 #, no-wrap msgid "" " swapoff-device device\n" @@ -21315,19 +21463,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3697 +#: ../fish/guestfish-actions.pod:3714 msgid "" "This command disables the libguestfs appliance swap device or partition " "named C. See L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3701 +#: ../fish/guestfish-actions.pod:3718 msgid "swapoff-file" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3703 +#: ../fish/guestfish-actions.pod:3720 #, no-wrap msgid "" " swapoff-file file\n" @@ -21335,12 +21483,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3707 +#: ../fish/guestfish-actions.pod:3724 msgid "swapoff-label" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3709 +#: ../fish/guestfish-actions.pod:3726 #, no-wrap msgid "" " swapoff-label label\n" @@ -21348,12 +21496,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3714 +#: ../fish/guestfish-actions.pod:3731 msgid "swapoff-uuid" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3716 +#: ../fish/guestfish-actions.pod:3733 #, no-wrap msgid "" " swapoff-uuid uuid\n" @@ -21361,12 +21509,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3721 +#: ../fish/guestfish-actions.pod:3738 msgid "swapon-device" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3723 +#: ../fish/guestfish-actions.pod:3740 #, no-wrap msgid "" " swapon-device device\n" @@ -21374,7 +21522,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3725 +#: ../fish/guestfish-actions.pod:3742 msgid "" "This command enables the libguestfs appliance to use the swap device or " "partition named C. The increased memory is made available for all " @@ -21382,12 +21530,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3737 +#: ../fish/guestfish-actions.pod:3754 msgid "swapon-file" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3739 +#: ../fish/guestfish-actions.pod:3756 #, no-wrap msgid "" " swapon-file file\n" @@ -21395,18 +21543,18 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3741 +#: ../fish/guestfish-actions.pod:3758 msgid "" "This command enables swap to a file. See L for other notes." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3744 +#: ../fish/guestfish-actions.pod:3761 msgid "swapon-label" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3746 +#: ../fish/guestfish-actions.pod:3763 #, no-wrap msgid "" " swapon-label label\n" @@ -21414,19 +21562,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3748 +#: ../fish/guestfish-actions.pod:3765 msgid "" "This command enables swap to a labeled swap partition. See L for other notes." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3751 +#: ../fish/guestfish-actions.pod:3768 msgid "swapon-uuid" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3753 +#: ../fish/guestfish-actions.pod:3770 #, no-wrap msgid "" " swapon-uuid uuid\n" @@ -21434,19 +21582,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3755 +#: ../fish/guestfish-actions.pod:3772 msgid "" "This command enables swap to a swap partition with the given UUID. See L for other notes." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3758 +#: ../fish/guestfish-actions.pod:3775 msgid "sync" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3760 +#: ../fish/guestfish-actions.pod:3777 #, no-wrap msgid "" " sync\n" @@ -21454,12 +21602,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3768 +#: ../fish/guestfish-actions.pod:3785 msgid "tail" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3770 +#: ../fish/guestfish-actions.pod:3787 #, no-wrap msgid "" " tail path\n" @@ -21467,12 +21615,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3778 +#: ../fish/guestfish-actions.pod:3795 msgid "tail-n" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3780 +#: ../fish/guestfish-actions.pod:3797 #, no-wrap msgid "" " tail-n nrlines path\n" @@ -21480,12 +21628,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3793 +#: ../fish/guestfish-actions.pod:3810 msgid "tar-in" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3795 +#: ../fish/guestfish-actions.pod:3812 #, no-wrap msgid "" " tar-in (tarfile|-) directory\n" @@ -21493,17 +21641,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3800 +#: ../fish/guestfish-actions.pod:3817 msgid "To upload a compressed tarball, use L or L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3805 +#: ../fish/guestfish-actions.pod:3822 msgid "tar-out" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3807 +#: ../fish/guestfish-actions.pod:3824 #, no-wrap msgid "" " tar-out directory (tarfile|-)\n" @@ -21511,17 +21659,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3812 +#: ../fish/guestfish-actions.pod:3829 msgid "To download a compressed tarball, use L or L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3817 +#: ../fish/guestfish-actions.pod:3834 msgid "tgz-in" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3819 +#: ../fish/guestfish-actions.pod:3836 #, no-wrap msgid "" " tgz-in (tarball|-) directory\n" @@ -21529,17 +21677,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3824 +#: ../fish/guestfish-actions.pod:3841 msgid "To upload an uncompressed tarball, use L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3828 +#: ../fish/guestfish-actions.pod:3845 msgid "tgz-out" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3830 +#: ../fish/guestfish-actions.pod:3847 #, no-wrap msgid "" " tgz-out directory (tarball|-)\n" @@ -21547,17 +21695,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3835 +#: ../fish/guestfish-actions.pod:3852 msgid "To download an uncompressed tarball, use L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3839 +#: ../fish/guestfish-actions.pod:3856 msgid "touch" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3841 +#: ../fish/guestfish-actions.pod:3858 #, no-wrap msgid "" " touch path\n" @@ -21565,12 +21713,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3850 +#: ../fish/guestfish-actions.pod:3867 msgid "truncate" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3852 +#: ../fish/guestfish-actions.pod:3869 #, no-wrap msgid "" " truncate path\n" @@ -21578,12 +21726,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3857 +#: ../fish/guestfish-actions.pod:3874 msgid "truncate-size" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3859 +#: ../fish/guestfish-actions.pod:3876 #, no-wrap msgid "" " truncate-size path size\n" @@ -21591,7 +21739,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3864 +#: ../fish/guestfish-actions.pod:3881 msgid "" "If the current file size is less than C then the file is extended to " "the required size with zero bytes. This creates a sparse file (ie. disk " @@ -21600,12 +21748,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3870 +#: ../fish/guestfish-actions.pod:3887 msgid "tune2fs-l" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3872 +#: ../fish/guestfish-actions.pod:3889 #, no-wrap msgid "" " tune2fs-l device\n" @@ -21613,12 +21761,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3882 +#: ../fish/guestfish-actions.pod:3899 msgid "txz-in" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3884 +#: ../fish/guestfish-actions.pod:3901 #, no-wrap msgid "" " txz-in (tarball|-) directory\n" @@ -21626,12 +21774,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3891 +#: ../fish/guestfish-actions.pod:3908 msgid "txz-out" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3893 +#: ../fish/guestfish-actions.pod:3910 #, no-wrap msgid "" " txz-out directory (tarball|-)\n" @@ -21639,12 +21787,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3900 +#: ../fish/guestfish-actions.pod:3917 msgid "umask" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3902 +#: ../fish/guestfish-actions.pod:3919 #, no-wrap msgid "" " umask mask\n" @@ -21652,22 +21800,22 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3916 +#: ../fish/guestfish-actions.pod:3933 msgid "See also L, L, L, L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3921 +#: ../fish/guestfish-actions.pod:3938 msgid "umount" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3923 +#: ../fish/guestfish-actions.pod:3940 msgid "unmount" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3925 +#: ../fish/guestfish-actions.pod:3942 #, no-wrap msgid "" " umount pathordevice\n" @@ -21675,17 +21823,17 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3931 +#: ../fish/guestfish-actions.pod:3948 msgid "umount-all" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3933 +#: ../fish/guestfish-actions.pod:3950 msgid "unmount-all" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3935 +#: ../fish/guestfish-actions.pod:3952 #, no-wrap msgid "" " umount-all\n" @@ -21693,12 +21841,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3941 +#: ../fish/guestfish-actions.pod:3958 msgid "upload" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3943 +#: ../fish/guestfish-actions.pod:3960 #, no-wrap msgid "" " upload (filename|-) remotefilename\n" @@ -21706,17 +21854,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3950 +#: ../fish/guestfish-actions.pod:3967 msgid "See also L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3954 +#: ../fish/guestfish-actions.pod:3971 msgid "upload-offset" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3956 +#: ../fish/guestfish-actions.pod:3973 #, no-wrap msgid "" " upload-offset (filename|-) remotefilename offset\n" @@ -21724,7 +21872,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3968 +#: ../fish/guestfish-actions.pod:3985 msgid "" "Note that there is no limit on the amount of data that can be uploaded with " "this call, unlike with L, and this call always writes the full " @@ -21732,17 +21880,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:3973 +#: ../fish/guestfish-actions.pod:3990 msgid "See also L, L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3977 +#: ../fish/guestfish-actions.pod:3994 msgid "utimens" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:3979 +#: ../fish/guestfish-actions.pod:3996 #, no-wrap msgid "" " utimens path atsecs atnsecs mtsecs mtnsecs\n" @@ -21750,12 +21898,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:3998 +#: ../fish/guestfish-actions.pod:4015 msgid "version" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4000 +#: ../fish/guestfish-actions.pod:4017 #, no-wrap msgid "" " version\n" @@ -21763,7 +21911,7 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4027 +#: ../fish/guestfish-actions.pod:4044 msgid "" "I Don't use this call to test for availability of features. In " "enterprise distributions we backport features from later versions into " @@ -21772,12 +21920,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4033 +#: ../fish/guestfish-actions.pod:4050 msgid "vfs-label" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4035 +#: ../fish/guestfish-actions.pod:4052 #, no-wrap msgid "" " vfs-label device\n" @@ -21785,17 +21933,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4042 +#: ../fish/guestfish-actions.pod:4059 msgid "To find a filesystem from the label, use L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4044 +#: ../fish/guestfish-actions.pod:4061 msgid "vfs-type" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4046 +#: ../fish/guestfish-actions.pod:4063 #, no-wrap msgid "" " vfs-type device\n" @@ -21803,12 +21951,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4056 +#: ../fish/guestfish-actions.pod:4073 msgid "vfs-uuid" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4058 +#: ../fish/guestfish-actions.pod:4075 #, no-wrap msgid "" " vfs-uuid device\n" @@ -21816,17 +21964,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4065 +#: ../fish/guestfish-actions.pod:4082 msgid "To find a filesystem from the UUID, use L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4067 +#: ../fish/guestfish-actions.pod:4084 msgid "vg-activate" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4069 +#: ../fish/guestfish-actions.pod:4086 #, no-wrap msgid "" " vg-activate true|false 'volgroups ...'\n" @@ -21834,12 +21982,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4082 +#: ../fish/guestfish-actions.pod:4099 msgid "vg-activate-all" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4084 +#: ../fish/guestfish-actions.pod:4101 #, no-wrap msgid "" " vg-activate-all true|false\n" @@ -21847,12 +21995,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4094 +#: ../fish/guestfish-actions.pod:4111 msgid "vgcreate" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4096 +#: ../fish/guestfish-actions.pod:4113 #, no-wrap msgid "" " vgcreate volgroup 'physvols ...'\n" @@ -21860,12 +22008,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4101 +#: ../fish/guestfish-actions.pod:4118 msgid "vglvuuids" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4103 +#: ../fish/guestfish-actions.pod:4120 #, no-wrap msgid "" " vglvuuids vgname\n" @@ -21873,24 +22021,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4108 +#: ../fish/guestfish-actions.pod:4125 msgid "" "You can use this along with L and L calls to associate " "logical volumes and volume groups." msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4111 +#: ../fish/guestfish-actions.pod:4128 msgid "See also L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4113 +#: ../fish/guestfish-actions.pod:4130 msgid "vgpvuuids" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4115 +#: ../fish/guestfish-actions.pod:4132 #, no-wrap msgid "" " vgpvuuids vgname\n" @@ -21898,24 +22046,24 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4120 +#: ../fish/guestfish-actions.pod:4137 msgid "" "You can use this along with L and L calls to associate " "physical volumes and volume groups." msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4123 +#: ../fish/guestfish-actions.pod:4140 msgid "See also L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4125 +#: ../fish/guestfish-actions.pod:4142 msgid "vgremove" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4127 +#: ../fish/guestfish-actions.pod:4144 #, no-wrap msgid "" " vgremove vgname\n" @@ -21923,12 +22071,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4134 +#: ../fish/guestfish-actions.pod:4151 msgid "vgrename" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4136 +#: ../fish/guestfish-actions.pod:4153 #, no-wrap msgid "" " vgrename volgroup newvolgroup\n" @@ -21936,12 +22084,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4140 +#: ../fish/guestfish-actions.pod:4157 msgid "vgs" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4142 +#: ../fish/guestfish-actions.pod:4159 #, no-wrap msgid "" " vgs\n" @@ -21949,17 +22097,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4150 +#: ../fish/guestfish-actions.pod:4167 msgid "See also L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4152 +#: ../fish/guestfish-actions.pod:4169 msgid "vgs-full" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4154 +#: ../fish/guestfish-actions.pod:4171 #, no-wrap msgid "" " vgs-full\n" @@ -21967,12 +22115,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4159 +#: ../fish/guestfish-actions.pod:4176 msgid "vgscan" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4161 +#: ../fish/guestfish-actions.pod:4178 #, no-wrap msgid "" " vgscan\n" @@ -21980,12 +22128,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4166 +#: ../fish/guestfish-actions.pod:4183 msgid "vguuid" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4168 +#: ../fish/guestfish-actions.pod:4185 #, no-wrap msgid "" " vguuid vgname\n" @@ -21993,12 +22141,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4172 +#: ../fish/guestfish-actions.pod:4189 msgid "wc-c" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4174 +#: ../fish/guestfish-actions.pod:4191 #, no-wrap msgid "" " wc-c path\n" @@ -22006,12 +22154,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4179 +#: ../fish/guestfish-actions.pod:4196 msgid "wc-l" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4181 +#: ../fish/guestfish-actions.pod:4198 #, no-wrap msgid "" " wc-l path\n" @@ -22019,12 +22167,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4186 +#: ../fish/guestfish-actions.pod:4203 msgid "wc-w" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4188 +#: ../fish/guestfish-actions.pod:4205 #, no-wrap msgid "" " wc-w path\n" @@ -22032,12 +22180,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4193 +#: ../fish/guestfish-actions.pod:4210 msgid "write" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4195 +#: ../fish/guestfish-actions.pod:4212 #, no-wrap msgid "" " write path content\n" @@ -22045,12 +22193,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4203 +#: ../fish/guestfish-actions.pod:4220 msgid "write-file" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4205 +#: ../fish/guestfish-actions.pod:4222 #, no-wrap msgid "" " write-file path content size\n" @@ -22058,12 +22206,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4228 +#: ../fish/guestfish-actions.pod:4245 msgid "zegrep" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4230 +#: ../fish/guestfish-actions.pod:4247 #, no-wrap msgid "" " zegrep regex path\n" @@ -22071,12 +22219,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4238 +#: ../fish/guestfish-actions.pod:4255 msgid "zegrepi" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4240 +#: ../fish/guestfish-actions.pod:4257 #, no-wrap msgid "" " zegrepi regex path\n" @@ -22084,12 +22232,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4248 +#: ../fish/guestfish-actions.pod:4265 msgid "zero" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4250 +#: ../fish/guestfish-actions.pod:4267 #, no-wrap msgid "" " zero device\n" @@ -22097,17 +22245,17 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4258 +#: ../fish/guestfish-actions.pod:4275 msgid "See also: L, L." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4260 +#: ../fish/guestfish-actions.pod:4277 msgid "zero-device" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4262 +#: ../fish/guestfish-actions.pod:4279 #, no-wrap msgid "" " zero-device device\n" @@ -22115,19 +22263,19 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4264 +#: ../fish/guestfish-actions.pod:4281 msgid "" "This command writes zeroes over the entire C. Compare with L " "which just zeroes the first few blocks of a device." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4271 +#: ../fish/guestfish-actions.pod:4288 msgid "zerofree" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4273 +#: ../fish/guestfish-actions.pod:4290 #, no-wrap msgid "" " zerofree device\n" @@ -22135,12 +22283,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4286 +#: ../fish/guestfish-actions.pod:4303 msgid "zfgrep" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4288 +#: ../fish/guestfish-actions.pod:4305 #, no-wrap msgid "" " zfgrep pattern path\n" @@ -22148,12 +22296,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4296 +#: ../fish/guestfish-actions.pod:4313 msgid "zfgrepi" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4298 +#: ../fish/guestfish-actions.pod:4315 #, no-wrap msgid "" " zfgrepi pattern path\n" @@ -22161,12 +22309,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4306 +#: ../fish/guestfish-actions.pod:4323 msgid "zfile" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4308 +#: ../fish/guestfish-actions.pod:4325 #, no-wrap msgid "" " zfile meth path\n" @@ -22174,18 +22322,18 @@ msgid "" msgstr "" # type: textblock -#: ../fish/guestfish-actions.pod:4315 +#: ../fish/guestfish-actions.pod:4332 msgid "" "Since 1.0.63, use L instead which can now process compressed files." msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4325 +#: ../fish/guestfish-actions.pod:4342 msgid "zgrep" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4327 +#: ../fish/guestfish-actions.pod:4344 #, no-wrap msgid "" " zgrep regex path\n" @@ -22193,12 +22341,12 @@ msgid "" msgstr "" # type: =head2 -#: ../fish/guestfish-actions.pod:4335 +#: ../fish/guestfish-actions.pod:4352 msgid "zgrepi" msgstr "" # type: verbatim -#: ../fish/guestfish-actions.pod:4337 +#: ../fish/guestfish-actions.pod:4354 #, no-wrap msgid "" " zgrepi regex path\n" @@ -23291,50 +23439,49 @@ msgid "" msgstr "" # type: textblock -#: ../inspector/virt-inspector.pl:85 ../tools/virt-cat.pl:90 -#: ../tools/virt-df.pl:81 ../tools/virt-edit.pl:83 -#: ../tools/virt-list-filesystems.pl:60 ../tools/virt-list-partitions.pl:61 -#: ../tools/virt-ls.pl:89 ../tools/virt-make-fs.pl:163 -#: ../tools/virt-rescue.pl:113 ../tools/virt-tar.pl:109 -#: ../tools/virt-win-reg.pl:182 +#: ../inspector/virt-inspector.pl:85 ../tools/virt-edit.pl:83 +#: ../tools/virt-win-reg.pl:182 ../tools/virt-df.pl:81 ../tools/virt-ls.pl:89 +#: ../tools/virt-list-filesystems.pl:60 ../tools/virt-cat.pl:90 +#: ../tools/virt-tar.pl:109 ../tools/virt-rescue.pl:113 +#: ../tools/virt-make-fs.pl:163 ../tools/virt-list-partitions.pl:61 msgid "Display brief help." msgstr "" # type: =item -#: ../inspector/virt-inspector.pl:91 ../tools/virt-cat.pl:96 -#: ../tools/virt-df.pl:87 ../tools/virt-edit.pl:89 -#: ../tools/virt-list-filesystems.pl:66 ../tools/virt-list-partitions.pl:67 -#: ../tools/virt-ls.pl:95 ../tools/virt-make-fs.pl:169 -#: ../tools/virt-rescue.pl:119 ../tools/virt-resize.pl:249 -#: ../tools/virt-tar.pl:115 ../tools/virt-win-reg.pl:188 +#: ../inspector/virt-inspector.pl:91 ../tools/virt-edit.pl:89 +#: ../tools/virt-win-reg.pl:188 ../tools/virt-df.pl:87 ../tools/virt-ls.pl:95 +#: ../tools/virt-resize.pl:249 ../tools/virt-list-filesystems.pl:66 +#: ../tools/virt-cat.pl:96 ../tools/virt-tar.pl:115 +#: ../tools/virt-rescue.pl:119 ../tools/virt-make-fs.pl:169 +#: ../tools/virt-list-partitions.pl:67 msgid "B<--version>" msgstr "" # type: textblock -#: ../inspector/virt-inspector.pl:93 ../tools/virt-cat.pl:98 -#: ../tools/virt-df.pl:89 ../tools/virt-edit.pl:91 -#: ../tools/virt-list-filesystems.pl:68 ../tools/virt-list-partitions.pl:69 -#: ../tools/virt-ls.pl:97 ../tools/virt-make-fs.pl:171 -#: ../tools/virt-rescue.pl:121 ../tools/virt-resize.pl:251 -#: ../tools/virt-tar.pl:117 ../tools/virt-win-reg.pl:190 +#: ../inspector/virt-inspector.pl:93 ../tools/virt-edit.pl:91 +#: ../tools/virt-win-reg.pl:190 ../tools/virt-df.pl:89 ../tools/virt-ls.pl:97 +#: ../tools/virt-resize.pl:251 ../tools/virt-list-filesystems.pl:68 +#: ../tools/virt-cat.pl:98 ../tools/virt-tar.pl:117 +#: ../tools/virt-rescue.pl:121 ../tools/virt-make-fs.pl:171 +#: ../tools/virt-list-partitions.pl:69 msgid "Display version number and exit." msgstr "" # type: =item -#: ../inspector/virt-inspector.pl:99 ../tools/virt-cat.pl:104 -#: ../tools/virt-df.pl:95 ../tools/virt-edit.pl:113 -#: ../tools/virt-list-filesystems.pl:74 ../tools/virt-list-partitions.pl:75 -#: ../tools/virt-ls.pl:103 ../tools/virt-rescue.pl:135 -#: ../tools/virt-tar.pl:123 ../tools/virt-win-reg.pl:204 +#: ../inspector/virt-inspector.pl:99 ../tools/virt-edit.pl:113 +#: ../tools/virt-win-reg.pl:204 ../tools/virt-df.pl:95 ../tools/virt-ls.pl:103 +#: ../tools/virt-list-filesystems.pl:74 ../tools/virt-cat.pl:104 +#: ../tools/virt-tar.pl:123 ../tools/virt-rescue.pl:135 +#: ../tools/virt-list-partitions.pl:75 msgid "B<--connect URI> | B<-c URI>" msgstr "" # type: textblock -#: ../inspector/virt-inspector.pl:101 ../tools/virt-cat.pl:106 -#: ../tools/virt-df.pl:97 ../tools/virt-edit.pl:115 -#: ../tools/virt-list-filesystems.pl:76 ../tools/virt-list-partitions.pl:77 -#: ../tools/virt-ls.pl:105 ../tools/virt-rescue.pl:137 -#: ../tools/virt-tar.pl:125 ../tools/virt-win-reg.pl:206 +#: ../inspector/virt-inspector.pl:101 ../tools/virt-edit.pl:115 +#: ../tools/virt-win-reg.pl:206 ../tools/virt-df.pl:97 ../tools/virt-ls.pl:105 +#: ../tools/virt-list-filesystems.pl:76 ../tools/virt-cat.pl:106 +#: ../tools/virt-tar.pl:125 ../tools/virt-rescue.pl:137 +#: ../tools/virt-list-partitions.pl:77 msgid "" "If using libvirt, connect to the given I. If omitted, then we connect " "to the default libvirt hypervisor." @@ -23727,12 +23874,12 @@ msgid "" msgstr "" # type: textblock -#: ../inspector/virt-inspector.pl:857 ../tools/virt-cat.pl:175 -#: ../tools/virt-df.pl:547 ../tools/virt-edit.pl:339 -#: ../tools/virt-list-filesystems.pl:205 ../tools/virt-list-partitions.pl:242 -#: ../tools/virt-ls.pl:223 ../tools/virt-make-fs.pl:554 -#: ../tools/virt-rescue.pl:243 ../tools/virt-resize.pl:1409 -#: ../tools/virt-tar.pl:270 ../tools/virt-win-reg.pl:489 +#: ../inspector/virt-inspector.pl:857 ../tools/virt-edit.pl:339 +#: ../tools/virt-win-reg.pl:489 ../tools/virt-df.pl:547 +#: ../tools/virt-ls.pl:223 ../tools/virt-resize.pl:1409 +#: ../tools/virt-list-filesystems.pl:205 ../tools/virt-cat.pl:175 +#: ../tools/virt-tar.pl:270 ../tools/virt-rescue.pl:243 +#: ../tools/virt-make-fs.pl:554 ../tools/virt-list-partitions.pl:242 msgid "Richard W.M. Jones L" msgstr "" @@ -23742,810 +23889,941 @@ msgid "Matthew Booth L" msgstr "" # type: textblock -#: ../inspector/virt-inspector.pl:863 ../tools/virt-cat.pl:179 -#: ../tools/virt-list-filesystems.pl:209 ../tools/virt-ls.pl:227 +#: ../inspector/virt-inspector.pl:863 ../tools/virt-ls.pl:227 +#: ../tools/virt-list-filesystems.pl:209 ../tools/virt-cat.pl:179 #: ../tools/virt-tar.pl:274 msgid "Copyright (C) 2009 Red Hat Inc." msgstr "" # type: textblock -#: ../tools/virt-cat.pl:34 -msgid "virt-cat - Display a file in a virtual machine" +#: ../tools/virt-edit.pl:35 +msgid "virt-edit - Edit a file in a virtual machine" msgstr "" # type: verbatim -#: ../tools/virt-cat.pl:38 +#: ../tools/virt-edit.pl:39 #, no-wrap msgid "" -" virt-cat [--options] domname file\n" +" virt-edit [--options] domname file\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-cat.pl:40 +#: ../tools/virt-edit.pl:41 #, no-wrap msgid "" -" virt-cat [--options] disk.img [disk.img ...] file\n" +" virt-edit [--options] disk.img [disk.img ...] file\n" "\n" msgstr "" -# type: textblock -#: ../tools/virt-cat.pl:44 +# type: verbatim +#: ../tools/virt-edit.pl:43 +#, no-wrap msgid "" -"C is a command line tool to display the contents of C where " -"C exists in the named virtual machine (or disk image)." +" virt-edit [domname|disk.img] file -e 'expr'\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-cat.pl:47 +#: ../tools/virt-edit.pl:47 msgid "" -"C can be used to quickly view a single file. To edit a file, use " -"C. For more complex cases you should look at the L " -"tool." +"You must I use C on live virtual machines. If you do this, " +"you risk disk corruption in the VM. C tries to stop you from " +"doing this, but doesn't catch all cases." msgstr "" # type: textblock -#: ../tools/virt-cat.pl:53 +#: ../tools/virt-edit.pl:53 msgid "" -"Display C file from inside the libvirt VM called C:" +"C is a command line tool to edit C where C exists in " +"the named virtual machine (or disk image)." msgstr "" -# type: verbatim -#: ../tools/virt-cat.pl:56 -#, no-wrap +# type: textblock +#: ../tools/virt-edit.pl:56 msgid "" -" virt-cat mydomain /etc/fstab\n" -"\n" +"If you want to just view a file, use L. For more complex cases " +"you should look at the L tool." msgstr "" # type: textblock -#: ../tools/virt-cat.pl:58 -msgid "List syslog messages from a VM:" +#: ../tools/virt-edit.pl:61 +msgid "Edit the named files interactively:" msgstr "" # type: verbatim -#: ../tools/virt-cat.pl:60 +#: ../tools/virt-edit.pl:63 #, no-wrap msgid "" -" virt-cat mydomain /var/log/messages | tail\n" +" virt-edit mydomain /boot/grub/grub.conf\n" "\n" msgstr "" -# type: textblock -#: ../tools/virt-cat.pl:62 -msgid "Find out what DHCP IP address a VM acquired:" -msgstr "" - # type: verbatim -#: ../tools/virt-cat.pl:64 +#: ../tools/virt-edit.pl:65 #, no-wrap msgid "" -" virt-cat mydomain /var/log/messages | grep 'dhclient: bound to' | tail\n" +" virt-edit mydomain /etc/passwd\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-cat.pl:66 -msgid "Find out what packages were recently installed:" +#: ../tools/virt-edit.pl:67 +msgid "" +"You can also edit files non-interactively (see L " +"below). To change the init default level to 5:" msgstr "" # type: verbatim -#: ../tools/virt-cat.pl:68 +#: ../tools/virt-edit.pl:71 #, no-wrap msgid "" -" virt-cat mydomain /var/log/yum.log | tail\n" +" virt-edit mydomain /etc/inittab -e 's/^id:.*/id:5:initdefault:/'\n" "\n" msgstr "" -# type: textblock -#: ../tools/virt-cat.pl:70 -msgid "Find out who is logged on inside a virtual machine:" +# type: =item +#: ../tools/virt-edit.pl:97 +msgid "B<--backup extension> | B<-b extension>" msgstr "" -# type: verbatim -#: ../tools/virt-cat.pl:72 -#, no-wrap +# type: textblock +#: ../tools/virt-edit.pl:99 msgid "" -" virt-cat mydomain /var/run/utmp > /tmp/utmp\n" -" who /tmp/utmp\n" -"\n" +"Create a backup of the original file I. The backup " +"has the original filename with C added." msgstr "" # type: textblock -#: ../tools/virt-cat.pl:75 -msgid "or who was logged on:" +#: ../tools/virt-edit.pl:102 +msgid "" +"Usually the first character of C would be a dot C<.> so you would " +"write:" msgstr "" # type: verbatim -#: ../tools/virt-cat.pl:77 +#: ../tools/virt-edit.pl:105 #, no-wrap msgid "" -" virt-cat mydomain /var/log/wtmp > /tmp/wtmp\n" -" last -f /tmp/wtmp\n" +" virt-edit -b .orig [etc]\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-cat.pl:109 ../tools/virt-df.pl:100 ../tools/virt-edit.pl:118 -#: ../tools/virt-list-filesystems.pl:79 ../tools/virt-list-partitions.pl:80 -#: ../tools/virt-ls.pl:108 ../tools/virt-rescue.pl:140 -#: ../tools/virt-tar.pl:128 ../tools/virt-win-reg.pl:209 -msgid "" -"If you specify guest block devices directly, then libvirt is not used at all." +#: ../tools/virt-edit.pl:107 +msgid "By default, no backup file is made." msgstr "" # type: textblock -#: ../tools/virt-cat.pl:165 +#: ../tools/virt-edit.pl:118 ../tools/virt-win-reg.pl:209 +#: ../tools/virt-df.pl:100 ../tools/virt-ls.pl:108 +#: ../tools/virt-list-filesystems.pl:79 ../tools/virt-cat.pl:109 +#: ../tools/virt-tar.pl:128 ../tools/virt-rescue.pl:140 +#: ../tools/virt-list-partitions.pl:80 msgid "" -"L, L, L, L, L, L, L." +"If you specify guest block devices directly, then libvirt is not used at all." msgstr "" -# type: =head1 -#: ../tools/virt-cat.pl:173 ../tools/virt-df.pl:545 ../tools/virt-edit.pl:337 -#: ../tools/virt-list-filesystems.pl:203 ../tools/virt-list-partitions.pl:240 -#: ../tools/virt-ls.pl:221 ../tools/virt-make-fs.pl:552 -#: ../tools/virt-rescue.pl:241 ../tools/virt-resize.pl:1407 -#: ../tools/virt-tar.pl:268 ../tools/virt-win-reg.pl:487 -msgid "AUTHOR" +# type: =item +#: ../tools/virt-edit.pl:125 +msgid "B<--expr EXPR> | B<-e EXPR>" msgstr "" # type: textblock -#: ../tools/virt-df.pl:36 -msgid "virt-df - Display free space on virtual filesystems" +#: ../tools/virt-edit.pl:127 +msgid "" +"Instead of launching the external editor, non-interactively apply the Perl " +"expression C to each line in the file. See L below." msgstr "" -# type: verbatim -#: ../tools/virt-df.pl:40 -#, no-wrap +# type: textblock +#: ../tools/virt-edit.pl:131 msgid "" -" virt-df [--options]\n" -"\n" +"Be careful to properly quote the expression to prevent it from being altered " +"by the shell." msgstr "" -# type: verbatim -#: ../tools/virt-df.pl:42 -#, no-wrap -msgid "" -" virt-df [--options] domname\n" -"\n" +# type: =head1 +#: ../tools/virt-edit.pl:250 +msgid "NON-INTERACTIVE EDITING" msgstr "" -# type: verbatim -#: ../tools/virt-df.pl:44 -#, no-wrap +# type: textblock +#: ../tools/virt-edit.pl:252 msgid "" -" virt-df [--options] disk.img [disk.img ...]\n" -"\n" +"C normally calls out to C<$EDITOR> (or vi) so the system " +"administrator can interactively edit the file." msgstr "" # type: textblock -#: ../tools/virt-df.pl:48 +#: ../tools/virt-edit.pl:255 msgid "" -"C is a command line tool to display free space on virtual machine " -"filesystems. Unlike other tools, it doesn't just display the amount of " -"space allocated to a virtual machine, but can look inside the virtual " -"machine to see how much space is really being used." +"There are two ways also to use C from scripts in order to make " +"automated edits to files. (Note that although you I use C " +"like this, it's less error-prone to write scripts directly using the " +"libguestfs API and Augeas for configuration file editing.)" msgstr "" # type: textblock -#: ../tools/virt-df.pl:53 +#: ../tools/virt-edit.pl:261 msgid "" -"It is like the L command, but for virtual machines, except that it " -"also works for Windows virtual machines." +"The first method is to temporarily set C<$EDITOR> to any script or program " +"you want to run. The script is invoked as C<$EDITOR tmpfile> and it should " +"update C in place however it likes." msgstr "" # type: textblock -#: ../tools/virt-df.pl:56 +#: ../tools/virt-edit.pl:265 msgid "" -"If used without any arguments, C checks with libvirt to get a list " -"of all active and inactive guests, and performs a C-type operation on " -"each one in turn, printing out the results." +"The second method is to use the C<-e> parameter of C to run a " +"short Perl snippet in the style of L. For example to replace all " +"instances of C with C in a file:" msgstr "" -# type: textblock -#: ../tools/virt-df.pl:60 +# type: verbatim +#: ../tools/virt-edit.pl:269 +#, no-wrap msgid "" -"If used with any argument(s), C performs a C-type operation on " -"either the single named libvirt domain, or on the disk image(s) listed on " -"the command line (which must all belong to a single VM). In this mode (with " -"arguments), C will I. If you want to " -"run on multiple guests, then you have to invoke C multiple times." +" virt-edit domname filename -e 's/foo/bar/'\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-df.pl:67 +#: ../tools/virt-edit.pl:271 msgid "" -"Use the C<--csv> option to get a format which can be easily parsed by other " -"programs. Other options are mostly similar to standard C options. See " -"below for the complete list." -msgstr "" - -# type: =item -#: ../tools/virt-df.pl:107 -msgid "B<--csv>" +"The full power of Perl regular expressions can be used (see L). " +"For example to delete root's password you could do:" msgstr "" -# type: textblock -#: ../tools/virt-df.pl:109 +# type: verbatim +#: ../tools/virt-edit.pl:274 +#, no-wrap msgid "" -"Write out the results in CSV format (comma-separated values). This format " -"can be imported easily into databases and spreadsheets, but read L below." -msgstr "" - -# type: =item -#: ../tools/virt-df.pl:117 -msgid "B<--human-readable> | B<-h>" -msgstr "" - -# type: textblock -#: ../tools/virt-df.pl:119 -msgid "Print sizes in human-readable format." -msgstr "" - -# type: textblock -#: ../tools/virt-df.pl:121 -msgid "You are not allowed to use I<-h> and I<--csv> at the same time." -msgstr "" - -# type: =item -#: ../tools/virt-df.pl:127 -msgid "B<--inodes> | B<-i>" +" virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-df.pl:129 -msgid "Print inodes instead of blocks." -msgstr "" - -# type: =item -#: ../tools/virt-df.pl:135 -msgid "B<--one-per-guest>" +#: ../tools/virt-edit.pl:276 +msgid "" +"What really happens is that the snippet is evaluated as a Perl expression " +"for each line of the file. The line, including the final C<\\n>, is passed " +"in C<$_> and the expression should update C<$_> or leave it unchanged." msgstr "" # type: textblock -#: ../tools/virt-df.pl:137 +#: ../tools/virt-edit.pl:281 msgid "" -"Run one libguestfs appliance per guest. Normally C will add the " -"disks from several guests to a single libguestfs appliance." +"To delete a line, set C<$_> to the empty string. For example, to delete the " +"C user account from the password file you can do:" msgstr "" -# type: textblock -#: ../tools/virt-df.pl:140 -msgid "You might use this option in the following circumstances:" +# type: verbatim +#: ../tools/virt-edit.pl:284 +#, no-wrap +msgid "" +" virt-edit mydomain /etc/passwd -e '$_ = \"\" if /^apache:/'\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-df.pl:146 +#: ../tools/virt-edit.pl:286 msgid "" -"If you think an untrusted guest might actively try to exploit the libguestfs " -"appliance kernel, then this prevents one guest from interfering with the " -"stats printed for another guest." +"To insert a line, prepend or append it to C<$_>. However appending lines to " +"the end of the file is rather difficult this way since there is no concept " +"of \"last line of the file\" - your expression just doesn't get called " +"again. You might want to use the first method (setting C<$EDITOR>) if you " +"want to do this." msgstr "" # type: textblock -#: ../tools/virt-df.pl:152 +#: ../tools/virt-edit.pl:292 msgid "" -"If the kernel has a bug which stops it from accessing a filesystem in one " -"guest (see for example RHBZ#635373) then this allows libguestfs to continue " -"and report stats for further guests." -msgstr "" - -# type: =head1 -#: ../tools/virt-df.pl:512 -msgid "NOTE ABOUT CSV FORMAT" +"The variable C<$lineno> contains the current line number. As is " +"traditional, the first line in the file is number C<1>." msgstr "" # type: textblock -#: ../tools/virt-df.pl:514 +#: ../tools/virt-edit.pl:295 msgid "" -"Comma-separated values (CSV) is a deceptive format. It I like it " -"should be easy to parse, but it is definitely not easy to parse." +"The return value from the expression is ignored, but the expression may call " +"C in order to abort the whole program, leaving the original file " +"untouched." msgstr "" # type: textblock -#: ../tools/virt-df.pl:517 +#: ../tools/virt-edit.pl:299 msgid "" -"Myth: Just split fields at commas. Reality: This does I work " -"reliably. This example has two columns:" +"Remember when matching the end of a line that C<$_> may contain the final C<" +"\\n>, or (for DOS files) C<\\r\\n>, or if the file does not end with a " +"newline then neither of these. Thus to match or substitute some text at the " +"end of a line, use this regular expression:" msgstr "" # type: verbatim -#: ../tools/virt-df.pl:520 +#: ../tools/virt-edit.pl:304 #, no-wrap msgid "" -" \"foo,bar\",baz\n" +" /some text(\\r?\\n)?$/\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-df.pl:522 +#: ../tools/virt-edit.pl:306 msgid "" -"Myth: Read the file one line at a time. Reality: This does I work " -"reliably. This example has one row:" +"Alternately, use the perl C function, being careful not to chomp C<" +"$_> itself (since that would remove all newlines from the file):" msgstr "" # type: verbatim -#: ../tools/virt-df.pl:525 +#: ../tools/virt-edit.pl:310 #, no-wrap msgid "" -" \"foo\n" -" bar\",baz\n" +" my $m = $_; chomp $m; $m =~ /some text$/\n" "\n" msgstr "" +# type: =item +#: ../tools/virt-edit.pl:316 +msgid "C" +msgstr "" + # type: textblock -#: ../tools/virt-df.pl:528 +#: ../tools/virt-edit.pl:318 msgid "" -"For shell scripts, use C (L also " -"packaged in major Linux distributions)." +"If set, this string is used as the editor. It may contain arguments, eg. C<" +"\"emacs -nw\">" msgstr "" # type: textblock -#: ../tools/virt-df.pl:531 -msgid "" -"For other languages, use a CSV processing library (eg. C for Perl " -"or Python's built-in csv library)." +#: ../tools/virt-edit.pl:321 +msgid "If not set, C is used." msgstr "" # type: textblock -#: ../tools/virt-df.pl:534 -msgid "Most spreadsheets and databases can import CSV directly." +#: ../tools/virt-edit.pl:327 +msgid "" +"L, L, L, L, L, L, L, L, " +"L." +msgstr "" + +# type: =head1 +#: ../tools/virt-edit.pl:337 ../tools/virt-win-reg.pl:487 +#: ../tools/virt-df.pl:545 ../tools/virt-ls.pl:221 +#: ../tools/virt-resize.pl:1407 ../tools/virt-list-filesystems.pl:203 +#: ../tools/virt-cat.pl:173 ../tools/virt-tar.pl:268 +#: ../tools/virt-rescue.pl:241 ../tools/virt-make-fs.pl:552 +#: ../tools/virt-list-partitions.pl:240 +msgid "AUTHOR" msgstr "" # type: textblock -#: ../tools/virt-df.pl:551 ../tools/virt-edit.pl:343 -#: ../tools/virt-list-partitions.pl:246 ../tools/virt-rescue.pl:247 +#: ../tools/virt-edit.pl:343 ../tools/virt-df.pl:551 +#: ../tools/virt-rescue.pl:247 ../tools/virt-list-partitions.pl:246 msgid "Copyright (C) 2009-2010 Red Hat Inc." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:35 -msgid "virt-edit - Edit a file in a virtual machine" +#: ../tools/virt-win-reg.pl:38 +msgid "" +"virt-win-reg - Export and merge Windows Registry entries from a Windows guest" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:39 +#: ../tools/virt-win-reg.pl:42 #, no-wrap msgid "" -" virt-edit [--options] domname file\n" +" virt-win-reg domname 'HKLM\\Path\\To\\Subkey'\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:41 +#: ../tools/virt-win-reg.pl:44 #, no-wrap msgid "" -" virt-edit [--options] disk.img [disk.img ...] file\n" +" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' name\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:43 +#: ../tools/virt-win-reg.pl:46 #, no-wrap msgid "" -" virt-edit [domname|disk.img] file -e 'expr'\n" +" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' @\n" +"\n" +msgstr "" + +# type: verbatim +#: ../tools/virt-win-reg.pl:48 +#, no-wrap +msgid "" +" virt-win-reg --merge domname [input.reg ...]\n" +"\n" +msgstr "" + +# type: verbatim +#: ../tools/virt-win-reg.pl:50 +#, no-wrap +msgid "" +" virt-win-reg [--options] disk.img ... # instead of domname\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:47 +#: ../tools/virt-win-reg.pl:54 msgid "" -"You must I use C on live virtual machines. If you do this, " -"you risk disk corruption in the VM. C tries to stop you from " -"doing this, but doesn't catch all cases." +"You must I use C with the C<--merge> option on live " +"virtual machines. If you do this, you I get irreversible disk " +"corruption in the VM. C tries to stop you from doing this, " +"but doesn't catch all cases." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:53 +#: ../tools/virt-win-reg.pl:59 msgid "" -"C is a command line tool to edit C where C exists in " -"the named virtual machine (or disk image)." +"Modifying the Windows Registry is an inherently risky operation. The format " +"is deliberately obscure and undocumented, and Registry changes can leave the " +"system unbootable. Therefore when using the C<--merge> option, make sure " +"you have a reliable backup first." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:56 +#: ../tools/virt-win-reg.pl:66 msgid "" -"If you want to just view a file, use L. For more complex cases " -"you should look at the L tool." +"This program can export and merge Windows Registry entries from a Windows " +"guest." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:61 -msgid "Edit the named files interactively:" +#: ../tools/virt-win-reg.pl:69 +msgid "" +"The first parameter is the libvirt guest name or the raw disk image of a " +"Windows guest." msgstr "" -# type: verbatim -#: ../tools/virt-edit.pl:63 -#, no-wrap +# type: textblock +#: ../tools/virt-win-reg.pl:72 msgid "" -" virt-edit mydomain /boot/grub/grub.conf\n" -"\n" +"If C<--merge> is I specified, then the chosen registry key is displayed/" +"exported (recursively). For example:" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:65 +#: ../tools/virt-win-reg.pl:75 #, no-wrap msgid "" -" virt-edit mydomain /etc/passwd\n" +" $ virt-win-reg Windows7 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft'\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:67 +#: ../tools/virt-win-reg.pl:77 msgid "" -"You can also edit files non-interactively (see L " -"below). To change the init default level to 5:" +"You can also display single values from within registry keys, for example:" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:71 +#: ../tools/virt-win-reg.pl:80 #, no-wrap msgid "" -" virt-edit mydomain /etc/inittab -e 's/^id:.*/id:5:initdefault:/'\n" +" $ cvkey='HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion'\n" +" $ virt-win-reg Windows7 $cvkey ProductName\n" +" Windows 7 Enterprise\n" "\n" msgstr "" -# type: =item -#: ../tools/virt-edit.pl:97 -msgid "B<--backup extension> | B<-b extension>" -msgstr "" - -# type: textblock -#: ../tools/virt-edit.pl:99 -msgid "" -"Create a backup of the original file I. The backup " -"has the original filename with C added." -msgstr "" - # type: textblock -#: ../tools/virt-edit.pl:102 +#: ../tools/virt-win-reg.pl:84 msgid "" -"Usually the first character of C would be a dot C<.> so you would " -"write:" +"With C<--merge>, you can merge a textual regedit file into the Windows " +"Registry:" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:105 +#: ../tools/virt-win-reg.pl:87 #, no-wrap msgid "" -" virt-edit -b .orig [etc]\n" +" $ virt-win-reg --merge Windows7 changes.reg\n" "\n" msgstr "" +# type: =head2 +#: ../tools/virt-win-reg.pl:89 +msgid "SUPPORTED SYSTEMS" +msgstr "" + # type: textblock -#: ../tools/virt-edit.pl:107 -msgid "By default, no backup file is made." +#: ../tools/virt-win-reg.pl:91 +msgid "" +"The program currently supports Windows NT-derived guests starting with " +"Windows XP through to at least Windows 7." msgstr "" -# type: =item -#: ../tools/virt-edit.pl:125 -msgid "B<--expr EXPR> | B<-e EXPR>" +# type: textblock +#: ../tools/virt-win-reg.pl:94 +msgid "" +"Registry support is done for C, C, C, C " +"and C." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:127 +#: ../tools/virt-win-reg.pl:98 msgid "" -"Instead of launching the external editor, non-interactively apply the Perl " -"expression C to each line in the file. See L below." +"You can use C as a shorthand for C, and C for " +"C." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:131 +#: ../tools/virt-win-reg.pl:101 msgid "" -"Be careful to properly quote the expression to prevent it from being altered " -"by the shell." +"C and C are B supported at this " +"time." msgstr "" -# type: =head1 -#: ../tools/virt-edit.pl:250 -msgid "NON-INTERACTIVE EDITING" +# type: =head2 +#: ../tools/virt-win-reg.pl:104 +msgid "NOTE" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:252 +#: ../tools/virt-win-reg.pl:106 msgid "" -"C normally calls out to C<$EDITOR> (or vi) so the system " -"administrator can interactively edit the file." +"This program is only meant for simple access to the registry. If you want " +"to do complicated things with the registry, we suggest you download the " +"Registry hive files from the guest using L or L " +"and access them locally, eg. using L, L or " +"L." msgstr "" -# type: textblock -#: ../tools/virt-edit.pl:255 -msgid "" -"There are two ways also to use C from scripts in order to make " -"automated edits to files. (Note that although you I use C " -"like this, it's less error-prone to write scripts directly using the " -"libguestfs API and Augeas for configuration file editing.)" +# type: =head2 +#: ../tools/virt-win-reg.pl:112 +msgid "ENCODING" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:261 +#: ../tools/virt-win-reg.pl:114 msgid "" -"The first method is to temporarily set C<$EDITOR> to any script or program " -"you want to run. The script is invoked as C<$EDITOR tmpfile> and it should " -"update C in place however it likes." +"C expects that regedit files have already been reencoded in " +"the local encoding. Usually on Linux hosts, this means UTF-8 with Unix-" +"style line endings. Since Windows regedit files are often in UTF-16LE with " +"Windows-style line endings, you may need to reencode the whole file before " +"or after processing." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:265 +#: ../tools/virt-win-reg.pl:120 msgid "" -"The second method is to use the C<-e> parameter of C to run a " -"short Perl snippet in the style of L. For example to replace all " -"instances of C with C in a file:" +"To reencode a file from Windows format to Linux (before processing it with " +"the C<--merge> option), you would do something like this:" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:269 +#: ../tools/virt-win-reg.pl:123 #, no-wrap msgid "" -" virt-edit domname filename -e 's/foo/bar/'\n" +" iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:271 +#: ../tools/virt-win-reg.pl:125 msgid "" -"The full power of Perl regular expressions can be used (see L). " -"For example to delete root's password you could do:" +"To go in the opposite direction, after exporting and before sending the file " +"to a Windows user, do something like this:" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:274 +#: ../tools/virt-win-reg.pl:128 #, no-wrap msgid "" -" virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n" +" unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:276 -msgid "" -"What really happens is that the snippet is evaluated as a Perl expression " -"for each line of the file. The line, including the final C<\\n>, is passed " -"in C<$_> and the expression should update C<$_> or leave it unchanged." +#: ../tools/virt-win-reg.pl:130 +msgid "For more information about encoding, see L." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:281 +#: ../tools/virt-win-reg.pl:132 msgid "" -"To delete a line, set C<$_> to the empty string. For example, to delete the " -"C user account from the password file you can do:" +"If you are unsure about the current encoding, use the L command. " +"Recent versions of Windows regedit.exe produce a UTF-16LE file with Windows-" +"style (CRLF) line endings, like this:" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:284 +#: ../tools/virt-win-reg.pl:136 #, no-wrap msgid "" -" virt-edit mydomain /etc/passwd -e '$_ = \"\" if /^apache:/'\n" +" $ file software.reg\n" +" software.reg: Little-endian UTF-16 Unicode text, with very long lines,\n" +" with CRLF line terminators\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:286 -msgid "" -"To insert a line, prepend or append it to C<$_>. However appending lines to " -"the end of the file is rather difficult this way since there is no concept " -"of \"last line of the file\" - your expression just doesn't get called " -"again. You might want to use the first method (setting C<$EDITOR>) if you " -"want to do this." +#: ../tools/virt-win-reg.pl:140 +msgid "This file would need conversion before you could C<--merge> it." +msgstr "" + +# type: =head2 +#: ../tools/virt-win-reg.pl:142 +msgid "SHELL QUOTING" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:292 +#: ../tools/virt-win-reg.pl:144 msgid "" -"The variable C<$lineno> contains the current line number. As is " -"traditional, the first line in the file is number C<1>." +"Be careful when passing parameters containing C<\\> (backslash) in the " +"shell. Usually you will have to use 'single quotes' or double backslashes " +"(but not both) to protect them from the shell." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:295 +#: ../tools/virt-win-reg.pl:148 +msgid "Paths and value names are case-insensitive." +msgstr "" + +# type: =head2 +#: ../tools/virt-win-reg.pl:150 +msgid "CurrentControlSet etc." +msgstr "" + +# type: textblock +#: ../tools/virt-win-reg.pl:152 msgid "" -"The return value from the expression is ignored, but the expression may call " -"C in order to abort the whole program, leaving the original file " -"untouched." +"Registry keys like C don't really exist in the Windows " +"Registry at the level of the hive file, and therefore you cannot modify " +"these." msgstr "" # type: textblock -#: ../tools/virt-edit.pl:299 +#: ../tools/virt-win-reg.pl:156 msgid "" -"Remember when matching the end of a line that C<$_> may contain the final C<" -"\\n>, or (for DOS files) C<\\r\\n>, or if the file does not end with a " -"newline then neither of these. Thus to match or substitute some text at the " -"end of a line, use this regular expression:" +"C is usually an alias for C. In some " +"circumstances it might refer to another control set. The way to find out is " +"to look at the C key:" msgstr "" # type: verbatim -#: ../tools/virt-edit.pl:304 +#: ../tools/virt-win-reg.pl:160 #, no-wrap msgid "" -" /some text(\\r?\\n)?$/\n" +" # virt-win-reg WindowsGuest 'HKLM\\SYSTEM\\Select'\n" +" [HKEY_LOCAL_MACHINE\\SYSTEM\\Select]\n" +" \"Current\"=dword:00000001\n" +" \"Default\"=dword:00000001\n" +" \"Failed\"=dword:00000000\n" +" \"LastKnownGood\"=dword:00000002\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:306 -msgid "" -"Alternately, use the perl C function, being careful not to chomp C<" -"$_> itself (since that would remove all newlines from the file):" +#: ../tools/virt-win-reg.pl:167 +msgid "\"Default\" is the one which Windows will choose when it boots." msgstr "" -# type: verbatim -#: ../tools/virt-edit.pl:310 -#, no-wrap +# type: textblock +#: ../tools/virt-win-reg.pl:169 msgid "" -" my $m = $_; chomp $m; $m =~ /some text$/\n" -"\n" +"Similarly, other C keys in the path may need to be replaced." msgstr "" # type: =item -#: ../tools/virt-edit.pl:316 -msgid "C" +#: ../tools/virt-win-reg.pl:196 ../tools/virt-make-fs.pl:177 +msgid "B<--debug>" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:318 -msgid "" -"If set, this string is used as the editor. It may contain arguments, eg. C<" -"\"emacs -nw\">" +#: ../tools/virt-win-reg.pl:198 ../tools/virt-resize.pl:477 +msgid "Enable debugging messages." msgstr "" -# type: textblock -#: ../tools/virt-edit.pl:321 -msgid "If not set, C is used." +# type: =item +#: ../tools/virt-win-reg.pl:216 +msgid "B<--merge>" msgstr "" # type: textblock -#: ../tools/virt-edit.pl:327 +#: ../tools/virt-win-reg.pl:218 msgid "" -"L, L, L, L, L, L, L, L, " -"L." +"In merge mode, this merges a textual regedit file into the Windows Registry " +"of the virtual machine. If this flag is I given then virt-win-reg " +"displays or exports Registry entries instead." msgstr "" # type: textblock -#: ../tools/virt-list-filesystems.pl:32 +#: ../tools/virt-win-reg.pl:222 msgid "" -"virt-list-filesystems - List filesystems in a virtual machine or disk image" +"Note that C<--merge> is I to use on live virtual machines, and will " +"result in disk corruption. However exporting (without this flag) is always " +"safe." msgstr "" -# type: verbatim -#: ../tools/virt-list-filesystems.pl:36 -#, no-wrap -msgid "" -" virt-list-filesystems [--options] domname\n" -"\n" +# type: =item +#: ../tools/virt-win-reg.pl:230 +msgid "B<--encoding> UTF-16LE|ASCII" msgstr "" -# type: verbatim -#: ../tools/virt-list-filesystems.pl:38 -#, no-wrap +# type: textblock +#: ../tools/virt-win-reg.pl:232 msgid "" -" virt-list-filesystems [--options] disk.img [disk.img ...]\n" -"\n" +"When merging (only), you may need to specify the encoding for strings to be " +"used in the hive file. This is explained in detail in L." msgstr "" # type: textblock -#: ../tools/virt-list-filesystems.pl:42 +#: ../tools/virt-win-reg.pl:236 msgid "" -"C is a command line tool to list the filesystems that " -"are contained in a virtual machine or disk image." +"The default is to use UTF-16LE, which should work with recent versions of " +"Windows." msgstr "" # type: textblock -#: ../tools/virt-list-filesystems.pl:46 +#: ../tools/virt-win-reg.pl:463 msgid "" -"C is just a simple wrapper around L " -"functionality. For more complex cases you should look at the L tool." -msgstr "" - -# type: =item -#: ../tools/virt-list-filesystems.pl:86 ../tools/virt-list-partitions.pl:95 -#: ../tools/virt-ls.pl:115 -msgid "B<-l> | B<--long>" +"L, L, L, L, L, L, L, L, L, L, L, L." msgstr "" # type: textblock -#: ../tools/virt-list-filesystems.pl:88 +#: ../tools/virt-win-reg.pl:478 ../tools/virt-make-fs.pl:543 msgid "" -"With this option, C displays the type of each " -"filesystem too (where \"type\" means C, C etc.)" +"When reporting bugs, please enable debugging and capture the I " +"output:" msgstr "" -# type: =item -#: ../tools/virt-list-filesystems.pl:95 -msgid "B<-a> | B<--all>" +# type: verbatim +#: ../tools/virt-win-reg.pl:481 +#, no-wrap +msgid "" +" export LIBGUESTFS_DEBUG=1\n" +" virt-win-reg --debug [... rest ...] > /tmp/virt-win-reg.log 2>&1\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-list-filesystems.pl:97 +#: ../tools/virt-win-reg.pl:484 msgid "" -"Normally we only show mountable filesystems. If this option is given then " -"swap devices are shown too." +"Attach /tmp/virt-win-reg.log to a new bug report at L" msgstr "" # type: textblock -#: ../tools/virt-list-filesystems.pl:193 -msgid "" -"L, L, L, L, L, L, L, L, L." +#: ../tools/virt-win-reg.pl:493 ../tools/virt-resize.pl:1413 +#: ../tools/virt-make-fs.pl:558 +msgid "Copyright (C) 2010 Red Hat Inc." msgstr "" # type: textblock -#: ../tools/virt-list-partitions.pl:32 +#: ../tools/virt-df.pl:36 +msgid "virt-df - Display free space on virtual filesystems" +msgstr "" + +# type: verbatim +#: ../tools/virt-df.pl:40 +#, no-wrap msgid "" -"virt-list-partitions - List partitions in a virtual machine or disk image" +" virt-df [--options]\n" +"\n" msgstr "" # type: verbatim -#: ../tools/virt-list-partitions.pl:36 +#: ../tools/virt-df.pl:42 #, no-wrap msgid "" -" virt-list-partitions [--options] domname\n" +" virt-df [--options] domname\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-list-partitions.pl:38 +#: ../tools/virt-df.pl:44 #, no-wrap msgid "" -" virt-list-partitions [--options] disk.img [disk.img ...]\n" +" virt-df [--options] disk.img [disk.img ...]\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-list-partitions.pl:42 +#: ../tools/virt-df.pl:48 msgid "" -"C is a command line tool to list the partitions that " -"are contained in a virtual machine or disk image. It is mainly useful as a " -"first step to using L." +"C is a command line tool to display free space on virtual machine " +"filesystems. Unlike other tools, it doesn't just display the amount of " +"space allocated to a virtual machine, but can look inside the virtual " +"machine to see how much space is really being used." msgstr "" # type: textblock -#: ../tools/virt-list-partitions.pl:47 +#: ../tools/virt-df.pl:53 msgid "" -"C is just a simple wrapper around L " -"functionality. For more complex cases you should look at the L tool." +"It is like the L command, but for virtual machines, except that it " +"also works for Windows virtual machines." msgstr "" -# type: =item -#: ../tools/virt-list-partitions.pl:87 -msgid "B<-h> | B<--human-readable>" +# type: textblock +#: ../tools/virt-df.pl:56 +msgid "" +"If used without any arguments, C checks with libvirt to get a list " +"of all active and inactive guests, and performs a C-type operation on " +"each one in turn, printing out the results." msgstr "" # type: textblock -#: ../tools/virt-list-partitions.pl:89 -msgid "Show sizes in human-readable form (eg. \"1G\")." +#: ../tools/virt-df.pl:60 +msgid "" +"If used with any argument(s), C performs a C-type operation on " +"either the single named libvirt domain, or on the disk image(s) listed on " +"the command line (which must all belong to a single VM). In this mode (with " +"arguments), C will I. If you want to " +"run on multiple guests, then you have to invoke C multiple times." msgstr "" # type: textblock -#: ../tools/virt-list-partitions.pl:97 +#: ../tools/virt-df.pl:67 msgid "" -"With this option, C displays the type and size of each " -"partition too (where \"type\" means C, C etc.)" +"Use the C<--csv> option to get a format which can be easily parsed by other " +"programs. Other options are mostly similar to standard C options. See " +"below for the complete list." msgstr "" # type: =item -#: ../tools/virt-list-partitions.pl:104 -msgid "B<-t> | B<--total>" +#: ../tools/virt-df.pl:107 +msgid "B<--csv>" msgstr "" # type: textblock -#: ../tools/virt-list-partitions.pl:106 +#: ../tools/virt-df.pl:109 msgid "" -"Display the total size of each block device (as a separate row or rows)." +"Write out the results in CSV format (comma-separated values). This format " +"can be imported easily into databases and spreadsheets, but read L below." +msgstr "" + +# type: =item +#: ../tools/virt-df.pl:117 +msgid "B<--human-readable> | B<-h>" msgstr "" # type: textblock -#: ../tools/virt-list-partitions.pl:231 +#: ../tools/virt-df.pl:119 +msgid "Print sizes in human-readable format." +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:121 +msgid "You are not allowed to use I<-h> and I<--csv> at the same time." +msgstr "" + +# type: =item +#: ../tools/virt-df.pl:127 +msgid "B<--inodes> | B<-i>" +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:129 +msgid "Print inodes instead of blocks." +msgstr "" + +# type: =item +#: ../tools/virt-df.pl:135 +msgid "B<--one-per-guest>" +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:137 msgid "" -"L, L, L, L, L, L, L, L." +"Run one libguestfs appliance per guest. Normally C will add the " +"disks from several guests to a single libguestfs appliance." +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:140 +msgid "You might use this option in the following circumstances:" +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:146 +msgid "" +"If you think an untrusted guest might actively try to exploit the libguestfs " +"appliance kernel, then this prevents one guest from interfering with the " +"stats printed for another guest." +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:152 +msgid "" +"If the kernel has a bug which stops it from accessing a filesystem in one " +"guest (see for example RHBZ#635373) then this allows libguestfs to continue " +"and report stats for further guests." +msgstr "" + +# type: =head1 +#: ../tools/virt-df.pl:512 +msgid "NOTE ABOUT CSV FORMAT" +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:514 +msgid "" +"Comma-separated values (CSV) is a deceptive format. It I like it " +"should be easy to parse, but it is definitely not easy to parse." +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:517 +msgid "" +"Myth: Just split fields at commas. Reality: This does I work " +"reliably. This example has two columns:" +msgstr "" + +# type: verbatim +#: ../tools/virt-df.pl:520 +#, no-wrap +msgid "" +" \"foo,bar\",baz\n" +"\n" +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:522 +msgid "" +"Myth: Read the file one line at a time. Reality: This does I work " +"reliably. This example has one row:" +msgstr "" + +# type: verbatim +#: ../tools/virt-df.pl:525 +#, no-wrap +msgid "" +" \"foo\n" +" bar\",baz\n" +"\n" +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:528 +msgid "" +"For shell scripts, use C (L also " +"packaged in major Linux distributions)." +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:531 +msgid "" +"For other languages, use a CSV processing library (eg. C for Perl " +"or Python's built-in csv library)." +msgstr "" + +# type: textblock +#: ../tools/virt-df.pl:534 +msgid "Most spreadsheets and databases can import CSV directly." msgstr "" # type: textblock @@ -24644,6 +24922,12 @@ msgid "" msgstr "" # type: =item +#: ../tools/virt-ls.pl:115 ../tools/virt-list-filesystems.pl:86 +#: ../tools/virt-list-partitions.pl:95 +msgid "B<-l> | B<--long>" +msgstr "" + +# type: =item #: ../tools/virt-ls.pl:117 msgid "B<-R> | B<--recursive>" msgstr "" @@ -24684,2088 +24968,1953 @@ msgid "" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:37 -msgid "virt-make-fs - Make a filesystem from a tar archive or files" +#: ../tools/virt-resize.pl:42 +msgid "virt-resize - Resize a virtual machine disk" msgstr "" # type: verbatim -#: ../tools/virt-make-fs.pl:41 +#: ../tools/virt-resize.pl:46 #, no-wrap msgid "" -" virt-make-fs [--options] input.tar output.img\n" +" virt-resize [--resize /dev/sdaN=[+/-][%]]\n" +" [--expand /dev/sdaN] [--shrink /dev/sdaN]\n" +" [--ignore /dev/sdaN] [--delete /dev/sdaN] [...] indisk outdisk\n" "\n" msgstr "" -# type: verbatim -#: ../tools/virt-make-fs.pl:43 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:52 msgid "" -" virt-make-fs [--options] input.tar.gz output.img\n" -"\n" +"Virt-resize is a tool which can resize a virtual machine disk, making it " +"larger or smaller overall, and resizing or deleting any partitions contained " +"within." msgstr "" -# type: verbatim -#: ../tools/virt-make-fs.pl:45 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:56 msgid "" -" virt-make-fs [--options] directory output.img\n" -"\n" +"Virt-resize B resize disk images in-place. Virt-resize B be used on live virtual machines - for consistent results, shut the " +"virtual machine down before resizing it." msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:49 +#: ../tools/virt-resize.pl:60 msgid "" -"Virt-make-fs is a command line tool for creating a filesystem from a tar " -"archive or some files in a directory. It is similar to tools like L, L and L. Unlike those tools, it can " -"create common filesystem types like ext2/3 or NTFS, which can be useful if " -"you want to attach these filesystems to existing virtual machines (eg. to " -"import large amounts of read-only data to a VM)." +"If you are not familiar with the associated tools: L, L and L, we recommend you go and " +"read those manual pages first." msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:57 -msgid "Basic usage is:" +#: ../tools/virt-resize.pl:68 +msgid "" +"Copy C to C, extending one of the guest's partitions to " +"fill the extra 5GB of space." msgstr "" # type: verbatim -#: ../tools/virt-make-fs.pl:59 +#: ../tools/virt-resize.pl:71 #, no-wrap msgid "" -" virt-make-fs input output\n" +" truncate -r olddisk newdisk; truncate -s +5G newdisk\n" +" virt-list-partitions -lht olddisk\n" +" # Note \"/dev/sda2\" is a partition inside the \"olddisk\" file.\n" +" virt-resize --expand /dev/sda2 olddisk newdisk\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:61 -msgid "" -"where C is either a directory containing files that you want to add, " -"or a tar archive (either uncompressed tar or gzip-compressed tar); and " -"C is a disk image. The input type is detected automatically. The " -"output disk image defaults to a raw ext2 image unless you specify extra " -"flags (see L below)." -msgstr "" - -# type: =head2 -#: ../tools/virt-make-fs.pl:67 -msgid "EXTRA SPACE" -msgstr "" - -# type: textblock -#: ../tools/virt-make-fs.pl:69 -msgid "" -"Unlike formats such as tar and squashfs, a filesystem does not \"just fit\" " -"the files that it contains, but might have extra space. Depending on how " -"you are going to use the output, you might think this extra space is wasted " -"and want to minimize it, or you might want to leave space so that more files " -"can be added later. Virt-make-fs defaults to minimizing the extra space, " -"but you can use the C<--size> flag to leave space in the filesystem if you " -"want it." -msgstr "" - -# type: textblock -#: ../tools/virt-make-fs.pl:77 -msgid "" -"An alternative way to leave extra space but not make the output image any " -"bigger is to use an alternative disk image format (instead of the default " -"\"raw\" format). Using C<--format=qcow2> will use the native QEmu/KVM qcow2 " -"image format (check your hypervisor supports this before using it). This " -"allows you to choose a large C<--size> but the extra space won't actually be " -"allocated in the image until you try to store something in it." -msgstr "" - -# type: textblock -#: ../tools/virt-make-fs.pl:85 +#: ../tools/virt-resize.pl:76 msgid "" -"Don't forget that you can also use local commands including L " -"and L to resize existing filesystems, or rerun virt-make-" -"resize to build another image from scratch." -msgstr "" - -# type: =head3 -#: ../tools/virt-make-fs.pl:89 ../tools/virt-make-fs.pl:123 -#: ../tools/virt-make-fs.pl:142 -msgid "EXAMPLE" +"As above, but make the /boot partition 200MB bigger, while giving the " +"remaining space to /dev/sda2:" msgstr "" # type: verbatim -#: ../tools/virt-make-fs.pl:91 +#: ../tools/virt-resize.pl:79 #, no-wrap msgid "" -" virt-make-fs --format=qcow2 --size=+200M input output.img\n" +" virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 olddisk newdisk\n" "\n" msgstr "" -# type: =head2 -#: ../tools/virt-make-fs.pl:93 -msgid "FILESYSTEM TYPE" +# type: =head1 +#: ../tools/virt-resize.pl:81 +msgid "DETAILED USAGE" msgstr "" -# type: textblock -#: ../tools/virt-make-fs.pl:95 -msgid "" -"The default filesystem type is C. Just about any filesystem type that " -"libguestfs supports can be used (but I read-only formats like " -"ISO9660). Here are some of the more common choices:" +# type: =head2 +#: ../tools/virt-resize.pl:83 +msgid "EXPANDING A VIRTUAL MACHINE DISK" msgstr "" # type: =item -#: ../tools/virt-make-fs.pl:101 -msgid "I" -msgstr "" - -# type: textblock -#: ../tools/virt-make-fs.pl:103 -msgid "" -"Note that ext3 filesystems contain a journal, typically 1-32 MB in size. If " -"you are not going to use the filesystem in a way that requires the journal, " -"then this is just wasted overhead." +#: ../tools/virt-resize.pl:87 +msgid "1. Shut down the virtual machine" msgstr "" # type: =item -#: ../tools/virt-make-fs.pl:107 -msgid "I or I" +#: ../tools/virt-resize.pl:89 +msgid "2. Locate input disk image" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:109 -msgid "Useful if exporting data to a Windows guest." +#: ../tools/virt-resize.pl:91 +msgid "" +"Locate the input disk image (ie. the file or device on the host containing " +"the guest's disk). If the guest is managed by libvirt, you can use C like this to find the disk image name:" msgstr "" -# type: textblock -#: ../tools/virt-make-fs.pl:111 +# type: verbatim +#: ../tools/virt-resize.pl:95 +#, no-wrap msgid "" -"I: The tar archive or local directory must only contain files " -"which are owned by root (ie. UID:GID = 0:0). The reason is that the tar " -"program running within libguestfs is unable to change the ownership of non-" -"root files, since vfat itself does not support this." +" # virsh dumpxml guestname | xpath /domain/devices/disk/source\n" +" Found 1 nodes:\n" +" -- NODE --\n" +" \n" +"\n" msgstr "" # type: =item -#: ../tools/virt-make-fs.pl:116 -msgid "I" +#: ../tools/virt-resize.pl:100 +msgid "3. Look at current sizing" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:118 +#: ../tools/virt-resize.pl:102 msgid "" -"Lower overhead than C, but certain limitations on filename length and " -"total filesystem size." +"Use L to display the current partitions and sizes:" msgstr "" # type: verbatim -#: ../tools/virt-make-fs.pl:125 +#: ../tools/virt-resize.pl:105 #, no-wrap msgid "" -" virt-make-fs --type=minix input minixfs.img\n" +" # virt-list-partitions -lht /dev/vg/lv_guest\n" +" /dev/sda1 ext3 101.9M\n" +" /dev/sda2 pv 7.9G\n" +" /dev/sda device 8.0G\n" "\n" msgstr "" -# type: =head2 -#: ../tools/virt-make-fs.pl:127 -msgid "TO PARTITION OR NOT TO PARTITION" -msgstr "" - # type: textblock -#: ../tools/virt-make-fs.pl:129 -msgid "Optionally virt-make-fs can add a partition table to the output disk." +#: ../tools/virt-resize.pl:110 +msgid "" +"(This example is a virtual machine with an 8 GB disk which we would like to " +"expand up to 10 GB)." msgstr "" -# type: textblock -#: ../tools/virt-make-fs.pl:131 -msgid "" -"Adding a partition can make the disk image more compatible with certain " -"virtualized operating systems which don't expect to see a filesystem " -"directly located on a block device (Linux doesn't care and will happily " -"handle both types)." +# type: =item +#: ../tools/virt-resize.pl:113 +msgid "4. Create output disk" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:136 +#: ../tools/virt-resize.pl:115 msgid "" -"On the other hand, if you have a partition table then the output image is no " -"longer a straight filesystem. For example you cannot run L " -"directly on a partitioned disk image. (However libguestfs tools such as " -"L and L can still be used)." +"Virt-resize cannot do in-place disk modifications. You have to have space " +"to store the resized output disk." msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:144 -msgid "Add an MBR partition:" +#: ../tools/virt-resize.pl:118 +msgid "" +"To store the resized disk image in a file, create a file of a suitable size:" msgstr "" # type: verbatim -#: ../tools/virt-make-fs.pl:146 +#: ../tools/virt-resize.pl:121 #, no-wrap msgid "" -" virt-make-fs --partition -- input disk.img\n" +" # rm -f outdisk\n" +" # truncate -s 10G outdisk\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:148 -msgid "" -"If the output disk image could be terabyte-sized or larger, it's better to " -"use an EFI/GPT-compatible partition table:" +#: ../tools/virt-resize.pl:124 +msgid "Or use L to create a logical volume:" msgstr "" # type: verbatim -#: ../tools/virt-make-fs.pl:151 +#: ../tools/virt-resize.pl:126 #, no-wrap msgid "" -" virt-make-fs --partition=gpt --size=+4T --format=qcow2 input disk.img\n" +" # lvcreate -L 10G -n lv_name vg_name\n" "\n" msgstr "" -# type: =item -#: ../tools/virt-make-fs.pl:177 ../tools/virt-win-reg.pl:196 -msgid "B<--debug>" -msgstr "" - # type: textblock -#: ../tools/virt-make-fs.pl:179 -msgid "Enable debugging information." +#: ../tools/virt-resize.pl:128 +msgid "Or use L vol-create-as to create a libvirt storage volume:" msgstr "" -# type: =item -#: ../tools/virt-make-fs.pl:185 -msgid "B<--size=ENE>" +# type: verbatim +#: ../tools/virt-resize.pl:130 +#, no-wrap +msgid "" +" # virsh pool-list\n" +" # virsh vol-create-as poolname newvol 10G\n" +"\n" msgstr "" # type: =item -#: ../tools/virt-make-fs.pl:187 -msgid "B<--size=+ENE>" +#: ../tools/virt-resize.pl:133 +msgid "5. Resize" msgstr "" -# type: =item -#: ../tools/virt-make-fs.pl:189 -msgid "B<-s ENE>" +# type: textblock +#: ../tools/virt-resize.pl:135 +msgid "" +"virt-resize takes two mandatory parameters, the input disk (eg. device or " +"file) and the output disk. The output disk is the one created in the " +"previous step." msgstr "" -# type: =item -#: ../tools/virt-make-fs.pl:191 -msgid "B<-s +ENE>" +# type: verbatim +#: ../tools/virt-resize.pl:139 +#, no-wrap +msgid "" +" # virt-resize indisk outdisk\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:193 +#: ../tools/virt-resize.pl:141 msgid "" -"Use the C<--size> (or C<-s>) option to choose the size of the output image." +"This command just copies disk image C to disk image C " +"I resizing or changing any existing partitions. If C is " +"larger, then an extra, empty partition is created at the end of the disk " +"covering the extra space. If C is smaller, then it will give an " +"error." msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:196 +#: ../tools/virt-resize.pl:147 msgid "" -"If this option is I given, then the output image will be just large " -"enough to contain all the files, with not much wasted space." +"More realistically you'd want to expand existing partitions in the disk " +"image by passing extra options (for the full list see the L " +"section below)." msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:199 +#: ../tools/virt-resize.pl:151 msgid "" -"To choose a fixed size output disk, specify an absolute number followed by b/" -"K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, " -"Petabytes or Exabytes. This must be large enough to contain all the input " -"files, else you will get an error." +"L is the most useful option. It expands the named partition " +"within the disk to fill any extra space:" msgstr "" -# type: textblock -#: ../tools/virt-make-fs.pl:204 +# type: verbatim +#: ../tools/virt-resize.pl:154 +#, no-wrap msgid "" -"To leave extra space, specify C<+> (plus sign) and a number followed by b/K/" -"M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, " -"Petabytes or Exabytes. For example: C<--size=+200M> means enough space for " -"the input files, and (approximately) an extra 200 MB free space." +" # virt-resize --expand /dev/sda2 indisk outdisk\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:210 +#: ../tools/virt-resize.pl:156 msgid "" -"Note that virt-make-fs estimates free space, and therefore will not produce " -"filesystems containing precisely the free space requested. (It is much more " -"expensive and time-consuming to produce a filesystem which has precisely the " -"desired free space)." -msgstr "" - -# type: =item -#: ../tools/virt-make-fs.pl:219 -msgid "B<--format=EfmtE>" -msgstr "" - -# type: =item -#: ../tools/virt-make-fs.pl:221 -msgid "B<-F EfmtE>" +"(In this case, an extra partition is I created at the end of the disk, " +"because there will be no unused space)." msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:223 -msgid "Choose the output disk image format." +#: ../tools/virt-resize.pl:159 +msgid "" +"L is the other commonly used option. The following would " +"increase the size of /dev/sda1 by 200M, and expand /dev/sda2 to fill the " +"rest of the available space:" msgstr "" -# type: textblock -#: ../tools/virt-make-fs.pl:225 -msgid "The default is C (raw disk image)." +# type: verbatim +#: ../tools/virt-resize.pl:163 +#, no-wrap +msgid "" +" # virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n" +" indisk outdisk\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:227 +#: ../tools/virt-resize.pl:166 msgid "" -"For other choices, see the L manpage. The only other choice " -"that would really make sense here is C." +"If the expanded partition in the image contains a filesystem or LVM PV, then " +"if virt-resize knows how, it will resize the contents, the equivalent of " +"calling a command such as L, L or L. However virt-resize does not know how to resize some filesystems, so you " +"would have to online resize them after booting the guest. And virt-resize " +"also does not resize anything inside an LVM PV, it just resizes the PV " +"itself and leaves the user to resize any LVs inside that PV as desired." msgstr "" -# type: =item -#: ../tools/virt-make-fs.pl:234 -msgid "B<--type=EfsE>" +# type: textblock +#: ../tools/virt-resize.pl:175 +msgid "Other options are covered below." msgstr "" # type: =item -#: ../tools/virt-make-fs.pl:236 -msgid "B<-t EfsE>" -msgstr "" - -# type: textblock -#: ../tools/virt-make-fs.pl:238 -msgid "Choose the output filesystem type." +#: ../tools/virt-resize.pl:177 +msgid "6. Test" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:240 -msgid "The default is C." +#: ../tools/virt-resize.pl:179 +msgid "Thoroughly test the new disk image I discarding the old one." msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:242 -msgid "" -"Any filesystem which is supported read-write by libguestfs can be used here." -msgstr "" - -# type: =item -#: ../tools/virt-make-fs.pl:249 -msgid "B<--partition>" -msgstr "" - -# type: =item -#: ../tools/virt-make-fs.pl:251 -msgid "B<--partition=EparttypeE>" +#: ../tools/virt-resize.pl:181 +msgid "If you are using libvirt, edit the XML to point at the new disk:" msgstr "" -# type: textblock -#: ../tools/virt-make-fs.pl:253 +# type: verbatim +#: ../tools/virt-resize.pl:183 +#, no-wrap msgid "" -"If specified, this flag adds an MBR partition table to the output disk image." +" # virsh edit guestname\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:256 +#: ../tools/virt-resize.pl:185 msgid "" -"You can change the partition table type, eg. C<--partition=gpt> for large " -"disks." +"Change Esource ...E, see L" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:259 -msgid "" -"Note that if you just use a lonesome C<--partition>, the Perl option parser " -"might consider the next parameter to be the partition type. For example:" +#: ../tools/virt-resize.pl:188 +msgid "Then start up the domain with the new, resized disk:" msgstr "" # type: verbatim -#: ../tools/virt-make-fs.pl:263 +#: ../tools/virt-resize.pl:190 #, no-wrap msgid "" -" virt-make-fs --partition input.tar ...\n" +" # virsh start guestname\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:265 +#: ../tools/virt-resize.pl:192 msgid "" -"would cause virt-make-fs to think you wanted to use a partition type of " -"C which is completely wrong. To avoid this, use C<--> (a double " -"dash) between options and the input file argument:" +"and check that it still works. See also the L section below for " +"additional information." msgstr "" -# type: verbatim -#: ../tools/virt-make-fs.pl:269 -#, no-wrap -msgid "" -" virt-make-fs --partition -- input.tar ...\n" -"\n" +# type: =item +#: ../tools/virt-resize.pl:195 +msgid "7. Resize LVs etc inside the guest" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:529 -msgid "" -"L, L, L, L, " -"L, L, L, L, L, L, L." +#: ../tools/virt-resize.pl:197 +msgid "(This can also be done offline using L)" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:543 ../tools/virt-win-reg.pl:478 +#: ../tools/virt-resize.pl:199 msgid "" -"When reporting bugs, please enable debugging and capture the I " -"output:" +"Once the guest has booted you should see the new space available, at least " +"for filesystems that virt-resize knows how to resize, and for PVs. The user " +"may need to resize LVs inside PVs, and also resize filesystem types that " +"virt-resize does not know how to expand." msgstr "" -# type: verbatim -#: ../tools/virt-make-fs.pl:546 -#, no-wrap -msgid "" -" export LIBGUESTFS_DEBUG=1\n" -" virt-make-fs --debug [...] > /tmp/virt-make-fs.log 2>&1\n" -"\n" +# type: =head2 +#: ../tools/virt-resize.pl:206 +msgid "SHRINKING A VIRTUAL MACHINE DISK" msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:549 +#: ../tools/virt-resize.pl:208 msgid "" -"Attach /tmp/virt-make-fs.log to a new bug report at L" +"Shrinking is somewhat more complex than expanding, and only an overview is " +"given here." msgstr "" # type: textblock -#: ../tools/virt-make-fs.pl:558 ../tools/virt-resize.pl:1413 -#: ../tools/virt-win-reg.pl:493 -msgid "Copyright (C) 2010 Red Hat Inc." +#: ../tools/virt-resize.pl:211 +msgid "" +"Firstly virt-resize will not attempt to shrink any partition content (PVs, " +"filesystems). The user has to shrink content before passing the disk image " +"to virt-resize, and virt-resize will check that the content has been shrunk " +"properly." msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:33 -msgid "virt-rescue - Run a rescue shell on a virtual machine" +#: ../tools/virt-resize.pl:216 +msgid "(Shrinking can also be done offline using L)" msgstr "" -# type: verbatim -#: ../tools/virt-rescue.pl:37 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:218 msgid "" -" virt-rescue [--options] domname\n" -"\n" +"After shrinking PVs and filesystems, shut down the guest, and proceed with " +"steps 3 and 4 above to allocate a new disk image." msgstr "" -# type: verbatim -#: ../tools/virt-rescue.pl:39 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:221 msgid "" -" virt-rescue [--options] disk.img [disk.img ...]\n" -"\n" +"Then run virt-resize with any of the C<--shrink> and/or C<--resize> options." +msgstr "" + +# type: =head2 +#: ../tools/virt-resize.pl:224 +msgid "IGNORING OR DELETING PARTITIONS" msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:43 +#: ../tools/virt-resize.pl:226 msgid "" -"You must I use C on live virtual machines. Doing so will " -"probably result in disk corruption in the VM. C tries to stop " -"you from doing this, but doesn't catch all cases." +"virt-resize also gives a convenient way to ignore or delete partitions when " +"copying from the input disk to the output disk. Ignoring a partition speeds " +"up the copy where you don't care about the existing contents of a " +"partition. Deleting a partition removes it completely, but note that it " +"also renumbers any partitions after the one which is deleted, which can " +"leave some guests unbootable." msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:47 -msgid "" -"However if you use the I<--ro> (read only) option, then you can attach a " -"shell to a live virtual machine. The results might be strange or " -"inconsistent at times but you won't get disk corruption." +#: ../tools/virt-resize.pl:243 +msgid "Display help." +msgstr "" + +# type: =item +#: ../tools/virt-resize.pl:257 +msgid "B<--resize part=size>" msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:53 +#: ../tools/virt-resize.pl:259 msgid "" -"virt-rescue is like a Rescue CD, but for virtual machines, and without the " -"need for a CD. virt-rescue gives you a rescue shell and some simple " -"recovery tools which you can use to examine or rescue a virtual machine or " -"disk image." +"Resize the named partition (expanding or shrinking it) so that it has the " +"given size." msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:58 +#: ../tools/virt-resize.pl:262 msgid "" -"You can run virt-rescue on any virtual machine known to libvirt, or directly " -"on disk image(s):" +"C can be expressed as an absolute number followed by b/K/M/G/T/P/E to " +"mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Petabytes or " +"Exabytes; or as a percentage of the current size; or as a relative number or " +"percentage. For example:" msgstr "" # type: verbatim -#: ../tools/virt-rescue.pl:61 +#: ../tools/virt-resize.pl:267 #, no-wrap msgid "" -" virt-rescue GuestName\n" +" --resize /dev/sda2=10G\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-rescue.pl:63 +#: ../tools/virt-resize.pl:269 #, no-wrap msgid "" -" virt-rescue --ro /path/to/disk.img\n" +" --resize /dev/sda4=90%\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-rescue.pl:65 +#: ../tools/virt-resize.pl:271 #, no-wrap msgid "" -" virt-rescue /dev/sdc\n" +" --resize /dev/sda2=+1G\n" "\n" msgstr "" -# type: textblock -#: ../tools/virt-rescue.pl:67 -msgid "For live VMs you I use the --ro option." -msgstr "" - -# type: textblock -#: ../tools/virt-rescue.pl:69 +# type: verbatim +#: ../tools/virt-resize.pl:273 +#, no-wrap msgid "" -"When you run virt-rescue on a virtual machine or disk image, you are placed " -"in an interactive bash shell where you can use many ordinary Linux " -"commands. What you see in C (C, C etc) is the rescue " -"appliance. You must mount the virtual machine's filesystems by hand. There " -"is an empty directory called C where you can mount filesystems." +" --resize /dev/sda2=-200M\n" +"\n" msgstr "" -# type: textblock -#: ../tools/virt-rescue.pl:76 +# type: verbatim +#: ../tools/virt-resize.pl:275 +#, no-wrap msgid "" -"In the example below, we list logical volumes, then choose one to mount " -"under C:" +" --resize /dev/sda1=+128K\n" +"\n" msgstr "" # type: verbatim -#: ../tools/virt-rescue.pl:79 +#: ../tools/virt-resize.pl:277 #, no-wrap msgid "" -" > lvs\n" -" LV VG Attr LSize Origin Snap% Move Log Copy% Convert\n" -" lv_root vg_f11x64 -wi-a- 8.83G\n" -" lv_swap vg_f11x64 -wi-a- 992.00M\n" -" > mount /dev/vg_f11x64/lv_root /sysroot\n" -" > ls /sysroot\n" +" --resize /dev/sda1=+10%\n" "\n" msgstr "" -# type: textblock -#: ../tools/virt-rescue.pl:86 +# type: verbatim +#: ../tools/virt-resize.pl:279 +#, no-wrap msgid "" -"If you don't know what filesystems are available on the virtual machine then " -"you can use commands such as L and L to find out." -msgstr "" - -# type: =head1 -#: ../tools/virt-rescue.pl:90 ../tools/virt-resize.pl:1350 -msgid "NOTES" +" --resize /dev/sda1=-10%\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:92 +#: ../tools/virt-resize.pl:281 msgid "" -"Virt-rescue can be used on I disk image file or device, not just a " -"virtual machine. For example you can use it on a blank file if you want to " -"partition that file (although we would recommend using L " -"instead as it is more suitable for this purpose). You can even use virt-" -"rescue on things like SD cards." +"You can increase the size of any partition. Virt-resize will expand the " +"direct content of the partition if it knows how (see C<--expand> below)." msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:98 +#: ../tools/virt-resize.pl:285 msgid "" -"This tool is just designed for quick interactive hacking on a virtual " -"machine. For more structured access to a virtual machine disk image, you " -"should use L. To get a structured shell that you can use to " -"make scripted changes to guests, use L." -msgstr "" - -# type: =item -#: ../tools/virt-rescue.pl:127 -msgid "B<--append kernelopts>" +"You can only I the size of partitions that contain filesystems or " +"PVs which have already been shrunk. Virt-resize will check this has been " +"done before proceeding, or else will print an error (see also C<--resize-" +"force>)." msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:129 -msgid "Pass additional options to the rescue kernel." +#: ../tools/virt-resize.pl:290 ../tools/virt-resize.pl:382 +#: ../tools/virt-resize.pl:399 +msgid "You can give this option multiple times." msgstr "" # type: =item -#: ../tools/virt-rescue.pl:147 -msgid "B<--memsize MB> | B<-m MB>" +#: ../tools/virt-resize.pl:296 +msgid "B<--resize-force part=size>" msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:149 +#: ../tools/virt-resize.pl:298 msgid "" -"Change the amount of memory allocated to the rescue system. The default is " -"set by libguestfs and is small but adequate for running system tools. The " -"occasional program might need more memory. The parameter is specified in " -"megabytes." -msgstr "" - -# type: =item -#: ../tools/virt-rescue.pl:158 -msgid "B<--ro> | B<-r>" +"This is the same as C<--resize> except that it will let you decrease the " +"size of any partition. Generally this means you will lose any data which " +"was at the end of the partition you shrink, but you may not care about that " +"(eg. if shrinking an unused partition, or if you can easily recreate it such " +"as a swap partition)." msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:160 -msgid "Open the image read-only." +#: ../tools/virt-resize.pl:304 +msgid "See also the C<--ignore> option." msgstr "" -# type: textblock -#: ../tools/virt-rescue.pl:172 -msgid "" -"Enable SELinux in the rescue appliance. You should read L before using this option." +# type: =item +#: ../tools/virt-resize.pl:310 +msgid "B<--expand part>" msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:228 +#: ../tools/virt-resize.pl:312 msgid "" -"Several environment variables affect virt-rescue. See L for the complete list." +"Expand the named partition so it uses up all extra space (space left over " +"after any other resize changes that you request have been done)." msgstr "" # type: textblock -#: ../tools/virt-rescue.pl:233 +#: ../tools/virt-resize.pl:315 msgid "" -"L, L, L, L, L, L, L." +"If virt-resize knows how, it will expand the direct content of the " +"partition. For example, if the partition is an LVM PV, it will expand the " +"PV to fit (like calling L). Virt-resize leaves any other " +"content it doesn't know about alone." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:42 -msgid "virt-resize - Resize a virtual machine disk" +#: ../tools/virt-resize.pl:320 +msgid "Currently virt-resize can resize:" msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:46 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:326 msgid "" -" virt-resize [--resize /dev/sdaN=[+/-][%]]\n" -" [--expand /dev/sdaN] [--shrink /dev/sdaN]\n" -" [--ignore /dev/sdaN] [--delete /dev/sdaN] [...] indisk outdisk\n" -"\n" +"ext2, ext3 and ext4 filesystems when they are contained directly inside a " +"partition." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:52 +#: ../tools/virt-resize.pl:331 msgid "" -"Virt-resize is a tool which can resize a virtual machine disk, making it " -"larger or smaller overall, and resizing or deleting any partitions contained " -"within." +"NTFS filesystems contained directly in a partition, if libguestfs was " +"compiled with support for NTFS." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:56 +#: ../tools/virt-resize.pl:334 msgid "" -"Virt-resize B resize disk images in-place. Virt-resize B be used on live virtual machines - for consistent results, shut the " -"virtual machine down before resizing it." +"The filesystem must have been shut down consistently last time it was used. " +"Additionally, L marks the resized filesystem as requiring a " +"consistency check, so at the first boot after resizing Windows will check " +"the disk." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:60 +#: ../tools/virt-resize.pl:341 msgid "" -"If you are not familiar with the associated tools: L, L and L, we recommend you go and " -"read those manual pages first." +"LVM PVs (physical volumes). However virt-resize does I resize anything " +"inside the PV. The user will have to resize LVs as desired." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:68 -msgid "" -"Copy C to C, extending one of the guest's partitions to " -"fill the extra 5GB of space." +#: ../tools/virt-resize.pl:347 ../tools/virt-resize.pl:369 +msgid "Note that you cannot use C<--expand> and C<--shrink> together." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:71 -#, no-wrap -msgid "" -" truncate -r olddisk newdisk; truncate -s +5G newdisk\n" -" virt-list-partitions -lht olddisk\n" -" # Note \"/dev/sda2\" is a partition inside the \"olddisk\" file.\n" -" virt-resize --expand /dev/sda2 olddisk newdisk\n" -"\n" +# type: =item +#: ../tools/virt-resize.pl:353 +msgid "B<--shrink part>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:76 +#: ../tools/virt-resize.pl:355 msgid "" -"As above, but make the /boot partition 200MB bigger, while giving the " -"remaining space to /dev/sda2:" +"Shrink the named partition until the overall disk image fits in the " +"destination. The named partition B contain a filesystem or PV which " +"has already been shrunk using another tool (eg. L or other " +"online tools). Virt-resize will check this and give an error if it has not " +"been done." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:79 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:361 msgid "" -" virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 olddisk newdisk\n" -"\n" -msgstr "" - -# type: =head1 -#: ../tools/virt-resize.pl:81 -msgid "DETAILED USAGE" +"The amount by which the overall disk must be shrunk (after carrying out all " +"other operations requested by the user) is called the \"deficit\". For " +"example, a straight copy (assume no other operations) from a 5GB disk image " +"to a 4GB disk image results in a 1GB deficit. In this case, virt-resize " +"would give an error unless the user specified a partition to shrink and that " +"partition had more than a gigabyte of free space." msgstr "" -# type: =head2 -#: ../tools/virt-resize.pl:83 -msgid "EXPANDING A VIRTUAL MACHINE DISK" +# type: =item +#: ../tools/virt-resize.pl:375 +msgid "B<--ignore part>" msgstr "" -# type: =item -#: ../tools/virt-resize.pl:87 -msgid "1. Shut down the virtual machine" +# type: textblock +#: ../tools/virt-resize.pl:377 +msgid "" +"Ignore the named partition. Effectively this means the partition is " +"allocated on the destination disk, but the content is not copied across from " +"the source disk. The content of the partition will be blank (all zero " +"bytes)." msgstr "" # type: =item -#: ../tools/virt-resize.pl:89 -msgid "2. Locate input disk image" +#: ../tools/virt-resize.pl:388 +msgid "B<--delete part>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:91 +#: ../tools/virt-resize.pl:390 msgid "" -"Locate the input disk image (ie. the file or device on the host containing " -"the guest's disk). If the guest is managed by libvirt, you can use C like this to find the disk image name:" +"Delete the named partition. It would be more accurate to describe this as " +"\"don't copy it over\", since virt-resize doesn't do in-place changes and " +"the original disk image is left intact." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:95 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:394 msgid "" -" # virsh dumpxml guestname | xpath /domain/devices/disk/source\n" -" Found 1 nodes:\n" -" -- NODE --\n" -" \n" -"\n" +"Note that when you delete a partition, then anything contained in the " +"partition is also deleted. Furthermore, this causes any partitions that " +"come after to be I, which can easily make your guest unbootable." msgstr "" # type: =item -#: ../tools/virt-resize.pl:100 -msgid "3. Look at current sizing" +#: ../tools/virt-resize.pl:405 +msgid "B<--LV-expand logvol>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:102 +#: ../tools/virt-resize.pl:407 msgid "" -"Use L to display the current partitions and sizes:" +"This takes the logical volume and, as a final step, expands it to fill all " +"the space available in its volume group. A typical usage, assuming a Linux " +"guest with a single PV C and a root device called C would be:" msgstr "" # type: verbatim -#: ../tools/virt-resize.pl:105 +#: ../tools/virt-resize.pl:412 #, no-wrap msgid "" -" # virt-list-partitions -lht /dev/vg/lv_guest\n" -" /dev/sda1 ext3 101.9M\n" -" /dev/sda2 pv 7.9G\n" -" /dev/sda device 8.0G\n" +" virt-resize indisk outdisk \\\n" +" --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:110 +#: ../tools/virt-resize.pl:415 msgid "" -"(This example is a virtual machine with an 8 GB disk which we would like to " -"expand up to 10 GB)." +"This would first expand the partition (and PV), and then expand the root " +"device to fill the extra space in the PV." msgstr "" -# type: =item -#: ../tools/virt-resize.pl:113 -msgid "4. Create output disk" +# type: textblock +#: ../tools/virt-resize.pl:418 +msgid "" +"The contents of the LV are also resized if virt-resize knows how to do " +"that. You can stop virt-resize from trying to expand the content by using " +"the option C<--no-expand-content>." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:115 -msgid "" -"Virt-resize cannot do in-place disk modifications. You have to have space " -"to store the resized output disk." +#: ../tools/virt-resize.pl:422 +msgid "Use L to list the filesystems in the guest." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:118 +#: ../tools/virt-resize.pl:425 msgid "" -"To store the resized disk image in a file, create a file of a suitable size:" +"You can give this option multiple times, I it doesn't make sense to do " +"this unless the logical volumes you specify are all in different volume " +"groups." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:121 -#, no-wrap -msgid "" -" # rm -f outdisk\n" -" # truncate -s 10G outdisk\n" -"\n" +# type: =item +#: ../tools/virt-resize.pl:433 +msgid "B<--no-copy-boot-loader>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:124 -msgid "Or use L to create a logical volume:" +#: ../tools/virt-resize.pl:435 +msgid "" +"By default, virt-resize copies over some sectors at the start of the disk " +"(up to the beginning of the first partition). Commonly these sectors " +"contain the Master Boot Record (MBR) and the boot loader, and are required " +"in order for the guest to boot correctly." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:126 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:440 msgid "" -" # lvcreate -L 10G -n lv_name vg_name\n" -"\n" +"If you specify this flag, then this initial copy is not done. You may need " +"to reinstall the boot loader in this case." +msgstr "" + +# type: =item +#: ../tools/virt-resize.pl:448 +msgid "B<--no-extra-partition>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:128 -msgid "Or use L vol-create-as to create a libvirt storage volume:" +#: ../tools/virt-resize.pl:450 +msgid "" +"By default, virt-resize creates an extra partition if there is any extra, " +"unused space after all resizing has happened. Use this option to prevent " +"the extra partition from being created. If you do this then the extra space " +"will be inaccessible until you run fdisk, parted, or some other partitioning " +"tool in the guest." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:130 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:456 msgid "" -" # virsh pool-list\n" -" # virsh vol-create-as poolname newvol 10G\n" -"\n" +"Note that if the surplus space is smaller than 10 MB, no extra partition " +"will be created." msgstr "" # type: =item -#: ../tools/virt-resize.pl:133 -msgid "5. Resize" +#: ../tools/virt-resize.pl:463 +msgid "B<--no-expand-content>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:135 +#: ../tools/virt-resize.pl:465 msgid "" -"virt-resize takes two mandatory parameters, the input disk (eg. device or " -"file) and the output disk. The output disk is the one created in the " -"previous step." +"By default, virt-resize will try to expand the direct contents of " +"partitions, if it knows how (see C<--expand> option above)." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:139 -#, no-wrap +# type: textblock +#: ../tools/virt-resize.pl:468 msgid "" -" # virt-resize indisk outdisk\n" -"\n" +"If you give the C<--no-expand-content> option then virt-resize will not " +"attempt this." +msgstr "" + +# type: =item +#: ../tools/virt-resize.pl:475 +msgid "B<-d> | B<--debug>" +msgstr "" + +# type: =item +#: ../tools/virt-resize.pl:483 +msgid "B<-n> | B<--dryrun>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:141 -msgid "" -"This command just copies disk image C to disk image C " -"I resizing or changing any existing partitions. If C is " -"larger, then an extra, empty partition is created at the end of the disk " -"covering the extra space. If C is smaller, then it will give an " -"error." +#: ../tools/virt-resize.pl:485 +msgid "Print a summary of what would be done, but don't do anything." +msgstr "" + +# type: =item +#: ../tools/virt-resize.pl:491 +msgid "B<-q> | B<--quiet>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:147 -msgid "" -"More realistically you'd want to expand existing partitions in the disk " -"image by passing extra options (for the full list see the L " -"section below)." +#: ../tools/virt-resize.pl:493 +msgid "Don't print the summary." +msgstr "" + +# type: =head1 +#: ../tools/virt-resize.pl:1350 ../tools/virt-rescue.pl:90 +msgid "NOTES" +msgstr "" + +# type: =head2 +#: ../tools/virt-resize.pl:1352 +msgid "\"Partition 1 does not end on cylinder boundary.\"" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:151 +#: ../tools/virt-resize.pl:1354 msgid "" -"L is the most useful option. It expands the named partition " -"within the disk to fill any extra space:" +"Virt-resize aligns partitions to multiples of 64 sectors. Usually this " +"means the partitions will not be aligned to the ancient CHS geometry. " +"However CHS geometry is meaningless for disks manufactured since the early " +"1990s, and doubly so for virtual hard drives. Alignment of partitions to " +"cylinders is not required by any modern operating system." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:154 -#, no-wrap -msgid "" -" # virt-resize --expand /dev/sda2 indisk outdisk\n" -"\n" +# type: =head2 +#: ../tools/virt-resize.pl:1361 +msgid "RESIZING WINDOWS VIRTUAL MACHINES" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:156 +#: ../tools/virt-resize.pl:1363 msgid "" -"(In this case, an extra partition is I created at the end of the disk, " -"because there will be no unused space)." +"In Windows Vista and later versions, Microsoft switched to using a separate " +"boot partition. In these VMs, typically C is the boot partition " +"and C is the main (C:) drive. We have not had any luck resizing " +"the boot partition. Doing so seems to break the guest completely. However " +"expanding the second partition (ie. C: drive) should work." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:159 +#: ../tools/virt-resize.pl:1370 msgid "" -"L is the other commonly used option. The following would " -"increase the size of /dev/sda1 by 200M, and expand /dev/sda2 to fill the " -"rest of the available space:" +"Windows may initiate a lengthy \"chkdsk\" on first boot after a resize, if " +"NTFS partitions have been expanded. This is just a safety check and (unless " +"it find errors) is nothing to worry about." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:163 -#, no-wrap -msgid "" -" # virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n" -" indisk outdisk\n" -"\n" +# type: =head1 +#: ../tools/virt-resize.pl:1374 +msgid "ALTERNATIVE TOOLS" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:166 +#: ../tools/virt-resize.pl:1376 msgid "" -"If the expanded partition in the image contains a filesystem or LVM PV, then " -"if virt-resize knows how, it will resize the contents, the equivalent of " -"calling a command such as L, L or L. However virt-resize does not know how to resize some filesystems, so you " -"would have to online resize them after booting the guest. And virt-resize " -"also does not resize anything inside an LVM PV, it just resizes the PV " -"itself and leaves the user to resize any LVs inside that PV as desired." +"There are several proprietary tools for resizing partitions. We won't " +"mention any here." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:175 -msgid "Other options are covered below." +#: ../tools/virt-resize.pl:1379 +msgid "" +"L and its graphical shell gparted can do some types of resizing " +"operations on disk images. They can resize and move partitions, but I don't " +"think they can do anything with the contents, and they certainly don't " +"understand LVM." msgstr "" -# type: =item -#: ../tools/virt-resize.pl:177 -msgid "6. Test" +# type: textblock +#: ../tools/virt-resize.pl:1384 +msgid "" +"L can do everything that virt-resize can do and a lot more, " +"but at a much lower level. You will probably end up hand-calculating sector " +"offsets, which is something that virt-resize was designed to avoid. If you " +"want to see the guestfish-equivalent commands that virt-resize runs, use the " +"C<--debug> flag." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:179 -msgid "Thoroughly test the new disk image I discarding the old one." +#: ../tools/virt-resize.pl:1392 +msgid "" +"L, L, L, " +"L, L, L, L, L, " +"L, L, L, L, L, L." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:181 -msgid "If you are using libvirt, edit the XML to point at the new disk:" +#: ../tools/virt-list-filesystems.pl:32 +msgid "" +"virt-list-filesystems - List filesystems in a virtual machine or disk image" msgstr "" # type: verbatim -#: ../tools/virt-resize.pl:183 +#: ../tools/virt-list-filesystems.pl:36 #, no-wrap msgid "" -" # virsh edit guestname\n" +" virt-list-filesystems [--options] domname\n" "\n" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:185 +# type: verbatim +#: ../tools/virt-list-filesystems.pl:38 +#, no-wrap msgid "" -"Change Esource ...E, see L" +" virt-list-filesystems [--options] disk.img [disk.img ...]\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:188 -msgid "Then start up the domain with the new, resized disk:" +#: ../tools/virt-list-filesystems.pl:42 +msgid "" +"C is a command line tool to list the filesystems that " +"are contained in a virtual machine or disk image." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:190 -#, no-wrap +# type: textblock +#: ../tools/virt-list-filesystems.pl:46 msgid "" -" # virsh start guestname\n" -"\n" +"C is just a simple wrapper around L " +"functionality. For more complex cases you should look at the L tool." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:192 +#: ../tools/virt-list-filesystems.pl:88 msgid "" -"and check that it still works. See also the L section below for " -"additional information." +"With this option, C displays the type of each " +"filesystem too (where \"type\" means C, C etc.)" msgstr "" # type: =item -#: ../tools/virt-resize.pl:195 -msgid "7. Resize LVs etc inside the guest" +#: ../tools/virt-list-filesystems.pl:95 +msgid "B<-a> | B<--all>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:197 -msgid "(This can also be done offline using L)" +#: ../tools/virt-list-filesystems.pl:97 +msgid "" +"Normally we only show mountable filesystems. If this option is given then " +"swap devices are shown too." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:199 +#: ../tools/virt-list-filesystems.pl:193 msgid "" -"Once the guest has booted you should see the new space available, at least " -"for filesystems that virt-resize knows how to resize, and for PVs. The user " -"may need to resize LVs inside PVs, and also resize filesystem types that " -"virt-resize does not know how to expand." +"L, L, L, L, L, L, L, L, L." msgstr "" -# type: =head2 -#: ../tools/virt-resize.pl:206 -msgid "SHRINKING A VIRTUAL MACHINE DISK" +# type: textblock +#: ../tools/virt-cat.pl:34 +msgid "virt-cat - Display a file in a virtual machine" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:208 +# type: verbatim +#: ../tools/virt-cat.pl:38 +#, no-wrap msgid "" -"Shrinking is somewhat more complex than expanding, and only an overview is " -"given here." +" virt-cat [--options] domname file\n" +"\n" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:211 +# type: verbatim +#: ../tools/virt-cat.pl:40 +#, no-wrap msgid "" -"Firstly virt-resize will not attempt to shrink any partition content (PVs, " -"filesystems). The user has to shrink content before passing the disk image " -"to virt-resize, and virt-resize will check that the content has been shrunk " -"properly." +" virt-cat [--options] disk.img [disk.img ...] file\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:216 -msgid "(Shrinking can also be done offline using L)" +#: ../tools/virt-cat.pl:44 +msgid "" +"C is a command line tool to display the contents of C where " +"C exists in the named virtual machine (or disk image)." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:218 +#: ../tools/virt-cat.pl:47 msgid "" -"After shrinking PVs and filesystems, shut down the guest, and proceed with " -"steps 3 and 4 above to allocate a new disk image." +"C can be used to quickly view a single file. To edit a file, use " +"C. For more complex cases you should look at the L " +"tool." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:221 +#: ../tools/virt-cat.pl:53 msgid "" -"Then run virt-resize with any of the C<--shrink> and/or C<--resize> options." -msgstr "" - -# type: =head2 -#: ../tools/virt-resize.pl:224 -msgid "IGNORING OR DELETING PARTITIONS" +"Display C file from inside the libvirt VM called C:" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:226 +# type: verbatim +#: ../tools/virt-cat.pl:56 +#, no-wrap msgid "" -"virt-resize also gives a convenient way to ignore or delete partitions when " -"copying from the input disk to the output disk. Ignoring a partition speeds " -"up the copy where you don't care about the existing contents of a " -"partition. Deleting a partition removes it completely, but note that it " -"also renumbers any partitions after the one which is deleted, which can " -"leave some guests unbootable." +" virt-cat mydomain /etc/fstab\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:243 -msgid "Display help." +#: ../tools/virt-cat.pl:58 +msgid "List syslog messages from a VM:" msgstr "" -# type: =item -#: ../tools/virt-resize.pl:257 -msgid "B<--resize part=size>" +# type: verbatim +#: ../tools/virt-cat.pl:60 +#, no-wrap +msgid "" +" virt-cat mydomain /var/log/messages | tail\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:259 +#: ../tools/virt-cat.pl:62 +msgid "Find out what DHCP IP address a VM acquired:" +msgstr "" + +# type: verbatim +#: ../tools/virt-cat.pl:64 +#, no-wrap msgid "" -"Resize the named partition (expanding or shrinking it) so that it has the " -"given size." +" virt-cat mydomain /var/log/messages | grep 'dhclient: bound to' | tail\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:262 -msgid "" -"C can be expressed as an absolute number followed by b/K/M/G/T/P/E to " -"mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Petabytes or " -"Exabytes; or as a percentage of the current size; or as a relative number or " -"percentage. For example:" +#: ../tools/virt-cat.pl:66 +msgid "Find out what packages were recently installed:" msgstr "" # type: verbatim -#: ../tools/virt-resize.pl:267 +#: ../tools/virt-cat.pl:68 #, no-wrap msgid "" -" --resize /dev/sda2=10G\n" +" virt-cat mydomain /var/log/yum.log | tail\n" "\n" msgstr "" +# type: textblock +#: ../tools/virt-cat.pl:70 +msgid "Find out who is logged on inside a virtual machine:" +msgstr "" + # type: verbatim -#: ../tools/virt-resize.pl:269 +#: ../tools/virt-cat.pl:72 #, no-wrap msgid "" -" --resize /dev/sda4=90%\n" +" virt-cat mydomain /var/run/utmp > /tmp/utmp\n" +" who /tmp/utmp\n" "\n" msgstr "" +# type: textblock +#: ../tools/virt-cat.pl:75 +msgid "or who was logged on:" +msgstr "" + # type: verbatim -#: ../tools/virt-resize.pl:271 +#: ../tools/virt-cat.pl:77 #, no-wrap msgid "" -" --resize /dev/sda2=+1G\n" +" virt-cat mydomain /var/log/wtmp > /tmp/wtmp\n" +" last -f /tmp/wtmp\n" "\n" msgstr "" +# type: textblock +#: ../tools/virt-cat.pl:165 +msgid "" +"L, L, L, L, L, L, L." +msgstr "" + +# type: textblock +#: ../tools/virt-tar.pl:34 +msgid "virt-tar - Extract or upload files to a virtual machine" +msgstr "" + # type: verbatim -#: ../tools/virt-resize.pl:273 +#: ../tools/virt-tar.pl:38 #, no-wrap msgid "" -" --resize /dev/sda2=-200M\n" +" virt-tar [--options] -x domname directory tarball\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-resize.pl:275 +#: ../tools/virt-tar.pl:40 #, no-wrap msgid "" -" --resize /dev/sda1=+128K\n" +" virt-tar [--options] -u domname tarball directory\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-resize.pl:277 +#: ../tools/virt-tar.pl:42 #, no-wrap msgid "" -" --resize /dev/sda1=+10%\n" +" virt-tar [--options] disk.img [disk.img ...] -x directory tarball\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-resize.pl:279 +#: ../tools/virt-tar.pl:44 #, no-wrap msgid "" -" --resize /dev/sda1=-10%\n" +" virt-tar [--options] disk.img [disk.img ...] -u tarball directory\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:281 -msgid "" -"You can increase the size of any partition. Virt-resize will expand the " -"direct content of the partition if it knows how (see C<--expand> below)." +#: ../tools/virt-tar.pl:48 +msgid "Download C from the VM into a local tarball:" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:285 +# type: verbatim +#: ../tools/virt-tar.pl:50 +#, no-wrap msgid "" -"You can only I the size of partitions that contain filesystems or " -"PVs which have already been shrunk. Virt-resize will check this has been " -"done before proceeding, or else will print an error (see also C<--resize-" -"force>)." -msgstr "" - -# type: textblock -#: ../tools/virt-resize.pl:290 ../tools/virt-resize.pl:382 -#: ../tools/virt-resize.pl:399 -msgid "You can give this option multiple times." -msgstr "" - -# type: =item -#: ../tools/virt-resize.pl:296 -msgid "B<--resize-force part=size>" +" virt-tar -x domname /home home.tar\n" +"\n" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:298 +# type: verbatim +#: ../tools/virt-tar.pl:52 +#, no-wrap msgid "" -"This is the same as C<--resize> except that it will let you decrease the " -"size of any partition. Generally this means you will lose any data which " -"was at the end of the partition you shrink, but you may not care about that " -"(eg. if shrinking an unused partition, or if you can easily recreate it such " -"as a swap partition)." +" virt-tar -zx domname /home home.tar.gz\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:304 -msgid "See also the C<--ignore> option." -msgstr "" - -# type: =item -#: ../tools/virt-resize.pl:310 -msgid "B<--expand part>" +#: ../tools/virt-tar.pl:54 +msgid "Upload a local tarball and unpack it inside C in the VM:" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:312 +# type: verbatim +#: ../tools/virt-tar.pl:56 +#, no-wrap msgid "" -"Expand the named partition so it uses up all extra space (space left over " -"after any other resize changes that you request have been done)." +" virt-tar -u domname uploadstuff.tar /tmp\n" +"\n" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:315 +# type: verbatim +#: ../tools/virt-tar.pl:58 +#, no-wrap msgid "" -"If virt-resize knows how, it will expand the direct content of the " -"partition. For example, if the partition is an LVM PV, it will expand the " -"PV to fit (like calling L). Virt-resize leaves any other " -"content it doesn't know about alone." -msgstr "" - -# type: textblock -#: ../tools/virt-resize.pl:320 -msgid "Currently virt-resize can resize:" +" virt-tar -zu domname uploadstuff.tar.gz /tmp\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:326 +#: ../tools/virt-tar.pl:62 msgid "" -"ext2, ext3 and ext4 filesystems when they are contained directly inside a " -"partition." +"You must I use C with the C<-u> option (upload) on live " +"virtual machines. If you do this, you risk disk corruption in the VM. " +"C tries to stop you from doing this, but doesn't catch all cases." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:331 +#: ../tools/virt-tar.pl:67 msgid "" -"NTFS filesystems contained directly in a partition, if libguestfs was " -"compiled with support for NTFS." +"You can use C<-x> (extract) on live virtual machines, but you might get " +"inconsistent results or errors if there is filesystem activity inside the " +"VM. If the live VM is synched and quiescent, then C will usually " +"work, but the only way to guarantee consistent results is if the virtual " +"machine is shut down." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:334 +#: ../tools/virt-tar.pl:75 msgid "" -"The filesystem must have been shut down consistently last time it was used. " -"Additionally, L marks the resized filesystem as requiring a " -"consistency check, so at the first boot after resizing Windows will check " -"the disk." +"C is a general purpose archive tool for downloading and uploading " +"parts of a guest filesystem. There are many possibilities: making backups, " +"uploading data files, snooping on guest activity, fixing or customizing " +"guests, etc." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:341 +#: ../tools/virt-tar.pl:80 msgid "" -"LVM PVs (physical volumes). However virt-resize does I resize anything " -"inside the PV. The user will have to resize LVs as desired." +"If you want to just view a single file, use L. If you just " +"want to edit a single file, use L. For more complex cases you " +"should look at the L tool." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:347 ../tools/virt-resize.pl:369 -msgid "Note that you cannot use C<--expand> and C<--shrink> together." -msgstr "" - -# type: =item -#: ../tools/virt-resize.pl:353 -msgid "B<--shrink part>" +#: ../tools/virt-tar.pl:84 +msgid "" +"There are two modes of operation: C<-x> (eXtract) downloads a directory and " +"its contents (recursively) from the virtual machine into a local tarball. " +"C<-u> uploads from a local tarball, unpacking it into a directory inside the " +"virtual machine. You cannot use these two options together." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:355 +#: ../tools/virt-tar.pl:90 msgid "" -"Shrink the named partition until the overall disk image fits in the " -"destination. The named partition B contain a filesystem or PV which " -"has already been shrunk using another tool (eg. L or other " -"online tools). Virt-resize will check this and give an error if it has not " -"been done." +"In addition, you may need to use the C<-z> (gZip) option to enable " +"compression. When uploading, you have to specify C<-z> if the upload file " +"is compressed because virt-tar won't detect this on its own." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:361 +#: ../tools/virt-tar.pl:94 msgid "" -"The amount by which the overall disk must be shrunk (after carrying out all " -"other operations requested by the user) is called the \"deficit\". For " -"example, a straight copy (assume no other operations) from a 5GB disk image " -"to a 4GB disk image results in a 1GB deficit. In this case, virt-resize " -"would give an error unless the user specified a partition to shrink and that " -"partition had more than a gigabyte of free space." +"C can only handle tar (optionally gzipped) format tarballs. For " +"example it cannot do PKZip files or bzip2 compression. If you want that " +"then you'll have to rebuild the tarballs yourself. (This is a limitation of " +"the L API)." msgstr "" # type: =item -#: ../tools/virt-resize.pl:375 -msgid "B<--ignore part>" -msgstr "" - -# type: textblock -#: ../tools/virt-resize.pl:377 -msgid "" -"Ignore the named partition. Effectively this means the partition is " -"allocated on the destination disk, but the content is not copied across from " -"the source disk. The content of the partition will be blank (all zero " -"bytes)." +#: ../tools/virt-tar.pl:135 +msgid "B<-x> | B<--extract> | B<--download>" msgstr "" # type: =item -#: ../tools/virt-resize.pl:388 -msgid "B<--delete part>" +#: ../tools/virt-tar.pl:137 +msgid "B<-u> | B<--upload>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:390 +#: ../tools/virt-tar.pl:139 msgid "" -"Delete the named partition. It would be more accurate to describe this as " -"\"don't copy it over\", since virt-resize doesn't do in-place changes and " -"the original disk image is left intact." +"Use C<-x> to extract (download) a directory from a virtual machine to a " +"local tarball." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:394 +#: ../tools/virt-tar.pl:142 msgid "" -"Note that when you delete a partition, then anything contained in the " -"partition is also deleted. Furthermore, this causes any partitions that " -"come after to be I, which can easily make your guest unbootable." -msgstr "" - -# type: =item -#: ../tools/virt-resize.pl:405 -msgid "B<--LV-expand logvol>" +"Use C<-u> to upload and unpack from a local tarball into a virtual machine. " +"Please read the L section above before using this option." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:407 -msgid "" -"This takes the logical volume and, as a final step, expands it to fill all " -"the space available in its volume group. A typical usage, assuming a Linux " -"guest with a single PV C and a root device called C would be:" +#: ../tools/virt-tar.pl:146 +msgid "You must specify exactly one of these options." msgstr "" -# type: verbatim -#: ../tools/virt-resize.pl:412 -#, no-wrap -msgid "" -" virt-resize indisk outdisk \\\n" -" --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root\n" -"\n" +# type: =item +#: ../tools/virt-tar.pl:152 +msgid "B<-z> | B<--gzip>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:415 -msgid "" -"This would first expand the partition (and PV), and then expand the root " -"device to fill the extra space in the PV." +#: ../tools/virt-tar.pl:154 +msgid "Specify that the input or output tarball is gzip-compressed." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:418 +#: ../tools/virt-tar.pl:259 msgid "" -"The contents of the LV are also resized if virt-resize knows how to do " -"that. You can stop virt-resize from trying to expand the content by using " -"the option C<--no-expand-content>." -msgstr "" - -# type: textblock -#: ../tools/virt-resize.pl:422 -msgid "Use L to list the filesystems in the guest." +"L, L, L, L, L, L, L, L." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:425 -msgid "" -"You can give this option multiple times, I it doesn't make sense to do " -"this unless the logical volumes you specify are all in different volume " -"groups." -msgstr "" - -# type: =item -#: ../tools/virt-resize.pl:433 -msgid "B<--no-copy-boot-loader>" +#: ../tools/virt-rescue.pl:33 +msgid "virt-rescue - Run a rescue shell on a virtual machine" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:435 +# type: verbatim +#: ../tools/virt-rescue.pl:37 +#, no-wrap msgid "" -"By default, virt-resize copies over some sectors at the start of the disk " -"(up to the beginning of the first partition). Commonly these sectors " -"contain the Master Boot Record (MBR) and the boot loader, and are required " -"in order for the guest to boot correctly." +" virt-rescue [--options] domname\n" +"\n" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:440 +# type: verbatim +#: ../tools/virt-rescue.pl:39 +#, no-wrap msgid "" -"If you specify this flag, then this initial copy is not done. You may need " -"to reinstall the boot loader in this case." +" virt-rescue [--options] disk.img [disk.img ...]\n" +"\n" msgstr "" -# type: =item -#: ../tools/virt-resize.pl:448 -msgid "B<--no-extra-partition>" +# type: textblock +#: ../tools/virt-rescue.pl:43 +msgid "" +"You must I use C on live virtual machines. Doing so will " +"probably result in disk corruption in the VM. C tries to stop " +"you from doing this, but doesn't catch all cases." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:450 +#: ../tools/virt-rescue.pl:47 msgid "" -"By default, virt-resize creates an extra partition if there is any extra, " -"unused space after all resizing has happened. Use this option to prevent " -"the extra partition from being created. If you do this then the extra space " -"will be inaccessible until you run fdisk, parted, or some other partitioning " -"tool in the guest." +"However if you use the I<--ro> (read only) option, then you can attach a " +"shell to a live virtual machine. The results might be strange or " +"inconsistent at times but you won't get disk corruption." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:456 +#: ../tools/virt-rescue.pl:53 msgid "" -"Note that if the surplus space is smaller than 10 MB, no extra partition " -"will be created." +"virt-rescue is like a Rescue CD, but for virtual machines, and without the " +"need for a CD. virt-rescue gives you a rescue shell and some simple " +"recovery tools which you can use to examine or rescue a virtual machine or " +"disk image." msgstr "" -# type: =item -#: ../tools/virt-resize.pl:463 -msgid "B<--no-expand-content>" +# type: textblock +#: ../tools/virt-rescue.pl:58 +msgid "" +"You can run virt-rescue on any virtual machine known to libvirt, or directly " +"on disk image(s):" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:465 +# type: verbatim +#: ../tools/virt-rescue.pl:61 +#, no-wrap msgid "" -"By default, virt-resize will try to expand the direct contents of " -"partitions, if it knows how (see C<--expand> option above)." +" virt-rescue GuestName\n" +"\n" msgstr "" -# type: textblock -#: ../tools/virt-resize.pl:468 +# type: verbatim +#: ../tools/virt-rescue.pl:63 +#, no-wrap msgid "" -"If you give the C<--no-expand-content> option then virt-resize will not " -"attempt this." +" virt-rescue --ro /path/to/disk.img\n" +"\n" msgstr "" -# type: =item -#: ../tools/virt-resize.pl:475 -msgid "B<-d> | B<--debug>" +# type: verbatim +#: ../tools/virt-rescue.pl:65 +#, no-wrap +msgid "" +" virt-rescue /dev/sdc\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:477 ../tools/virt-win-reg.pl:198 -msgid "Enable debugging messages." +#: ../tools/virt-rescue.pl:67 +msgid "For live VMs you I use the --ro option." msgstr "" -# type: =item -#: ../tools/virt-resize.pl:483 -msgid "B<-n> | B<--dryrun>" +# type: textblock +#: ../tools/virt-rescue.pl:69 +msgid "" +"When you run virt-rescue on a virtual machine or disk image, you are placed " +"in an interactive bash shell where you can use many ordinary Linux " +"commands. What you see in C (C, C etc) is the rescue " +"appliance. You must mount the virtual machine's filesystems by hand. There " +"is an empty directory called C where you can mount filesystems." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:485 -msgid "Print a summary of what would be done, but don't do anything." +#: ../tools/virt-rescue.pl:76 +msgid "" +"In the example below, we list logical volumes, then choose one to mount " +"under C:" msgstr "" -# type: =item -#: ../tools/virt-resize.pl:491 -msgid "B<-q> | B<--quiet>" +# type: verbatim +#: ../tools/virt-rescue.pl:79 +#, no-wrap +msgid "" +" > lvs\n" +" LV VG Attr LSize Origin Snap% Move Log Copy% Convert\n" +" lv_root vg_f11x64 -wi-a- 8.83G\n" +" lv_swap vg_f11x64 -wi-a- 992.00M\n" +" > mount /dev/vg_f11x64/lv_root /sysroot\n" +" > ls /sysroot\n" +"\n" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:493 -msgid "Don't print the summary." +#: ../tools/virt-rescue.pl:86 +msgid "" +"If you don't know what filesystems are available on the virtual machine then " +"you can use commands such as L and L to find out." msgstr "" -# type: =head2 -#: ../tools/virt-resize.pl:1352 -msgid "\"Partition 1 does not end on cylinder boundary.\"" +# type: textblock +#: ../tools/virt-rescue.pl:92 +msgid "" +"Virt-rescue can be used on I disk image file or device, not just a " +"virtual machine. For example you can use it on a blank file if you want to " +"partition that file (although we would recommend using L " +"instead as it is more suitable for this purpose). You can even use virt-" +"rescue on things like SD cards." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:1354 +#: ../tools/virt-rescue.pl:98 msgid "" -"Virt-resize aligns partitions to multiples of 64 sectors. Usually this " -"means the partitions will not be aligned to the ancient CHS geometry. " -"However CHS geometry is meaningless for disks manufactured since the early " -"1990s, and doubly so for virtual hard drives. Alignment of partitions to " -"cylinders is not required by any modern operating system." +"This tool is just designed for quick interactive hacking on a virtual " +"machine. For more structured access to a virtual machine disk image, you " +"should use L. To get a structured shell that you can use to " +"make scripted changes to guests, use L." msgstr "" -# type: =head2 -#: ../tools/virt-resize.pl:1361 -msgid "RESIZING WINDOWS VIRTUAL MACHINES" +# type: =item +#: ../tools/virt-rescue.pl:127 +msgid "B<--append kernelopts>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:1363 -msgid "" -"In Windows Vista and later versions, Microsoft switched to using a separate " -"boot partition. In these VMs, typically C is the boot partition " -"and C is the main (C:) drive. We have not had any luck resizing " -"the boot partition. Doing so seems to break the guest completely. However " -"expanding the second partition (ie. C: drive) should work." +#: ../tools/virt-rescue.pl:129 +msgid "Pass additional options to the rescue kernel." +msgstr "" + +# type: =item +#: ../tools/virt-rescue.pl:147 +msgid "B<--memsize MB> | B<-m MB>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:1370 +#: ../tools/virt-rescue.pl:149 msgid "" -"Windows may initiate a lengthy \"chkdsk\" on first boot after a resize, if " -"NTFS partitions have been expanded. This is just a safety check and (unless " -"it find errors) is nothing to worry about." +"Change the amount of memory allocated to the rescue system. The default is " +"set by libguestfs and is small but adequate for running system tools. The " +"occasional program might need more memory. The parameter is specified in " +"megabytes." msgstr "" -# type: =head1 -#: ../tools/virt-resize.pl:1374 -msgid "ALTERNATIVE TOOLS" +# type: =item +#: ../tools/virt-rescue.pl:158 +msgid "B<--ro> | B<-r>" msgstr "" # type: textblock -#: ../tools/virt-resize.pl:1376 -msgid "" -"There are several proprietary tools for resizing partitions. We won't " -"mention any here." +#: ../tools/virt-rescue.pl:160 +msgid "Open the image read-only." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:1379 +#: ../tools/virt-rescue.pl:172 msgid "" -"L and its graphical shell gparted can do some types of resizing " -"operations on disk images. They can resize and move partitions, but I don't " -"think they can do anything with the contents, and they certainly don't " -"understand LVM." +"Enable SELinux in the rescue appliance. You should read L before using this option." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:1384 +#: ../tools/virt-rescue.pl:228 msgid "" -"L can do everything that virt-resize can do and a lot more, " -"but at a much lower level. You will probably end up hand-calculating sector " -"offsets, which is something that virt-resize was designed to avoid. If you " -"want to see the guestfish-equivalent commands that virt-resize runs, use the " -"C<--debug> flag." +"Several environment variables affect virt-rescue. See L for the complete list." msgstr "" # type: textblock -#: ../tools/virt-resize.pl:1392 +#: ../tools/virt-rescue.pl:233 msgid "" -"L, L, L, " -"L, L, L, L, L, " -"L, L, L, L, L, L." +"L, L, L, L, L, L, L." msgstr "" # type: textblock -#: ../tools/virt-tar.pl:34 -msgid "virt-tar - Extract or upload files to a virtual machine" +#: ../tools/virt-make-fs.pl:37 +msgid "virt-make-fs - Make a filesystem from a tar archive or files" msgstr "" # type: verbatim -#: ../tools/virt-tar.pl:38 +#: ../tools/virt-make-fs.pl:41 #, no-wrap msgid "" -" virt-tar [--options] -x domname directory tarball\n" +" virt-make-fs [--options] input.tar output.img\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-tar.pl:40 +#: ../tools/virt-make-fs.pl:43 #, no-wrap msgid "" -" virt-tar [--options] -u domname tarball directory\n" +" virt-make-fs [--options] input.tar.gz output.img\n" "\n" msgstr "" # type: verbatim -#: ../tools/virt-tar.pl:42 +#: ../tools/virt-make-fs.pl:45 #, no-wrap msgid "" -" virt-tar [--options] disk.img [disk.img ...] -x directory tarball\n" +" virt-make-fs [--options] directory output.img\n" "\n" msgstr "" -# type: verbatim -#: ../tools/virt-tar.pl:44 -#, no-wrap +# type: textblock +#: ../tools/virt-make-fs.pl:49 msgid "" -" virt-tar [--options] disk.img [disk.img ...] -u tarball directory\n" -"\n" +"Virt-make-fs is a command line tool for creating a filesystem from a tar " +"archive or some files in a directory. It is similar to tools like L, L and L. Unlike those tools, it can " +"create common filesystem types like ext2/3 or NTFS, which can be useful if " +"you want to attach these filesystems to existing virtual machines (eg. to " +"import large amounts of read-only data to a VM)." msgstr "" # type: textblock -#: ../tools/virt-tar.pl:48 -msgid "Download C from the VM into a local tarball:" +#: ../tools/virt-make-fs.pl:57 +msgid "Basic usage is:" msgstr "" # type: verbatim -#: ../tools/virt-tar.pl:50 +#: ../tools/virt-make-fs.pl:59 #, no-wrap msgid "" -" virt-tar -x domname /home home.tar\n" +" virt-make-fs input output\n" "\n" msgstr "" -# type: verbatim -#: ../tools/virt-tar.pl:52 -#, no-wrap +# type: textblock +#: ../tools/virt-make-fs.pl:61 msgid "" -" virt-tar -zx domname /home home.tar.gz\n" -"\n" +"where C is either a directory containing files that you want to add, " +"or a tar archive (either uncompressed tar or gzip-compressed tar); and " +"C is a disk image. The input type is detected automatically. The " +"output disk image defaults to a raw ext2 image unless you specify extra " +"flags (see L below)." +msgstr "" + +# type: =head2 +#: ../tools/virt-make-fs.pl:67 +msgid "EXTRA SPACE" +msgstr "" + +# type: textblock +#: ../tools/virt-make-fs.pl:69 +msgid "" +"Unlike formats such as tar and squashfs, a filesystem does not \"just fit\" " +"the files that it contains, but might have extra space. Depending on how " +"you are going to use the output, you might think this extra space is wasted " +"and want to minimize it, or you might want to leave space so that more files " +"can be added later. Virt-make-fs defaults to minimizing the extra space, " +"but you can use the C<--size> flag to leave space in the filesystem if you " +"want it." msgstr "" # type: textblock -#: ../tools/virt-tar.pl:54 -msgid "Upload a local tarball and unpack it inside C in the VM:" +#: ../tools/virt-make-fs.pl:77 +msgid "" +"An alternative way to leave extra space but not make the output image any " +"bigger is to use an alternative disk image format (instead of the default " +"\"raw\" format). Using C<--format=qcow2> will use the native QEmu/KVM qcow2 " +"image format (check your hypervisor supports this before using it). This " +"allows you to choose a large C<--size> but the extra space won't actually be " +"allocated in the image until you try to store something in it." msgstr "" -# type: verbatim -#: ../tools/virt-tar.pl:56 -#, no-wrap +# type: textblock +#: ../tools/virt-make-fs.pl:85 msgid "" -" virt-tar -u domname uploadstuff.tar /tmp\n" -"\n" +"Don't forget that you can also use local commands including L " +"and L to resize existing filesystems, or rerun virt-make-" +"resize to build another image from scratch." +msgstr "" + +# type: =head3 +#: ../tools/virt-make-fs.pl:89 ../tools/virt-make-fs.pl:123 +#: ../tools/virt-make-fs.pl:142 +msgid "EXAMPLE" msgstr "" # type: verbatim -#: ../tools/virt-tar.pl:58 +#: ../tools/virt-make-fs.pl:91 #, no-wrap msgid "" -" virt-tar -zu domname uploadstuff.tar.gz /tmp\n" +" virt-make-fs --format=qcow2 --size=+200M input output.img\n" "\n" msgstr "" -# type: textblock -#: ../tools/virt-tar.pl:62 -msgid "" -"You must I use C with the C<-u> option (upload) on live " -"virtual machines. If you do this, you risk disk corruption in the VM. " -"C tries to stop you from doing this, but doesn't catch all cases." +# type: =head2 +#: ../tools/virt-make-fs.pl:93 +msgid "FILESYSTEM TYPE" msgstr "" # type: textblock -#: ../tools/virt-tar.pl:67 +#: ../tools/virt-make-fs.pl:95 msgid "" -"You can use C<-x> (extract) on live virtual machines, but you might get " -"inconsistent results or errors if there is filesystem activity inside the " -"VM. If the live VM is synched and quiescent, then C will usually " -"work, but the only way to guarantee consistent results is if the virtual " -"machine is shut down." +"The default filesystem type is C. Just about any filesystem type that " +"libguestfs supports can be used (but I read-only formats like " +"ISO9660). Here are some of the more common choices:" msgstr "" -# type: textblock -#: ../tools/virt-tar.pl:75 -msgid "" -"C is a general purpose archive tool for downloading and uploading " -"parts of a guest filesystem. There are many possibilities: making backups, " -"uploading data files, snooping on guest activity, fixing or customizing " -"guests, etc." +# type: =item +#: ../tools/virt-make-fs.pl:101 +msgid "I" msgstr "" # type: textblock -#: ../tools/virt-tar.pl:80 +#: ../tools/virt-make-fs.pl:103 msgid "" -"If you want to just view a single file, use L. If you just " -"want to edit a single file, use L. For more complex cases you " -"should look at the L tool." +"Note that ext3 filesystems contain a journal, typically 1-32 MB in size. If " +"you are not going to use the filesystem in a way that requires the journal, " +"then this is just wasted overhead." msgstr "" -# type: textblock -#: ../tools/virt-tar.pl:84 -msgid "" -"There are two modes of operation: C<-x> (eXtract) downloads a directory and " -"its contents (recursively) from the virtual machine into a local tarball. " -"C<-u> uploads from a local tarball, unpacking it into a directory inside the " -"virtual machine. You cannot use these two options together." +# type: =item +#: ../tools/virt-make-fs.pl:107 +msgid "I or I" msgstr "" # type: textblock -#: ../tools/virt-tar.pl:90 -msgid "" -"In addition, you may need to use the C<-z> (gZip) option to enable " -"compression. When uploading, you have to specify C<-z> if the upload file " -"is compressed because virt-tar won't detect this on its own." +#: ../tools/virt-make-fs.pl:109 +msgid "Useful if exporting data to a Windows guest." msgstr "" # type: textblock -#: ../tools/virt-tar.pl:94 +#: ../tools/virt-make-fs.pl:111 msgid "" -"C can only handle tar (optionally gzipped) format tarballs. For " -"example it cannot do PKZip files or bzip2 compression. If you want that " -"then you'll have to rebuild the tarballs yourself. (This is a limitation of " -"the L API)." -msgstr "" - -# type: =item -#: ../tools/virt-tar.pl:135 -msgid "B<-x> | B<--extract> | B<--download>" +"I: The tar archive or local directory must only contain files " +"which are owned by root (ie. UID:GID = 0:0). The reason is that the tar " +"program running within libguestfs is unable to change the ownership of non-" +"root files, since vfat itself does not support this." msgstr "" # type: =item -#: ../tools/virt-tar.pl:137 -msgid "B<-u> | B<--upload>" +#: ../tools/virt-make-fs.pl:116 +msgid "I" msgstr "" # type: textblock -#: ../tools/virt-tar.pl:139 +#: ../tools/virt-make-fs.pl:118 msgid "" -"Use C<-x> to extract (download) a directory from a virtual machine to a " -"local tarball." +"Lower overhead than C, but certain limitations on filename length and " +"total filesystem size." msgstr "" -# type: textblock -#: ../tools/virt-tar.pl:142 +# type: verbatim +#: ../tools/virt-make-fs.pl:125 +#, no-wrap msgid "" -"Use C<-u> to upload and unpack from a local tarball into a virtual machine. " -"Please read the L section above before using this option." +" virt-make-fs --type=minix input minixfs.img\n" +"\n" msgstr "" -# type: textblock -#: ../tools/virt-tar.pl:146 -msgid "You must specify exactly one of these options." +# type: =head2 +#: ../tools/virt-make-fs.pl:127 +msgid "TO PARTITION OR NOT TO PARTITION" msgstr "" -# type: =item -#: ../tools/virt-tar.pl:152 -msgid "B<-z> | B<--gzip>" +# type: textblock +#: ../tools/virt-make-fs.pl:129 +msgid "Optionally virt-make-fs can add a partition table to the output disk." msgstr "" # type: textblock -#: ../tools/virt-tar.pl:154 -msgid "Specify that the input or output tarball is gzip-compressed." +#: ../tools/virt-make-fs.pl:131 +msgid "" +"Adding a partition can make the disk image more compatible with certain " +"virtualized operating systems which don't expect to see a filesystem " +"directly located on a block device (Linux doesn't care and will happily " +"handle both types)." msgstr "" # type: textblock -#: ../tools/virt-tar.pl:259 +#: ../tools/virt-make-fs.pl:136 msgid "" -"L, L, L, L, L, L, L, L." +"On the other hand, if you have a partition table then the output image is no " +"longer a straight filesystem. For example you cannot run L " +"directly on a partitioned disk image. (However libguestfs tools such as " +"L and L can still be used)." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:38 -msgid "" -"virt-win-reg - Export and merge Windows Registry entries from a Windows guest" +#: ../tools/virt-make-fs.pl:144 +msgid "Add an MBR partition:" msgstr "" # type: verbatim -#: ../tools/virt-win-reg.pl:42 +#: ../tools/virt-make-fs.pl:146 #, no-wrap msgid "" -" virt-win-reg domname 'HKLM\\Path\\To\\Subkey'\n" +" virt-make-fs --partition -- input disk.img\n" "\n" msgstr "" -# type: verbatim -#: ../tools/virt-win-reg.pl:44 -#, no-wrap +# type: textblock +#: ../tools/virt-make-fs.pl:148 msgid "" -" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' name\n" -"\n" +"If the output disk image could be terabyte-sized or larger, it's better to " +"use an EFI/GPT-compatible partition table:" msgstr "" # type: verbatim -#: ../tools/virt-win-reg.pl:46 +#: ../tools/virt-make-fs.pl:151 #, no-wrap msgid "" -" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' @\n" +" virt-make-fs --partition=gpt --size=+4T --format=qcow2 input disk.img\n" "\n" msgstr "" -# type: verbatim -#: ../tools/virt-win-reg.pl:48 -#, no-wrap -msgid "" -" virt-win-reg --merge domname [input.reg ...]\n" -"\n" +# type: textblock +#: ../tools/virt-make-fs.pl:179 +msgid "Enable debugging information." msgstr "" -# type: verbatim -#: ../tools/virt-win-reg.pl:50 -#, no-wrap -msgid "" -" virt-win-reg [--options] disk.img ... # instead of domname\n" -"\n" +# type: =item +#: ../tools/virt-make-fs.pl:185 +msgid "B<--size=ENE>" +msgstr "" + +# type: =item +#: ../tools/virt-make-fs.pl:187 +msgid "B<--size=+ENE>" +msgstr "" + +# type: =item +#: ../tools/virt-make-fs.pl:189 +msgid "B<-s ENE>" +msgstr "" + +# type: =item +#: ../tools/virt-make-fs.pl:191 +msgid "B<-s +ENE>" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:54 +#: ../tools/virt-make-fs.pl:193 msgid "" -"You must I use C with the C<--merge> option on live " -"virtual machines. If you do this, you I get irreversible disk " -"corruption in the VM. C tries to stop you from doing this, " -"but doesn't catch all cases." +"Use the C<--size> (or C<-s>) option to choose the size of the output image." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:59 +#: ../tools/virt-make-fs.pl:196 msgid "" -"Modifying the Windows Registry is an inherently risky operation. The format " -"is deliberately obscure and undocumented, and Registry changes can leave the " -"system unbootable. Therefore when using the C<--merge> option, make sure " -"you have a reliable backup first." +"If this option is I given, then the output image will be just large " +"enough to contain all the files, with not much wasted space." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:66 +#: ../tools/virt-make-fs.pl:199 msgid "" -"This program can export and merge Windows Registry entries from a Windows " -"guest." +"To choose a fixed size output disk, specify an absolute number followed by b/" +"K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, " +"Petabytes or Exabytes. This must be large enough to contain all the input " +"files, else you will get an error." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:69 +#: ../tools/virt-make-fs.pl:204 msgid "" -"The first parameter is the libvirt guest name or the raw disk image of a " -"Windows guest." +"To leave extra space, specify C<+> (plus sign) and a number followed by b/K/" +"M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, " +"Petabytes or Exabytes. For example: C<--size=+200M> means enough space for " +"the input files, and (approximately) an extra 200 MB free space." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:72 +#: ../tools/virt-make-fs.pl:210 msgid "" -"If C<--merge> is I specified, then the chosen registry key is displayed/" -"exported (recursively). For example:" +"Note that virt-make-fs estimates free space, and therefore will not produce " +"filesystems containing precisely the free space requested. (It is much more " +"expensive and time-consuming to produce a filesystem which has precisely the " +"desired free space)." msgstr "" -# type: verbatim -#: ../tools/virt-win-reg.pl:75 -#, no-wrap -msgid "" -" $ virt-win-reg Windows7 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft'\n" -"\n" +# type: =item +#: ../tools/virt-make-fs.pl:219 +msgid "B<--format=EfmtE>" +msgstr "" + +# type: =item +#: ../tools/virt-make-fs.pl:221 +msgid "B<-F EfmtE>" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:77 -msgid "" -"You can also display single values from within registry keys, for example:" +#: ../tools/virt-make-fs.pl:223 +msgid "Choose the output disk image format." msgstr "" -# type: verbatim -#: ../tools/virt-win-reg.pl:80 -#, no-wrap -msgid "" -" $ cvkey='HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion'\n" -" $ virt-win-reg Windows7 $cvkey ProductName\n" -" Windows 7 Enterprise\n" -"\n" +# type: textblock +#: ../tools/virt-make-fs.pl:225 +msgid "The default is C (raw disk image)." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:84 +#: ../tools/virt-make-fs.pl:227 msgid "" -"With C<--merge>, you can merge a textual regedit file into the Windows " -"Registry:" +"For other choices, see the L manpage. The only other choice " +"that would really make sense here is C." msgstr "" -# type: verbatim -#: ../tools/virt-win-reg.pl:87 -#, no-wrap -msgid "" -" $ virt-win-reg --merge Windows7 changes.reg\n" -"\n" +# type: =item +#: ../tools/virt-make-fs.pl:234 +msgid "B<--type=EfsE>" msgstr "" -# type: =head2 -#: ../tools/virt-win-reg.pl:89 -msgid "SUPPORTED SYSTEMS" +# type: =item +#: ../tools/virt-make-fs.pl:236 +msgid "B<-t EfsE>" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:91 -msgid "" -"The program currently supports Windows NT-derived guests starting with " -"Windows XP through to at least Windows 7." +#: ../tools/virt-make-fs.pl:238 +msgid "Choose the output filesystem type." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:94 -msgid "" -"Registry support is done for C, C, C, C " -"and C." +#: ../tools/virt-make-fs.pl:240 +msgid "The default is C." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:98 +#: ../tools/virt-make-fs.pl:242 msgid "" -"You can use C as a shorthand for C, and C for " -"C." +"Any filesystem which is supported read-write by libguestfs can be used here." msgstr "" -# type: textblock -#: ../tools/virt-win-reg.pl:101 -msgid "" -"C and C are B supported at this " -"time." +# type: =item +#: ../tools/virt-make-fs.pl:249 +msgid "B<--partition>" msgstr "" -# type: =head2 -#: ../tools/virt-win-reg.pl:104 -msgid "NOTE" +# type: =item +#: ../tools/virt-make-fs.pl:251 +msgid "B<--partition=EparttypeE>" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:106 +#: ../tools/virt-make-fs.pl:253 msgid "" -"This program is only meant for simple access to the registry. If you want " -"to do complicated things with the registry, we suggest you download the " -"Registry hive files from the guest using L or L " -"and access them locally, eg. using L, L or " -"L." -msgstr "" - -# type: =head2 -#: ../tools/virt-win-reg.pl:112 -msgid "ENCODING" +"If specified, this flag adds an MBR partition table to the output disk image." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:114 +#: ../tools/virt-make-fs.pl:256 msgid "" -"C expects that regedit files have already been reencoded in " -"the local encoding. Usually on Linux hosts, this means UTF-8 with Unix-" -"style line endings. Since Windows regedit files are often in UTF-16LE with " -"Windows-style line endings, you may need to reencode the whole file before " -"or after processing." +"You can change the partition table type, eg. C<--partition=gpt> for large " +"disks." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:120 +#: ../tools/virt-make-fs.pl:259 msgid "" -"To reencode a file from Windows format to Linux (before processing it with " -"the C<--merge> option), you would do something like this:" +"Note that if you just use a lonesome C<--partition>, the Perl option parser " +"might consider the next parameter to be the partition type. For example:" msgstr "" # type: verbatim -#: ../tools/virt-win-reg.pl:123 +#: ../tools/virt-make-fs.pl:263 #, no-wrap msgid "" -" iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg\n" +" virt-make-fs --partition input.tar ...\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:125 +#: ../tools/virt-make-fs.pl:265 msgid "" -"To go in the opposite direction, after exporting and before sending the file " -"to a Windows user, do something like this:" +"would cause virt-make-fs to think you wanted to use a partition type of " +"C which is completely wrong. To avoid this, use C<--> (a double " +"dash) between options and the input file argument:" msgstr "" # type: verbatim -#: ../tools/virt-win-reg.pl:128 +#: ../tools/virt-make-fs.pl:269 #, no-wrap msgid "" -" unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg\n" +" virt-make-fs --partition -- input.tar ...\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:130 -msgid "For more information about encoding, see L." -msgstr "" - -# type: textblock -#: ../tools/virt-win-reg.pl:132 +#: ../tools/virt-make-fs.pl:529 msgid "" -"If you are unsure about the current encoding, use the L command. " -"Recent versions of Windows regedit.exe produce a UTF-16LE file with Windows-" -"style (CRLF) line endings, like this:" +"L, L, L, L, " +"L, L, L, L, L, L, L." msgstr "" # type: verbatim -#: ../tools/virt-win-reg.pl:136 +#: ../tools/virt-make-fs.pl:546 #, no-wrap msgid "" -" $ file software.reg\n" -" software.reg: Little-endian UTF-16 Unicode text, with very long lines,\n" -" with CRLF line terminators\n" +" export LIBGUESTFS_DEBUG=1\n" +" virt-make-fs --debug [...] > /tmp/virt-make-fs.log 2>&1\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:140 -msgid "This file would need conversion before you could C<--merge> it." -msgstr "" - -# type: =head2 -#: ../tools/virt-win-reg.pl:142 -msgid "SHELL QUOTING" -msgstr "" - -# type: textblock -#: ../tools/virt-win-reg.pl:144 +#: ../tools/virt-make-fs.pl:549 msgid "" -"Be careful when passing parameters containing C<\\> (backslash) in the " -"shell. Usually you will have to use 'single quotes' or double backslashes " -"(but not both) to protect them from the shell." -msgstr "" - -# type: textblock -#: ../tools/virt-win-reg.pl:148 -msgid "Paths and value names are case-insensitive." -msgstr "" - -# type: =head2 -#: ../tools/virt-win-reg.pl:150 -msgid "CurrentControlSet etc." +"Attach /tmp/virt-make-fs.log to a new bug report at L" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:152 +#: ../tools/virt-list-partitions.pl:32 msgid "" -"Registry keys like C don't really exist in the Windows " -"Registry at the level of the hive file, and therefore you cannot modify " -"these." +"virt-list-partitions - List partitions in a virtual machine or disk image" msgstr "" -# type: textblock -#: ../tools/virt-win-reg.pl:156 +# type: verbatim +#: ../tools/virt-list-partitions.pl:36 +#, no-wrap msgid "" -"C is usually an alias for C. In some " -"circumstances it might refer to another control set. The way to find out is " -"to look at the C key:" +" virt-list-partitions [--options] domname\n" +"\n" msgstr "" # type: verbatim -#: ../tools/virt-win-reg.pl:160 +#: ../tools/virt-list-partitions.pl:38 #, no-wrap msgid "" -" # virt-win-reg WindowsGuest 'HKLM\\SYSTEM\\Select'\n" -" [HKEY_LOCAL_MACHINE\\SYSTEM\\Select]\n" -" \"Current\"=dword:00000001\n" -" \"Default\"=dword:00000001\n" -" \"Failed\"=dword:00000000\n" -" \"LastKnownGood\"=dword:00000002\n" +" virt-list-partitions [--options] disk.img [disk.img ...]\n" "\n" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:167 -msgid "\"Default\" is the one which Windows will choose when it boots." +#: ../tools/virt-list-partitions.pl:42 +msgid "" +"C is a command line tool to list the partitions that " +"are contained in a virtual machine or disk image. It is mainly useful as a " +"first step to using L." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:169 +#: ../tools/virt-list-partitions.pl:47 msgid "" -"Similarly, other C keys in the path may need to be replaced." +"C is just a simple wrapper around L " +"functionality. For more complex cases you should look at the L tool." msgstr "" # type: =item -#: ../tools/virt-win-reg.pl:216 -msgid "B<--merge>" +#: ../tools/virt-list-partitions.pl:87 +msgid "B<-h> | B<--human-readable>" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:218 -msgid "" -"In merge mode, this merges a textual regedit file into the Windows Registry " -"of the virtual machine. If this flag is I given then virt-win-reg " -"displays or exports Registry entries instead." +#: ../tools/virt-list-partitions.pl:89 +msgid "Show sizes in human-readable form (eg. \"1G\")." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:222 +#: ../tools/virt-list-partitions.pl:97 msgid "" -"Note that C<--merge> is I to use on live virtual machines, and will " -"result in disk corruption. However exporting (without this flag) is always " -"safe." +"With this option, C displays the type and size of each " +"partition too (where \"type\" means C, C etc.)" msgstr "" # type: =item -#: ../tools/virt-win-reg.pl:230 -msgid "B<--encoding> UTF-16LE|ASCII" -msgstr "" - -# type: textblock -#: ../tools/virt-win-reg.pl:232 -msgid "" -"When merging (only), you may need to specify the encoding for strings to be " -"used in the hive file. This is explained in detail in L." -msgstr "" - -# type: textblock -#: ../tools/virt-win-reg.pl:236 -msgid "" -"The default is to use UTF-16LE, which should work with recent versions of " -"Windows." +#: ../tools/virt-list-partitions.pl:104 +msgid "B<-t> | B<--total>" msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:463 -msgid "" -"L, L, L, L, L, L, L, L, L, L, L, L." -msgstr "" - -# type: verbatim -#: ../tools/virt-win-reg.pl:481 -#, no-wrap +#: ../tools/virt-list-partitions.pl:106 msgid "" -" export LIBGUESTFS_DEBUG=1\n" -" virt-win-reg --debug [... rest ...] > /tmp/virt-win-reg.log 2>&1\n" -"\n" +"Display the total size of each block device (as a separate row or rows)." msgstr "" # type: textblock -#: ../tools/virt-win-reg.pl:484 +#: ../tools/virt-list-partitions.pl:231 msgid "" -"Attach /tmp/virt-win-reg.log to a new bug report at L" +"L, L, L, L, L, L, L, L." msgstr "" diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot index f3c56fe..054e33e 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.5.19\n" +"Project-Id-Version: libguestfs 1.5.20\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2010-09-22 21:43+0200\n" +"POT-Creation-Date: 2010-09-26 22:40+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,12 +17,12 @@ msgstr "" "Content-Transfer-Encoding: ENCODING" # type: =encoding -#: ../src/guestfs.pod:1 ../fish/guestfish.pod:1 ../test-tool/libguestfs-test-tool.pod:1 ../fuse/guestmount.pod:1 ../inspector/virt-inspector.pl:36 ../tools/virt-cat.pl:30 ../tools/virt-df.pl:32 ../tools/virt-edit.pl:31 ../tools/virt-list-filesystems.pl:28 ../tools/virt-list-partitions.pl:28 ../tools/virt-ls.pl:31 ../tools/virt-make-fs.pl:33 ../tools/virt-rescue.pl:29 ../tools/virt-resize.pl:38 ../tools/virt-tar.pl:30 ../tools/virt-win-reg.pl:34 +#: ../src/guestfs.pod:1 ../fish/guestfish.pod:1 ../test-tool/libguestfs-test-tool.pod:1 ../fuse/guestmount.pod:1 ../inspector/virt-inspector.pl:36 ../tools/virt-edit.pl:31 ../tools/virt-win-reg.pl:34 ../tools/virt-df.pl:32 ../tools/virt-ls.pl:31 ../tools/virt-resize.pl:38 ../tools/virt-list-filesystems.pl:28 ../tools/virt-cat.pl:30 ../tools/virt-tar.pl:30 ../tools/virt-rescue.pl:29 ../tools/virt-make-fs.pl:33 ../tools/virt-list-partitions.pl:28 msgid "utf8" msgstr "" # type: =head1 -#: ../src/guestfs.pod:3 ../fish/guestfish.pod:3 ../test-tool/libguestfs-test-tool.pod:3 ../fuse/guestmount.pod:3 ../inspector/virt-inspector.pl:38 ../tools/virt-cat.pl:32 ../tools/virt-df.pl:34 ../tools/virt-edit.pl:33 ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 ../tools/virt-ls.pl:33 ../tools/virt-make-fs.pl:35 ../tools/virt-rescue.pl:31 ../tools/virt-resize.pl:40 ../tools/virt-tar.pl:32 ../tools/virt-win-reg.pl:36 +#: ../src/guestfs.pod:3 ../fish/guestfish.pod:3 ../test-tool/libguestfs-test-tool.pod:3 ../fuse/guestmount.pod:3 ../inspector/virt-inspector.pl:38 ../tools/virt-edit.pl:33 ../tools/virt-win-reg.pl:36 ../tools/virt-df.pl:34 ../tools/virt-ls.pl:33 ../tools/virt-resize.pl:40 ../tools/virt-list-filesystems.pl:30 ../tools/virt-cat.pl:32 ../tools/virt-tar.pl:32 ../tools/virt-rescue.pl:31 ../tools/virt-make-fs.pl:35 ../tools/virt-list-partitions.pl:30 msgid "NAME" msgstr "" @@ -32,7 +32,7 @@ msgid "guestfs - Library for accessing and modifying virtual machine images" msgstr "" # type: =head1 -#: ../src/guestfs.pod:7 ../fish/guestfish.pod:7 ../test-tool/libguestfs-test-tool.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pl:42 ../tools/virt-cat.pl:36 ../tools/virt-df.pl:38 ../tools/virt-edit.pl:37 ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 ../tools/virt-ls.pl:37 ../tools/virt-make-fs.pl:39 ../tools/virt-rescue.pl:35 ../tools/virt-resize.pl:44 ../tools/virt-tar.pl:36 ../tools/virt-win-reg.pl:40 +#: ../src/guestfs.pod:7 ../fish/guestfish.pod:7 ../test-tool/libguestfs-test-tool.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pl:42 ../tools/virt-edit.pl:37 ../tools/virt-win-reg.pl:40 ../tools/virt-df.pl:38 ../tools/virt-ls.pl:37 ../tools/virt-resize.pl:44 ../tools/virt-list-filesystems.pl:34 ../tools/virt-cat.pl:36 ../tools/virt-tar.pl:36 ../tools/virt-rescue.pl:35 ../tools/virt-make-fs.pl:39 ../tools/virt-list-partitions.pl:34 msgid "SYNOPSIS" msgstr "" @@ -70,7 +70,7 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:24 ../fish/guestfish.pod:115 ../test-tool/libguestfs-test-tool.pod:11 ../fuse/guestmount.pod:16 ../inspector/virt-inspector.pl:48 ../tools/virt-cat.pl:42 ../tools/virt-df.pl:46 ../tools/virt-edit.pl:51 ../tools/virt-list-filesystems.pl:40 ../tools/virt-list-partitions.pl:40 ../tools/virt-ls.pl:43 ../tools/virt-make-fs.pl:47 ../tools/virt-rescue.pl:51 ../tools/virt-resize.pl:50 ../tools/virt-tar.pl:73 ../tools/virt-win-reg.pl:64 +#: ../src/guestfs.pod:24 ../fish/guestfish.pod:30 ../test-tool/libguestfs-test-tool.pod:11 ../fuse/guestmount.pod:16 ../inspector/virt-inspector.pl:48 ../tools/virt-edit.pl:51 ../tools/virt-win-reg.pl:64 ../tools/virt-df.pl:46 ../tools/virt-ls.pl:43 ../tools/virt-resize.pl:50 ../tools/virt-list-filesystems.pl:40 ../tools/virt-cat.pl:42 ../tools/virt-tar.pl:73 ../tools/virt-rescue.pl:51 ../tools/virt-make-fs.pl:47 ../tools/virt-list-partitions.pl:40 msgid "DESCRIPTION" msgstr "" @@ -719,7 +719,7 @@ msgid "There are many limitations to this:" msgstr "" # type: =item -#: ../src/guestfs.pod:345 ../src/guestfs.pod:350 ../src/guestfs.pod:355 ../src/guestfs.pod:359 ../src/guestfs.pod:364 ../src/guestfs.pod:368 ../src/guestfs.pod:373 ../src/guestfs.pod:1223 ../src/guestfs.pod:1228 ../src/guestfs.pod:1232 ../src/guestfs.pod:1334 ../src/guestfs.pod:1338 ../src/guestfs.pod:1342 ../src/guestfs.pod:1347 ../src/guestfs.pod:1355 ../src/guestfs.pod:1374 ../src/guestfs.pod:1382 ../src/guestfs.pod:1612 ../src/guestfs.pod:1618 ../src/guestfs.pod:1623 ../src/guestfs.pod:1629 ../src/guestfs.pod:1736 ../src/guestfs.pod:1740 ../src/guestfs.pod:1744 ../src/guestfs.pod:1748 ../src/guestfs-actions.pod:14 ../src/guestfs-actions.pod:21 ../src/guestfs-actions.pod:372 ../src/guestfs-actions.pod:380 ../src/guestfs-actions.pod:387 ../src/guestfs-actions.pod:394 ../src/guestfs-actions.pod:1285 ../src/guestfs-actions.pod:1289 ../src/guestfs-actions.pod:1293 ../src/guestfs-actions.pod:1297 ../src/guestfs-actions.pod:1305 ../src/guestfs-actions.pod:1309 ../src/guestfs-actions.pod:1313 ../src/guestfs-actions.pod:1323 ../src/guestfs-actions.pod:1327 ../src/guestfs-actions.pod:1331 ../src/guestfs-actions.pod:1454 ../src/guestfs-actions.pod:1458 ../src/guestfs-actions.pod:1463 ../src/guestfs-actions.pod:1468 ../src/guestfs-actions.pod:1520 ../src/guestfs-actions.pod:1524 ../src/guestfs-actions.pod:1529 ../fish/guestfish.pod:316 ../fish/guestfish.pod:320 ../fish/guestfish.pod:324 ../fish/guestfish.pod:328 ../fish/guestfish-actions.pod:15 ../fish/guestfish-actions.pod:22 ../fish/guestfish-actions.pod:306 ../fish/guestfish-actions.pod:314 ../fish/guestfish-actions.pod:321 ../fish/guestfish-actions.pod:328 ../fish/guestfish-actions.pod:1023 ../fish/guestfish-actions.pod:1027 ../fish/guestfish-actions.pod:1031 ../fish/guestfish-actions.pod:1035 ../fish/guestfish-actions.pod:1043 ../fish/guestfish-actions.pod:1047 ../fish/guestfish-actions.pod:1051 ../fish/guestfish-actions.pod:1061 ../fish/guestfish-actions.pod:1065 ../fish/guestfish-actions.pod:1069 ../fish/guestfish-actions.pod:1159 ../fish/guestfish-actions.pod:1163 ../fish/guestfish-actions.pod:1168 ../fish/guestfish-actions.pod:1173 ../fish/guestfish-actions.pod:1215 ../fish/guestfish-actions.pod:1219 ../fish/guestfish-actions.pod:1224 ../tools/virt-df.pl:144 ../tools/virt-df.pl:150 ../tools/virt-resize.pl:324 ../tools/virt-resize.pl:329 ../tools/virt-resize.pl:339 +#: ../src/guestfs.pod:345 ../src/guestfs.pod:350 ../src/guestfs.pod:355 ../src/guestfs.pod:359 ../src/guestfs.pod:364 ../src/guestfs.pod:368 ../src/guestfs.pod:373 ../src/guestfs.pod:1254 ../src/guestfs.pod:1259 ../src/guestfs.pod:1263 ../src/guestfs.pod:1365 ../src/guestfs.pod:1369 ../src/guestfs.pod:1373 ../src/guestfs.pod:1378 ../src/guestfs.pod:1386 ../src/guestfs.pod:1405 ../src/guestfs.pod:1413 ../src/guestfs.pod:1643 ../src/guestfs.pod:1649 ../src/guestfs.pod:1654 ../src/guestfs.pod:1660 ../src/guestfs.pod:1767 ../src/guestfs.pod:1771 ../src/guestfs.pod:1775 ../src/guestfs.pod:1779 ../src/guestfs-actions.pod:14 ../src/guestfs-actions.pod:21 ../src/guestfs-actions.pod:372 ../src/guestfs-actions.pod:380 ../src/guestfs-actions.pod:387 ../src/guestfs-actions.pod:394 ../src/guestfs-actions.pod:1285 ../src/guestfs-actions.pod:1289 ../src/guestfs-actions.pod:1293 ../src/guestfs-actions.pod:1297 ../src/guestfs-actions.pod:1305 ../src/guestfs-actions.pod:1309 ../src/guestfs-actions.pod:1313 ../src/guestfs-actions.pod:1323 ../src/guestfs-actions.pod:1327 ../src/guestfs-actions.pod:1331 ../src/guestfs-actions.pod:1454 ../src/guestfs-actions.pod:1458 ../src/guestfs-actions.pod:1463 ../src/guestfs-actions.pod:1468 ../src/guestfs-actions.pod:1520 ../src/guestfs-actions.pod:1524 ../src/guestfs-actions.pod:1529 ../fish/guestfish.pod:338 ../fish/guestfish.pod:342 ../fish/guestfish.pod:346 ../fish/guestfish.pod:350 ../fish/guestfish-actions.pod:15 ../fish/guestfish-actions.pod:22 ../fish/guestfish-actions.pod:306 ../fish/guestfish-actions.pod:314 ../fish/guestfish-actions.pod:321 ../fish/guestfish-actions.pod:328 ../fish/guestfish-actions.pod:1023 ../fish/guestfish-actions.pod:1027 ../fish/guestfish-actions.pod:1031 ../fish/guestfish-actions.pod:1035 ../fish/guestfish-actions.pod:1043 ../fish/guestfish-actions.pod:1047 ../fish/guestfish-actions.pod:1051 ../fish/guestfish-actions.pod:1061 ../fish/guestfish-actions.pod:1065 ../fish/guestfish-actions.pod:1069 ../fish/guestfish-actions.pod:1159 ../fish/guestfish-actions.pod:1163 ../fish/guestfish-actions.pod:1168 ../fish/guestfish-actions.pod:1173 ../fish/guestfish-actions.pod:1215 ../fish/guestfish-actions.pod:1219 ../fish/guestfish-actions.pod:1224 ../tools/virt-df.pl:144 ../tools/virt-df.pl:150 ../tools/virt-resize.pl:324 ../tools/virt-resize.pl:329 ../tools/virt-resize.pl:339 msgid "*" msgstr "" @@ -935,7 +935,7 @@ msgid "For more information about umask, see L." msgstr "" # type: =head1 -#: ../src/guestfs.pod:459 ../fish/guestfish.pod:566 +#: ../src/guestfs.pod:459 ../fish/guestfish.pod:589 msgid "ENCRYPTED DISKS" msgstr "" @@ -1507,13 +1507,76 @@ msgid "" "sent back from the daemon." msgstr "" -# type: =head2 +# type: =item +#: ../src/guestfs.pod:750 +msgid "Ambiguity between devices and paths" +msgstr "" + +# type: textblock #: ../src/guestfs.pod:752 +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 C in the directory C (consider some non-Unix VM image)." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:757 +msgid "" +"In the current API we usually resolve this ambiguity by having two separate " +"calls, for example L and L. " +"Some API calls are ambiguous and (incorrectly) resolve the problem by " +"detecting if the path supplied begins with C." +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:763 +msgid "" +"To avoid both the ambiguity and the need to duplicate some calls, we could " +"make paths/devices into structured names. One way to do this would be to " +"use a notation like grub (C), although nobody really likes this " +"aspect of grub. Another way would be to use a structured type, equivalent " +"to this OCaml type:" +msgstr "" + +# type: verbatim +#: ../src/guestfs.pod:769 +#, no-wrap +msgid "" +" type path = Path of string | Device of int | Partition of int * int\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:771 +msgid "which would allow you to pass arguments like:" +msgstr "" + +# type: verbatim +#: ../src/guestfs.pod:773 +#, no-wrap +msgid "" +" Path \"/foo/bar\"\n" +" Device 1 (* /dev/sdb, or perhaps /dev/sda *)\n" +" Partition (1, 2) (* /dev/sdb2 (or is it /dev/sda2 or /dev/sdb3?) *)\n" +" Path \"/dev/sdb2\" (* not a device *)\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs.pod:778 +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:783 msgid "PROTOCOL LIMITS" msgstr "" # type: textblock -#: ../src/guestfs.pod:754 +#: ../src/guestfs.pod:785 msgid "" "Internally libguestfs uses a message-based protocol to pass API calls and " "their responses to and from a small \"appliance\" (see L for " @@ -1524,7 +1587,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:762 +#: ../src/guestfs.pod:793 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 " @@ -1533,7 +1596,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:768 +#: ../src/guestfs.pod:799 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 " @@ -1541,26 +1604,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:772 +#: ../src/guestfs.pod:803 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L)." msgstr "" # type: =head2 -#: ../src/guestfs.pod:775 +#: ../src/guestfs.pod:806 msgid "KEYS AND PASSPHRASES" msgstr "" # type: textblock -#: ../src/guestfs.pod:777 +#: ../src/guestfs.pod:808 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" # type: textblock -#: ../src/guestfs.pod:780 +#: ../src/guestfs.pod:811 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 " @@ -1569,7 +1632,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:785 +#: ../src/guestfs.pod:816 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, " @@ -1577,17 +1640,17 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:790 +#: ../src/guestfs.pod:821 msgid "CONNECTION MANAGEMENT" msgstr "" # type: =head2 -#: ../src/guestfs.pod:792 +#: ../src/guestfs.pod:823 msgid "guestfs_h *" msgstr "" # type: textblock -#: ../src/guestfs.pod:794 +#: ../src/guestfs.pod:825 msgid "" "C is the opaque type representing a connection handle. Create a " "handle by calling L. Call L to free the " @@ -1595,19 +1658,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:798 +#: ../src/guestfs.pod:829 msgid "" "For information on using multiple handles and threads, see the section " "L below." msgstr "" # type: =head2 -#: ../src/guestfs.pod:801 +#: ../src/guestfs.pod:832 msgid "guestfs_create" msgstr "" # type: verbatim -#: ../src/guestfs.pod:803 +#: ../src/guestfs.pod:834 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -1615,41 +1678,41 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:805 +#: ../src/guestfs.pod:836 msgid "Create a connection handle." msgstr "" # type: textblock -#: ../src/guestfs.pod:807 +#: ../src/guestfs.pod:838 msgid "You have to call L on the handle at least once." msgstr "" # type: textblock -#: ../src/guestfs.pod:809 +#: ../src/guestfs.pod:840 msgid "" "This function returns a non-NULL pointer to a handle on success or NULL on " "error." msgstr "" # type: textblock -#: ../src/guestfs.pod:812 +#: ../src/guestfs.pod:843 msgid "After configuring the handle, you have to call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:814 +#: ../src/guestfs.pod:845 msgid "" "You may also want to configure error handling for the handle. See L section below." msgstr "" # type: =head2 -#: ../src/guestfs.pod:817 +#: ../src/guestfs.pod:848 msgid "guestfs_close" msgstr "" # type: verbatim -#: ../src/guestfs.pod:819 +#: ../src/guestfs.pod:850 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -1657,17 +1720,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:821 +#: ../src/guestfs.pod:852 msgid "This closes the connection handle and frees up all resources used." msgstr "" # type: =head1 -#: ../src/guestfs.pod:823 +#: ../src/guestfs.pod:854 msgid "ERROR HANDLING" msgstr "" # type: textblock -#: ../src/guestfs.pod:825 +#: ../src/guestfs.pod:856 msgid "" "The convention in all functions that return C is that they return C<-1> " "to indicate an error. You can get additional information on errors by " @@ -1676,12 +1739,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:830 +#: ../src/guestfs.pod:861 msgid "The default error handler prints the information string to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:832 +#: ../src/guestfs.pod:863 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 " @@ -1689,12 +1752,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:836 +#: ../src/guestfs.pod:867 msgid "guestfs_last_error" msgstr "" # type: verbatim -#: ../src/guestfs.pod:838 +#: ../src/guestfs.pod:869 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -1702,21 +1765,21 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:840 +#: ../src/guestfs.pod:871 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:844 +#: ../src/guestfs.pod:875 msgid "" "The lifetime of the returned string is until the next error occurs, or " "L is called." msgstr "" # type: textblock -#: ../src/guestfs.pod:847 +#: ../src/guestfs.pod:878 msgid "" "The error string is not localized (ie. is always in English), because this " "makes searching for error messages in search engines give the largest number " @@ -1724,12 +1787,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:851 +#: ../src/guestfs.pod:882 msgid "guestfs_set_error_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:853 +#: ../src/guestfs.pod:884 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -1742,7 +1805,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:860 +#: ../src/guestfs.pod:891 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 " @@ -1750,7 +1813,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:864 +#: ../src/guestfs.pod:895 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 " @@ -1758,22 +1821,22 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:868 +#: ../src/guestfs.pod:899 msgid "The default handler prints messages on C." msgstr "" # type: textblock -#: ../src/guestfs.pod:870 +#: ../src/guestfs.pod:901 msgid "If you set C to C then I handler is called." msgstr "" # type: =head2 -#: ../src/guestfs.pod:872 +#: ../src/guestfs.pod:903 msgid "guestfs_get_error_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:874 +#: ../src/guestfs.pod:905 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -1782,17 +1845,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:877 +#: ../src/guestfs.pod:908 msgid "Returns the current error handler callback." msgstr "" # type: =head2 -#: ../src/guestfs.pod:879 +#: ../src/guestfs.pod:910 msgid "guestfs_set_out_of_memory_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:881 +#: ../src/guestfs.pod:912 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -1802,29 +1865,29 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:885 +#: ../src/guestfs.pod:916 msgid "" "The callback C will be called if there is an out of memory situation. " "I." msgstr "" # type: textblock -#: ../src/guestfs.pod:888 +#: ../src/guestfs.pod:919 msgid "The default is to call L." msgstr "" # type: textblock -#: ../src/guestfs.pod:890 +#: ../src/guestfs.pod:921 msgid "You cannot set C to C. You can't ignore out of memory situations." msgstr "" # type: =head2 -#: ../src/guestfs.pod:893 +#: ../src/guestfs.pod:924 msgid "guestfs_get_out_of_memory_handler" msgstr "" # type: verbatim -#: ../src/guestfs.pod:895 +#: ../src/guestfs.pod:926 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -1832,31 +1895,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:897 +#: ../src/guestfs.pod:928 msgid "This returns the current out of memory handler." msgstr "" # type: =head1 -#: ../src/guestfs.pod:899 +#: ../src/guestfs.pod:930 msgid "PATH" msgstr "" # type: textblock -#: ../src/guestfs.pod:901 +#: ../src/guestfs.pod:932 msgid "" "Libguestfs needs a kernel and initrd.img, which it finds by looking along an " "internal path." msgstr "" # type: textblock -#: ../src/guestfs.pod:904 +#: ../src/guestfs.pod:935 msgid "" "By default it looks for these in the directory C<$libdir/guestfs> " "(eg. C or C)." msgstr "" # type: textblock -#: ../src/guestfs.pod:907 +#: ../src/guestfs.pod:938 msgid "" "Use L or set the environment variable L " "to change the directories that libguestfs will search in. The value is a " @@ -1867,17 +1930,17 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:914 +#: ../src/guestfs.pod:945 msgid "HIGH-LEVEL API ACTIONS" msgstr "" # type: =head2 -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:947 msgid "ABI GUARANTEE" msgstr "" # type: textblock -#: ../src/guestfs.pod:918 +#: ../src/guestfs.pod:949 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -1887,32 +1950,32 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:924 ../fish/guestfish.pod:796 +#: ../src/guestfs.pod:955 ../fish/guestfish.pod:819 msgid "@ACTIONS@" msgstr "" # type: =head1 -#: ../src/guestfs.pod:926 +#: ../src/guestfs.pod:957 msgid "STRUCTURES" msgstr "" # type: textblock -#: ../src/guestfs.pod:928 +#: ../src/guestfs.pod:959 msgid "@STRUCTS@" msgstr "" # type: =head1 -#: ../src/guestfs.pod:930 +#: ../src/guestfs.pod:961 msgid "AVAILABILITY" msgstr "" # type: =head2 -#: ../src/guestfs.pod:932 +#: ../src/guestfs.pod:963 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" # type: textblock -#: ../src/guestfs.pod:934 +#: ../src/guestfs.pod:965 msgid "" "Using L you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -1920,17 +1983,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:939 +#: ../src/guestfs.pod:970 msgid "@AVAILABILITY@" msgstr "" # type: =head2 -#: ../src/guestfs.pod:941 +#: ../src/guestfs.pod:972 msgid "GUESTFISH supported COMMAND" msgstr "" # type: textblock -#: ../src/guestfs.pod:943 +#: ../src/guestfs.pod:974 msgid "" "In L there is a handy interactive command C which " "prints out the available groups and whether they are supported by this build " @@ -1938,19 +2001,19 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:948 +#: ../src/guestfs.pod:979 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" # type: textblock -#: ../src/guestfs.pod:950 +#: ../src/guestfs.pod:981 msgid "" "Since version 1.5.8, Cguestfs.hE> defines symbols for each C API " "function, such as:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:984 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -1958,12 +2021,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:955 +#: ../src/guestfs.pod:986 msgid "if L is available." msgstr "" # type: textblock -#: ../src/guestfs.pod:957 +#: ../src/guestfs.pod:988 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 " @@ -1971,7 +2034,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:962 +#: ../src/guestfs.pod:993 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -1980,19 +2043,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:965 +#: ../src/guestfs.pod:996 msgid "" "which would result in C being either defined or not defined " "in your program." msgstr "" # type: =head2 -#: ../src/guestfs.pod:968 +#: ../src/guestfs.pod:999 msgid "SINGLE CALLS AT RUN TIME" msgstr "" # type: textblock -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:1001 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 " @@ -2002,7 +2065,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:977 +#: ../src/guestfs.pod:1008 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 " @@ -2010,7 +2073,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:981 +#: ../src/guestfs.pod:1012 #, no-wrap msgid "" " #include \n" @@ -2022,7 +2085,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:987 +#: ../src/guestfs.pod:1018 #, no-wrap msgid "" " main ()\n" @@ -2034,7 +2097,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:993 +#: ../src/guestfs.pod:1024 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -2049,7 +2112,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1002 +#: ../src/guestfs.pod:1033 #, no-wrap msgid "" " if (!has_function)\n" @@ -2068,7 +2131,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1015 +#: ../src/guestfs.pod:1046 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 " @@ -2076,7 +2139,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1020 +#: ../src/guestfs.pod:1051 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -2084,24 +2147,24 @@ msgid "" msgstr "" # type: =end -#: ../src/guestfs.pod:1022 ../src/guestfs.pod:1027 +#: ../src/guestfs.pod:1053 ../src/guestfs.pod:1058 msgid "html" msgstr "" # type: textblock -#: ../src/guestfs.pod:1024 +#: ../src/guestfs.pod:1055 msgid "" " " msgstr "" # type: =head1 -#: ../src/guestfs.pod:1029 +#: ../src/guestfs.pod:1060 msgid "ARCHITECTURE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1031 +#: ../src/guestfs.pod:1062 msgid "" "Internally, libguestfs is implemented by running an appliance (a special " "type of small virtual machine) using L. Qemu runs as a child " @@ -2109,7 +2172,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1035 +#: ../src/guestfs.pod:1066 #, no-wrap msgid "" " ___________________\n" @@ -2135,14 +2198,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1055 +#: ../src/guestfs.pod:1086 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:1058 +#: ../src/guestfs.pod:1089 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 " @@ -2154,7 +2217,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1067 +#: ../src/guestfs.pod:1098 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 " @@ -2165,17 +2228,17 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1074 +#: ../src/guestfs.pod:1105 msgid "STATE MACHINE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1076 +#: ../src/guestfs.pod:1107 msgid "libguestfs uses a state machine to model the child process:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1078 +#: ../src/guestfs.pod:1109 #, no-wrap msgid "" " |\n" @@ -2203,7 +2266,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1100 +#: ../src/guestfs.pod:1131 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), " @@ -2212,7 +2275,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1105 +#: ../src/guestfs.pod:1136 msgid "" "The guest may be killed by L, or may die " "asynchronously at any time (eg. due to some internal error), and that causes " @@ -2220,14 +2283,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1109 +#: ../src/guestfs.pod:1140 msgid "" "Configuration commands for qemu such as L can only be " "issued when in the CONFIG state." msgstr "" # type: textblock -#: ../src/guestfs.pod:1112 +#: ../src/guestfs.pod:1143 msgid "" "The API offers one call that goes from CONFIG through LAUNCHING to READY. " "L blocks until the child process is READY to accept " @@ -2236,7 +2299,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1118 +#: ../src/guestfs.pod:1149 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 " @@ -2246,7 +2309,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1124 +#: ../src/guestfs.pod:1155 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -2254,26 +2317,26 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1128 +#: ../src/guestfs.pod:1159 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1130 +#: ../src/guestfs.pod:1161 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:1133 +#: ../src/guestfs.pod:1164 msgid "" "Use the C functions to set a callback for different " "types of events." msgstr "" # type: textblock -#: ../src/guestfs.pod:1136 +#: ../src/guestfs.pod:1167 msgid "" "Only I can be registered for each handle. " "Calling C again overwrites the previous callback of " @@ -2282,12 +2345,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1141 +#: ../src/guestfs.pod:1172 msgid "guestfs_set_log_message_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1143 +#: ../src/guestfs.pod:1174 #, no-wrap msgid "" " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n" @@ -2299,31 +2362,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1149 +#: ../src/guestfs.pod:1180 msgid "" "The callback function C will be called whenever qemu or the guest writes " "anything to the console." msgstr "" # type: textblock -#: ../src/guestfs.pod:1152 +#: ../src/guestfs.pod:1183 msgid "Use this function to capture kernel messages and similar." msgstr "" # type: textblock -#: ../src/guestfs.pod:1154 +#: ../src/guestfs.pod:1185 msgid "" "Normally there is no log message handler, and log messages are just " "discarded." msgstr "" # type: =head2 -#: ../src/guestfs.pod:1157 +#: ../src/guestfs.pod:1188 msgid "guestfs_set_subprocess_quit_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1159 +#: ../src/guestfs.pod:1190 #, no-wrap msgid "" " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n" @@ -2334,7 +2397,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1164 +#: ../src/guestfs.pod:1195 msgid "" "The callback function C will be called when the child process quits, " "either asynchronously or if killed by L. (This " @@ -2342,12 +2405,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1169 +#: ../src/guestfs.pod:1200 msgid "guestfs_set_launch_done_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1171 +#: ../src/guestfs.pod:1202 #, no-wrap msgid "" " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n" @@ -2358,7 +2421,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1176 +#: ../src/guestfs.pod:1207 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 " @@ -2366,12 +2429,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1211 msgid "guestfs_set_close_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1182 +#: ../src/guestfs.pod:1213 #, no-wrap msgid "" " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n" @@ -2382,14 +2445,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1187 +#: ../src/guestfs.pod:1218 msgid "" "The callback function C will be called while the handle is being closed " "(synchronously from L)." msgstr "" # type: textblock -#: ../src/guestfs.pod:1190 +#: ../src/guestfs.pod:1221 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 " @@ -2400,12 +2463,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1198 +#: ../src/guestfs.pod:1229 msgid "guestfs_set_progress_callback" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1200 +#: ../src/guestfs.pod:1231 #, no-wrap msgid "" " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n" @@ -2418,7 +2481,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1207 +#: ../src/guestfs.pod:1238 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -2428,7 +2491,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1213 +#: ../src/guestfs.pod:1244 msgid "" "The callback receives two numbers: C and C. The units of " "C are not defined, although for some operations C may relate " @@ -2437,31 +2500,31 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1219 +#: ../src/guestfs.pod:1250 msgid "The only defined and stable parts of the API are:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1225 +#: ../src/guestfs.pod:1256 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:1230 +#: ../src/guestfs.pod:1261 msgid "0 E= C E= C" msgstr "" # type: textblock -#: ../src/guestfs.pod:1234 +#: ../src/guestfs.pod:1265 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:1237 +#: ../src/guestfs.pod:1268 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 " @@ -2469,7 +2532,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1243 +#: ../src/guestfs.pod:1274 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 " @@ -2478,12 +2541,12 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1248 +#: ../src/guestfs.pod:1279 msgid "PRIVATE DATA AREA" msgstr "" # type: textblock -#: ../src/guestfs.pod:1250 +#: ../src/guestfs.pod:1281 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 " @@ -2491,12 +2554,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1254 +#: ../src/guestfs.pod:1285 msgid "To attach a named piece of data, use the following call:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1256 +#: ../src/guestfs.pod:1287 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -2504,7 +2567,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1258 +#: ../src/guestfs.pod:1289 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 " @@ -2512,7 +2575,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1262 +#: ../src/guestfs.pod:1293 msgid "" "You can use any C you want, but names beginning with an underscore " "character are reserved for internal libguestfs purposes (for implementing " @@ -2521,12 +2584,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1267 +#: ../src/guestfs.pod:1298 msgid "To retrieve the pointer, use:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1269 +#: ../src/guestfs.pod:1300 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -2534,7 +2597,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1271 +#: ../src/guestfs.pod:1302 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 " @@ -2542,7 +2605,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1275 +#: ../src/guestfs.pod:1306 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 " @@ -2554,19 +2617,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1283 +#: ../src/guestfs.pod:1314 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:1286 +#: ../src/guestfs.pod:1317 msgid "BLOCK DEVICE NAMING" msgstr "" # type: textblock -#: ../src/guestfs.pod:1288 +#: ../src/guestfs.pod:1319 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 " @@ -2581,7 +2644,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1300 +#: ../src/guestfs.pod:1331 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 " @@ -2589,7 +2652,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1304 +#: ../src/guestfs.pod:1335 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 " @@ -2597,7 +2660,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1309 +#: ../src/guestfs.pod:1340 msgid "" "Therefore libguestfs defines C as the I. " "Internally C names are translated, if necessary, to other names as " @@ -2606,7 +2669,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1315 +#: ../src/guestfs.pod:1346 msgid "" "Note that this I applies to parameters. The L, " "L and similar calls return the true names of the " @@ -2614,12 +2677,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1320 +#: ../src/guestfs.pod:1351 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" # type: textblock -#: ../src/guestfs.pod:1322 +#: ../src/guestfs.pod:1353 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 " @@ -2629,7 +2692,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1328 +#: ../src/guestfs.pod:1359 msgid "" "The algorithm is applied only to I which are known to be either " "device or partition names. Return values from functions such as " @@ -2637,54 +2700,54 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1336 +#: ../src/guestfs.pod:1367 msgid "Is the string a parameter which is a device or partition name?" msgstr "" # type: textblock -#: ../src/guestfs.pod:1340 +#: ../src/guestfs.pod:1371 msgid "Does the string begin with C?" msgstr "" # type: textblock -#: ../src/guestfs.pod:1344 +#: ../src/guestfs.pod:1375 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:1349 +#: ../src/guestfs.pod:1380 msgid "Replace initial C string with C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1382 msgid "For example, change C to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1353 +#: ../src/guestfs.pod:1384 msgid "If that named device exists, use it. If not, continue." msgstr "" # type: textblock -#: ../src/guestfs.pod:1357 +#: ../src/guestfs.pod:1388 msgid "Replace initial C string with C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1359 +#: ../src/guestfs.pod:1390 msgid "If that named device exists, use it. If not, return an error." msgstr "" # type: =head2 -#: ../src/guestfs.pod:1363 +#: ../src/guestfs.pod:1394 msgid "PORTABILITY CONCERNS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1365 +#: ../src/guestfs.pod:1396 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 " @@ -2692,50 +2755,50 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1369 +#: ../src/guestfs.pod:1400 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1376 +#: ../src/guestfs.pod:1407 msgid "" "Use L or L to list actual " "device names, and then use those names directly." msgstr "" # type: textblock -#: ../src/guestfs.pod:1379 +#: ../src/guestfs.pod:1410 msgid "Since those device names exist by definition, they will never be translated." msgstr "" # type: textblock -#: ../src/guestfs.pod:1384 +#: ../src/guestfs.pod:1415 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1389 +#: ../src/guestfs.pod:1420 msgid "INTERNALS" msgstr "" # type: =head2 -#: ../src/guestfs.pod:1391 +#: ../src/guestfs.pod:1422 msgid "COMMUNICATION PROTOCOL" msgstr "" # type: textblock -#: ../src/guestfs.pod:1393 +#: ../src/guestfs.pod:1424 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:1396 +#: ../src/guestfs.pod:1427 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 " @@ -2743,14 +2806,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1400 +#: ../src/guestfs.pod:1431 msgid "" "The detailed format of structures is in C (note: " "this file is automatically generated)." msgstr "" # type: textblock -#: ../src/guestfs.pod:1403 +#: ../src/guestfs.pod:1434 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 " @@ -2760,17 +2823,17 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1410 +#: ../src/guestfs.pod:1441 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" # type: textblock -#: ../src/guestfs.pod:1412 +#: ../src/guestfs.pod:1443 msgid "For ordinary functions, the request message is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1414 +#: ../src/guestfs.pod:1445 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -2781,7 +2844,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1419 +#: ../src/guestfs.pod:1450 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 " @@ -2790,26 +2853,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1425 +#: ../src/guestfs.pod:1456 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:1428 +#: ../src/guestfs.pod:1459 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:1432 +#: ../src/guestfs.pod:1463 msgid "The reply message for ordinary functions is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1434 +#: ../src/guestfs.pod:1465 #, no-wrap msgid "" " total length (header + ret,\n" @@ -2820,26 +2883,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1439 +#: ../src/guestfs.pod:1470 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:1442 +#: ../src/guestfs.pod:1473 msgid "As above the total length of the reply is limited to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1445 +#: ../src/guestfs.pod:1476 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:1448 +#: ../src/guestfs.pod:1479 #, no-wrap msgid "" " total length (header + error,\n" @@ -2850,19 +2913,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1453 +#: ../src/guestfs.pod:1484 msgid "" "The C structure contains the error message as a " "string." msgstr "" # type: =head3 -#: ../src/guestfs.pod:1456 +#: ../src/guestfs.pod:1487 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1458 +#: ../src/guestfs.pod:1489 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 " @@ -2870,7 +2933,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1462 +#: ../src/guestfs.pod:1493 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -2884,12 +2947,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1470 +#: ../src/guestfs.pod:1501 msgid "The \"sequence of chunks\" is:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1472 +#: ../src/guestfs.pod:1503 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -2903,7 +2966,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1480 +#: ../src/guestfs.pod:1511 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 " @@ -2911,7 +2974,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1484 +#: ../src/guestfs.pod:1515 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -2920,7 +2983,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1489 +#: ../src/guestfs.pod:1520 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 " @@ -2929,7 +2992,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1495 +#: ../src/guestfs.pod:1526 msgid "" "The daemon may also cancel. It does this by writing a special word " "C to the socket. The library listens for this during " @@ -2941,7 +3004,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1504 +#: ../src/guestfs.pod:1535 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 " @@ -2951,19 +3014,19 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1510 +#: ../src/guestfs.pod:1541 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1512 +#: ../src/guestfs.pod:1543 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:1515 +#: ../src/guestfs.pod:1546 #, no-wrap msgid "" " total length (header + ret,\n" @@ -2977,12 +3040,12 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1523 +#: ../src/guestfs.pod:1554 msgid "INITIAL MESSAGE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1525 +#: ../src/guestfs.pod:1556 msgid "" "When the daemon launches it sends an initial word (C) " "which indicates that the guest and daemon is alive. This is what " @@ -2990,12 +3053,12 @@ msgid "" msgstr "" # type: =head3 -#: ../src/guestfs.pod:1529 +#: ../src/guestfs.pod:1560 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" # type: textblock -#: ../src/guestfs.pod:1531 +#: ../src/guestfs.pod:1562 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -3003,7 +3066,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1535 +#: ../src/guestfs.pod:1566 msgid "" "The library turns them into progress callbacks (see " "C) if there is a callback registered, or " @@ -3011,7 +3074,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1539 +#: ../src/guestfs.pod:1570 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C). Not all calls generate progress " @@ -3019,19 +3082,19 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1543 +#: ../src/guestfs.pod:1574 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1545 +#: ../src/guestfs.pod:1576 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:1548 +#: ../src/guestfs.pod:1579 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 " @@ -3039,19 +3102,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1552 +#: ../src/guestfs.pod:1583 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1555 +#: ../src/guestfs.pod:1586 msgid "QEMU WRAPPERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1557 +#: ../src/guestfs.pod:1588 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 " @@ -3059,7 +3122,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1561 +#: ../src/guestfs.pod:1592 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 " @@ -3068,14 +3131,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1566 +#: ../src/guestfs.pod:1597 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:1569 +#: ../src/guestfs.pod:1600 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -3086,7 +3149,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1573 +#: ../src/guestfs.pod:1604 msgid "" "Save this script as C (or wherever), C, and " "then use it by setting the LIBGUESTFS_QEMU environment variable. For " @@ -3094,7 +3157,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1577 +#: ../src/guestfs.pod:1608 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -3102,19 +3165,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1579 +#: ../src/guestfs.pod:1610 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1582 +#: ../src/guestfs.pod:1613 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1584 +#: ../src/guestfs.pod:1615 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -3122,7 +3185,7 @@ msgid "" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1589 +#: ../src/guestfs.pod:1620 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -3139,12 +3202,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1600 +#: ../src/guestfs.pod:1631 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" # type: textblock -#: ../src/guestfs.pod:1602 +#: ../src/guestfs.pod:1633 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 " @@ -3154,26 +3217,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1608 +#: ../src/guestfs.pod:1639 msgid "Our criteria for backporting changes are:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1614 +#: ../src/guestfs.pod:1645 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:1620 +#: ../src/guestfs.pod:1651 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" # type: textblock -#: ../src/guestfs.pod:1625 +#: ../src/guestfs.pod:1656 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 " @@ -3181,7 +3244,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1631 +#: ../src/guestfs.pod:1662 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 " @@ -3189,7 +3252,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1637 +#: ../src/guestfs.pod:1668 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 " @@ -3200,44 +3263,44 @@ msgid "" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1645 ../fish/guestfish.pod:803 ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:312 ../tools/virt-rescue.pl:226 +#: ../src/guestfs.pod:1676 ../fish/guestfish.pod:826 ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:312 ../tools/virt-rescue.pl:226 msgid "ENVIRONMENT VARIABLES" msgstr "" # type: =item -#: ../src/guestfs.pod:1649 ../fish/guestfish.pod:829 +#: ../src/guestfs.pod:1680 ../fish/guestfish.pod:852 msgid "LIBGUESTFS_APPEND" msgstr "" # type: textblock -#: ../src/guestfs.pod:1651 ../fish/guestfish.pod:831 +#: ../src/guestfs.pod:1682 ../fish/guestfish.pod:854 msgid "Pass additional options to the guest kernel." msgstr "" # type: =item -#: ../src/guestfs.pod:1653 ../fish/guestfish.pod:833 +#: ../src/guestfs.pod:1684 ../fish/guestfish.pod:856 msgid "LIBGUESTFS_DEBUG" msgstr "" # type: textblock -#: ../src/guestfs.pod:1655 +#: ../src/guestfs.pod:1686 msgid "" "Set C to enable verbose messages. This has the same " "effect as calling C." msgstr "" # type: =item -#: ../src/guestfs.pod:1658 ../fish/guestfish.pod:838 +#: ../src/guestfs.pod:1689 ../fish/guestfish.pod:861 msgid "LIBGUESTFS_MEMSIZE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1660 ../fish/guestfish.pod:840 +#: ../src/guestfs.pod:1691 ../fish/guestfish.pod:863 msgid "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" # type: verbatim -#: ../src/guestfs.pod:1663 ../fish/guestfish.pod:843 +#: ../src/guestfs.pod:1694 ../fish/guestfish.pod:866 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -3245,72 +3308,72 @@ msgid "" msgstr "" # type: =item -#: ../src/guestfs.pod:1665 ../fish/guestfish.pod:845 +#: ../src/guestfs.pod:1696 ../fish/guestfish.pod:868 msgid "LIBGUESTFS_PATH" msgstr "" # type: textblock -#: ../src/guestfs.pod:1667 +#: ../src/guestfs.pod:1698 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:1670 ../fish/guestfish.pod:850 +#: ../src/guestfs.pod:1701 ../fish/guestfish.pod:873 msgid "LIBGUESTFS_QEMU" msgstr "" # type: textblock -#: ../src/guestfs.pod:1672 ../fish/guestfish.pod:852 +#: ../src/guestfs.pod:1703 ../fish/guestfish.pod:875 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:1676 +#: ../src/guestfs.pod:1707 msgid "See also L above." msgstr "" # type: =item -#: ../src/guestfs.pod:1678 ../fish/guestfish.pod:856 +#: ../src/guestfs.pod:1709 ../fish/guestfish.pod:879 msgid "LIBGUESTFS_TRACE" msgstr "" # type: textblock -#: ../src/guestfs.pod:1680 +#: ../src/guestfs.pod:1711 msgid "" "Set C to enable command traces. This has the same " "effect as calling C." msgstr "" # type: =item -#: ../src/guestfs.pod:1683 ../fish/guestfish.pod:865 +#: ../src/guestfs.pod:1714 ../fish/guestfish.pod:888 msgid "TMPDIR" msgstr "" # type: textblock -#: ../src/guestfs.pod:1685 ../fish/guestfish.pod:867 +#: ../src/guestfs.pod:1716 ../fish/guestfish.pod:890 msgid "Location of temporary directory, defaults to C." msgstr "" # type: textblock -#: ../src/guestfs.pod:1687 ../fish/guestfish.pod:869 +#: ../src/guestfs.pod:1718 ../fish/guestfish.pod:892 msgid "" -"If libguestfs was compiled to use the supermin appliance then each handle " -"will require rather a large amount of space in this directory for short " -"periods of time (~ 80 MB). You can use C<$TMPDIR> to configure another " -"directory to use in case C is not large enough." +"If libguestfs was compiled to use the supermin appliance then the real " +"appliance is cached in this directory, shared between all handles belonging " +"to the same EUID. You can use C<$TMPDIR> to configure another directory to " +"use in case C is not large enough." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1695 ../fish/guestfish.pod:927 ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:178 ../inspector/virt-inspector.pl:846 ../tools/virt-cat.pl:163 ../tools/virt-df.pl:536 ../tools/virt-edit.pl:325 ../tools/virt-list-filesystems.pl:191 ../tools/virt-list-partitions.pl:229 ../tools/virt-ls.pl:210 ../tools/virt-make-fs.pl:527 ../tools/virt-rescue.pl:231 ../tools/virt-resize.pl:1390 ../tools/virt-tar.pl:257 ../tools/virt-win-reg.pl:461 +#: ../src/guestfs.pod:1726 ../fish/guestfish.pod:950 ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:178 ../inspector/virt-inspector.pl:846 ../tools/virt-edit.pl:325 ../tools/virt-win-reg.pl:461 ../tools/virt-df.pl:536 ../tools/virt-ls.pl:210 ../tools/virt-resize.pl:1390 ../tools/virt-list-filesystems.pl:191 ../tools/virt-cat.pl:163 ../tools/virt-tar.pl:257 ../tools/virt-rescue.pl:231 ../tools/virt-make-fs.pl:527 ../tools/virt-list-partitions.pl:229 msgid "SEE ALSO" msgstr "" # type: textblock -#: ../src/guestfs.pod:1697 +#: ../src/guestfs.pod:1728 msgid "" "L, L, L, L, " "L, L, L, " @@ -3320,86 +3383,86 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1715 +#: ../src/guestfs.pod:1746 msgid "" "Tools with a similar purpose: L, L, L, " "L, L." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1722 ../tools/virt-make-fs.pl:541 ../tools/virt-win-reg.pl:476 +#: ../src/guestfs.pod:1753 ../tools/virt-win-reg.pl:476 ../tools/virt-make-fs.pl:541 msgid "BUGS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1724 +#: ../src/guestfs.pod:1755 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1726 +#: ../src/guestfs.pod:1757 msgid "L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1728 +#: ../src/guestfs.pod:1759 msgid "To report a new bug against libguestfs use this link:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1730 +#: ../src/guestfs.pod:1761 msgid "L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1732 +#: ../src/guestfs.pod:1763 msgid "When reporting a bug, please check:" msgstr "" # type: textblock -#: ../src/guestfs.pod:1738 +#: ../src/guestfs.pod:1769 msgid "That the bug hasn't been reported already." msgstr "" # type: textblock -#: ../src/guestfs.pod:1742 +#: ../src/guestfs.pod:1773 msgid "That you are testing a recent version." msgstr "" # type: textblock -#: ../src/guestfs.pod:1746 +#: ../src/guestfs.pod:1777 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" # type: textblock -#: ../src/guestfs.pod:1750 +#: ../src/guestfs.pod:1781 msgid "" "Run libguestfs-test-tool and paste the B output into the " "bug report." msgstr "" # type: =head1 -#: ../src/guestfs.pod:1755 ../fish/guestfish.pod:944 ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:189 ../inspector/virt-inspector.pl:855 +#: ../src/guestfs.pod:1786 ../fish/guestfish.pod:967 ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:189 ../inspector/virt-inspector.pl:855 msgid "AUTHORS" msgstr "" # type: textblock -#: ../src/guestfs.pod:1757 ../fish/guestfish.pod:946 ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:191 +#: ../src/guestfs.pod:1788 ../fish/guestfish.pod:969 ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:191 msgid "Richard W.M. Jones (C)" msgstr "" # type: =head1 -#: ../src/guestfs.pod:1759 ../fish/guestfish.pod:948 ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:193 ../inspector/virt-inspector.pl:861 ../tools/virt-cat.pl:177 ../tools/virt-df.pl:549 ../tools/virt-edit.pl:341 ../tools/virt-list-filesystems.pl:207 ../tools/virt-list-partitions.pl:244 ../tools/virt-ls.pl:225 ../tools/virt-make-fs.pl:556 ../tools/virt-rescue.pl:245 ../tools/virt-resize.pl:1411 ../tools/virt-tar.pl:272 ../tools/virt-win-reg.pl:491 +#: ../src/guestfs.pod:1790 ../fish/guestfish.pod:971 ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:193 ../inspector/virt-inspector.pl:861 ../tools/virt-edit.pl:341 ../tools/virt-win-reg.pl:491 ../tools/virt-df.pl:549 ../tools/virt-ls.pl:225 ../tools/virt-resize.pl:1411 ../tools/virt-list-filesystems.pl:207 ../tools/virt-cat.pl:177 ../tools/virt-tar.pl:272 ../tools/virt-rescue.pl:245 ../tools/virt-make-fs.pl:556 ../tools/virt-list-partitions.pl:244 msgid "COPYRIGHT" msgstr "" # type: textblock -#: ../src/guestfs.pod:1761 ../fish/guestfish.pod:950 +#: ../src/guestfs.pod:1792 ../fish/guestfish.pod:973 msgid "Copyright (C) 2009-2010 Red Hat Inc. L" msgstr "" # type: textblock -#: ../src/guestfs.pod:1764 +#: ../src/guestfs.pod:1795 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 " @@ -3408,7 +3471,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1769 +#: ../src/guestfs.pod:1800 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 " @@ -3417,7 +3480,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs.pod:1774 +#: ../src/guestfs.pod:1805 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, " @@ -3471,7 +3534,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:63 ../src/guestfs-actions.pod:92 ../src/guestfs-actions.pod:103 ../src/guestfs-actions.pod:114 ../src/guestfs-actions.pod:124 ../src/guestfs-actions.pod:135 ../src/guestfs-actions.pod:238 ../src/guestfs-actions.pod:255 ../src/guestfs-actions.pod:266 ../src/guestfs-actions.pod:302 ../src/guestfs-actions.pod:324 ../src/guestfs-actions.pod:339 ../src/guestfs-actions.pod:403 ../src/guestfs-actions.pod:430 ../src/guestfs-actions.pod:441 ../src/guestfs-actions.pod:453 ../src/guestfs-actions.pod:534 ../src/guestfs-actions.pod:549 ../src/guestfs-actions.pod:560 ../src/guestfs-actions.pod:571 ../src/guestfs-actions.pod:717 ../src/guestfs-actions.pod:734 ../src/guestfs-actions.pod:749 ../src/guestfs-actions.pod:824 ../src/guestfs-actions.pod:839 ../src/guestfs-actions.pod:855 ../src/guestfs-actions.pod:866 ../src/guestfs-actions.pod:883 ../src/guestfs-actions.pod:916 ../src/guestfs-actions.pod:974 ../src/guestfs-actions.pod:1002 ../src/guestfs-actions.pod:1024 ../src/guestfs-actions.pod:1055 ../src/guestfs-actions.pod:1143 ../src/guestfs-actions.pod:1174 ../src/guestfs-actions.pod:1374 ../src/guestfs-actions.pod:1393 ../src/guestfs-actions.pod:1474 ../src/guestfs-actions.pod:1822 ../src/guestfs-actions.pod:1945 ../src/guestfs-actions.pod:2000 ../src/guestfs-actions.pod:2030 ../src/guestfs-actions.pod:2439 ../src/guestfs-actions.pod:2451 ../src/guestfs-actions.pod:2468 ../src/guestfs-actions.pod:2576 ../src/guestfs-actions.pod:2587 ../src/guestfs-actions.pod:2597 ../src/guestfs-actions.pod:2608 ../src/guestfs-actions.pod:2620 ../src/guestfs-actions.pod:2650 ../src/guestfs-actions.pod:2714 ../src/guestfs-actions.pod:2731 ../src/guestfs-actions.pod:2745 ../src/guestfs-actions.pod:2765 ../src/guestfs-actions.pod:2785 ../src/guestfs-actions.pod:2814 ../src/guestfs-actions.pod:2830 ../src/guestfs-actions.pod:2846 ../src/guestfs-actions.pod:2858 ../src/guestfs-actions.pod:2867 ../src/guestfs-actions.pod:2900 ../src/guestfs-actions.pod:2913 ../src/guestfs-actions.pod:2923 ../src/guestfs-actions.pod:2935 ../src/guestfs-actions.pod:2949 ../src/guestfs-actions.pod:3029 ../src/guestfs-actions.pod:3046 ../src/guestfs-actions.pod:3056 ../src/guestfs-actions.pod:3101 ../src/guestfs-actions.pod:3116 ../src/guestfs-actions.pod:3131 ../src/guestfs-actions.pod:3144 ../src/guestfs-actions.pod:3155 ../src/guestfs-actions.pod:3166 ../src/guestfs-actions.pod:3180 ../src/guestfs-actions.pod:3192 ../src/guestfs-actions.pod:3209 ../src/guestfs-actions.pod:3240 ../src/guestfs-actions.pod:3268 ../src/guestfs-actions.pod:3284 ../src/guestfs-actions.pod:3300 ../src/guestfs-actions.pod:3309 ../src/guestfs-actions.pod:3323 ../src/guestfs-actions.pod:3333 ../src/guestfs-actions.pod:3345 ../src/guestfs-actions.pod:3357 ../src/guestfs-actions.pod:3389 ../src/guestfs-actions.pod:3401 ../src/guestfs-actions.pod:3418 ../src/guestfs-actions.pod:3429 ../src/guestfs-actions.pod:3443 ../src/guestfs-actions.pod:3483 ../src/guestfs-actions.pod:3514 ../src/guestfs-actions.pod:3525 ../src/guestfs-actions.pod:3550 ../src/guestfs-actions.pod:3564 ../src/guestfs-actions.pod:3579 ../src/guestfs-actions.pod:3701 ../src/guestfs-actions.pod:3753 ../src/guestfs-actions.pod:3772 ../src/guestfs-actions.pod:3787 ../src/guestfs-actions.pod:3813 ../src/guestfs-actions.pod:3847 ../src/guestfs-actions.pod:3861 ../src/guestfs-actions.pod:3871 ../src/guestfs-actions.pod:3882 ../src/guestfs-actions.pod:4114 ../src/guestfs-actions.pod:4130 ../src/guestfs-actions.pod:4141 ../src/guestfs-actions.pod:4150 ../src/guestfs-actions.pod:4161 ../src/guestfs-actions.pod:4170 ../src/guestfs-actions.pod:4181 ../src/guestfs-actions.pod:4194 ../src/guestfs-actions.pod:4212 ../src/guestfs-actions.pod:4228 ../src/guestfs-actions.pod:4244 ../src/guestfs-actions.pod:4259 ../src/guestfs-actions.pod:4279 ../src/guestfs-actions.pod:4294 ../src/guestfs-actions.pod:4310 ../src/guestfs-actions.pod:4328 ../src/guestfs-actions.pod:4344 ../src/guestfs-actions.pod:4358 ../src/guestfs-actions.pod:4383 ../src/guestfs-actions.pod:4404 ../src/guestfs-actions.pod:4420 ../src/guestfs-actions.pod:4441 ../src/guestfs-actions.pod:4453 ../src/guestfs-actions.pod:4465 ../src/guestfs-actions.pod:4481 ../src/guestfs-actions.pod:4515 ../src/guestfs-actions.pod:4535 ../src/guestfs-actions.pod:4558 ../src/guestfs-actions.pod:4648 ../src/guestfs-actions.pod:4754 ../src/guestfs-actions.pod:4763 ../src/guestfs-actions.pod:4773 ../src/guestfs-actions.pod:4783 ../src/guestfs-actions.pod:4802 ../src/guestfs-actions.pod:4812 ../src/guestfs-actions.pod:4822 ../src/guestfs-actions.pod:4832 ../src/guestfs-actions.pod:4844 ../src/guestfs-actions.pod:4894 ../src/guestfs-actions.pod:4908 ../src/guestfs-actions.pod:4921 ../src/guestfs-actions.pod:4934 ../src/guestfs-actions.pod:4948 ../src/guestfs-actions.pod:4958 ../src/guestfs-actions.pod:4975 ../src/guestfs-actions.pod:5005 ../src/guestfs-actions.pod:5016 ../src/guestfs-actions.pod:5051 ../src/guestfs-actions.pod:5061 ../src/guestfs-actions.pod:5076 ../src/guestfs-actions.pod:5102 ../src/guestfs-actions.pod:5130 ../src/guestfs-actions.pod:5234 ../src/guestfs-actions.pod:5249 ../src/guestfs-actions.pod:5260 ../src/guestfs-actions.pod:5306 ../src/guestfs-actions.pod:5316 ../src/guestfs-actions.pod:5353 ../src/guestfs-actions.pod:5380 ../src/guestfs-actions.pod:5422 ../src/guestfs-actions.pod:5445 ../src/guestfs-actions.pod:5502 ../src/guestfs-actions.pod:5518 ../src/guestfs-actions.pod:5544 +#: ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:63 ../src/guestfs-actions.pod:92 ../src/guestfs-actions.pod:103 ../src/guestfs-actions.pod:114 ../src/guestfs-actions.pod:124 ../src/guestfs-actions.pod:135 ../src/guestfs-actions.pod:238 ../src/guestfs-actions.pod:255 ../src/guestfs-actions.pod:266 ../src/guestfs-actions.pod:302 ../src/guestfs-actions.pod:324 ../src/guestfs-actions.pod:339 ../src/guestfs-actions.pod:403 ../src/guestfs-actions.pod:430 ../src/guestfs-actions.pod:441 ../src/guestfs-actions.pod:453 ../src/guestfs-actions.pod:534 ../src/guestfs-actions.pod:549 ../src/guestfs-actions.pod:560 ../src/guestfs-actions.pod:571 ../src/guestfs-actions.pod:717 ../src/guestfs-actions.pod:734 ../src/guestfs-actions.pod:749 ../src/guestfs-actions.pod:824 ../src/guestfs-actions.pod:839 ../src/guestfs-actions.pod:855 ../src/guestfs-actions.pod:866 ../src/guestfs-actions.pod:883 ../src/guestfs-actions.pod:916 ../src/guestfs-actions.pod:974 ../src/guestfs-actions.pod:1002 ../src/guestfs-actions.pod:1024 ../src/guestfs-actions.pod:1055 ../src/guestfs-actions.pod:1143 ../src/guestfs-actions.pod:1174 ../src/guestfs-actions.pod:1374 ../src/guestfs-actions.pod:1393 ../src/guestfs-actions.pod:1474 ../src/guestfs-actions.pod:1822 ../src/guestfs-actions.pod:1945 ../src/guestfs-actions.pod:2000 ../src/guestfs-actions.pod:2030 ../src/guestfs-actions.pod:2439 ../src/guestfs-actions.pod:2451 ../src/guestfs-actions.pod:2468 ../src/guestfs-actions.pod:2576 ../src/guestfs-actions.pod:2587 ../src/guestfs-actions.pod:2597 ../src/guestfs-actions.pod:2608 ../src/guestfs-actions.pod:2620 ../src/guestfs-actions.pod:2650 ../src/guestfs-actions.pod:2714 ../src/guestfs-actions.pod:2731 ../src/guestfs-actions.pod:2745 ../src/guestfs-actions.pod:2765 ../src/guestfs-actions.pod:2785 ../src/guestfs-actions.pod:2814 ../src/guestfs-actions.pod:2830 ../src/guestfs-actions.pod:2846 ../src/guestfs-actions.pod:2858 ../src/guestfs-actions.pod:2867 ../src/guestfs-actions.pod:2900 ../src/guestfs-actions.pod:2913 ../src/guestfs-actions.pod:2923 ../src/guestfs-actions.pod:2935 ../src/guestfs-actions.pod:2949 ../src/guestfs-actions.pod:3029 ../src/guestfs-actions.pod:3046 ../src/guestfs-actions.pod:3056 ../src/guestfs-actions.pod:3101 ../src/guestfs-actions.pod:3116 ../src/guestfs-actions.pod:3131 ../src/guestfs-actions.pod:3144 ../src/guestfs-actions.pod:3155 ../src/guestfs-actions.pod:3166 ../src/guestfs-actions.pod:3180 ../src/guestfs-actions.pod:3192 ../src/guestfs-actions.pod:3209 ../src/guestfs-actions.pod:3240 ../src/guestfs-actions.pod:3268 ../src/guestfs-actions.pod:3284 ../src/guestfs-actions.pod:3300 ../src/guestfs-actions.pod:3309 ../src/guestfs-actions.pod:3323 ../src/guestfs-actions.pod:3333 ../src/guestfs-actions.pod:3345 ../src/guestfs-actions.pod:3357 ../src/guestfs-actions.pod:3389 ../src/guestfs-actions.pod:3401 ../src/guestfs-actions.pod:3418 ../src/guestfs-actions.pod:3429 ../src/guestfs-actions.pod:3443 ../src/guestfs-actions.pod:3483 ../src/guestfs-actions.pod:3514 ../src/guestfs-actions.pod:3525 ../src/guestfs-actions.pod:3550 ../src/guestfs-actions.pod:3564 ../src/guestfs-actions.pod:3579 ../src/guestfs-actions.pod:3701 ../src/guestfs-actions.pod:3753 ../src/guestfs-actions.pod:3772 ../src/guestfs-actions.pod:3787 ../src/guestfs-actions.pod:3813 ../src/guestfs-actions.pod:3847 ../src/guestfs-actions.pod:3861 ../src/guestfs-actions.pod:3871 ../src/guestfs-actions.pod:3882 ../src/guestfs-actions.pod:4137 ../src/guestfs-actions.pod:4153 ../src/guestfs-actions.pod:4164 ../src/guestfs-actions.pod:4173 ../src/guestfs-actions.pod:4184 ../src/guestfs-actions.pod:4193 ../src/guestfs-actions.pod:4204 ../src/guestfs-actions.pod:4217 ../src/guestfs-actions.pod:4235 ../src/guestfs-actions.pod:4251 ../src/guestfs-actions.pod:4267 ../src/guestfs-actions.pod:4282 ../src/guestfs-actions.pod:4302 ../src/guestfs-actions.pod:4317 ../src/guestfs-actions.pod:4333 ../src/guestfs-actions.pod:4351 ../src/guestfs-actions.pod:4367 ../src/guestfs-actions.pod:4381 ../src/guestfs-actions.pod:4406 ../src/guestfs-actions.pod:4427 ../src/guestfs-actions.pod:4443 ../src/guestfs-actions.pod:4464 ../src/guestfs-actions.pod:4476 ../src/guestfs-actions.pod:4488 ../src/guestfs-actions.pod:4504 ../src/guestfs-actions.pod:4538 ../src/guestfs-actions.pod:4558 ../src/guestfs-actions.pod:4581 ../src/guestfs-actions.pod:4671 ../src/guestfs-actions.pod:4777 ../src/guestfs-actions.pod:4786 ../src/guestfs-actions.pod:4796 ../src/guestfs-actions.pod:4806 ../src/guestfs-actions.pod:4825 ../src/guestfs-actions.pod:4835 ../src/guestfs-actions.pod:4845 ../src/guestfs-actions.pod:4855 ../src/guestfs-actions.pod:4867 ../src/guestfs-actions.pod:4917 ../src/guestfs-actions.pod:4931 ../src/guestfs-actions.pod:4944 ../src/guestfs-actions.pod:4957 ../src/guestfs-actions.pod:4971 ../src/guestfs-actions.pod:4981 ../src/guestfs-actions.pod:4998 ../src/guestfs-actions.pod:5028 ../src/guestfs-actions.pod:5039 ../src/guestfs-actions.pod:5074 ../src/guestfs-actions.pod:5084 ../src/guestfs-actions.pod:5099 ../src/guestfs-actions.pod:5125 ../src/guestfs-actions.pod:5153 ../src/guestfs-actions.pod:5257 ../src/guestfs-actions.pod:5272 ../src/guestfs-actions.pod:5283 ../src/guestfs-actions.pod:5329 ../src/guestfs-actions.pod:5339 ../src/guestfs-actions.pod:5376 ../src/guestfs-actions.pod:5403 ../src/guestfs-actions.pod:5445 ../src/guestfs-actions.pod:5468 ../src/guestfs-actions.pod:5525 ../src/guestfs-actions.pod:5541 ../src/guestfs-actions.pod:5567 msgid "This function returns 0 on success or -1 on error." msgstr "" @@ -3733,7 +3796,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:172 ../src/guestfs-actions.pod:313 ../src/guestfs-actions.pod:467 ../src/guestfs-actions.pod:492 ../src/guestfs-actions.pod:507 ../src/guestfs-actions.pod:523 ../src/guestfs-actions.pod:1041 ../src/guestfs-actions.pod:1356 ../src/guestfs-actions.pod:1538 ../src/guestfs-actions.pod:1619 ../src/guestfs-actions.pod:1650 ../src/guestfs-actions.pod:1693 ../src/guestfs-actions.pod:1710 ../src/guestfs-actions.pod:1935 ../src/guestfs-actions.pod:2147 ../src/guestfs-actions.pod:2165 ../src/guestfs-actions.pod:3503 ../src/guestfs-actions.pod:3610 ../src/guestfs-actions.pod:3941 ../src/guestfs-actions.pod:5040 ../src/guestfs-actions.pod:5390 ../src/guestfs-actions.pod:5400 ../src/guestfs-actions.pod:5410 +#: ../src/guestfs-actions.pod:172 ../src/guestfs-actions.pod:313 ../src/guestfs-actions.pod:467 ../src/guestfs-actions.pod:492 ../src/guestfs-actions.pod:507 ../src/guestfs-actions.pod:523 ../src/guestfs-actions.pod:1041 ../src/guestfs-actions.pod:1356 ../src/guestfs-actions.pod:1538 ../src/guestfs-actions.pod:1619 ../src/guestfs-actions.pod:1650 ../src/guestfs-actions.pod:1693 ../src/guestfs-actions.pod:1710 ../src/guestfs-actions.pod:1935 ../src/guestfs-actions.pod:2147 ../src/guestfs-actions.pod:2165 ../src/guestfs-actions.pod:3503 ../src/guestfs-actions.pod:3610 ../src/guestfs-actions.pod:3941 ../src/guestfs-actions.pod:3964 ../src/guestfs-actions.pod:5063 ../src/guestfs-actions.pod:5413 ../src/guestfs-actions.pod:5423 ../src/guestfs-actions.pod:5433 msgid "On error this function returns -1." msgstr "" @@ -3759,7 +3822,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:182 ../src/guestfs-actions.pod:610 ../src/guestfs-actions.pod:625 ../src/guestfs-actions.pod:682 ../src/guestfs-actions.pod:695 ../src/guestfs-actions.pod:786 ../src/guestfs-actions.pod:899 ../src/guestfs-actions.pod:928 ../src/guestfs-actions.pod:942 ../src/guestfs-actions.pod:958 ../src/guestfs-actions.pod:1069 ../src/guestfs-actions.pod:1233 ../src/guestfs-actions.pod:1342 ../src/guestfs-actions.pod:1487 ../src/guestfs-actions.pod:1501 ../src/guestfs-actions.pod:1577 ../src/guestfs-actions.pod:1595 ../src/guestfs-actions.pod:1729 ../src/guestfs-actions.pod:1868 ../src/guestfs-actions.pod:2049 ../src/guestfs-actions.pod:2099 ../src/guestfs-actions.pod:2215 ../src/guestfs-actions.pod:2250 ../src/guestfs-actions.pod:2565 ../src/guestfs-actions.pod:2986 ../src/guestfs-actions.pod:3082 ../src/guestfs-actions.pod:3625 ../src/guestfs-actions.pod:3801 ../src/guestfs-actions.pod:3919 ../src/guestfs-actions.pod:4057 ../src/guestfs-actions.pod:4100 ../src/guestfs-actions.pod:4576 ../src/guestfs-actions.pod:4589 ../src/guestfs-actions.pod:4603 ../src/guestfs-actions.pod:4624 ../src/guestfs-actions.pod:5183 ../src/guestfs-actions.pod:5199 ../src/guestfs-actions.pod:5214 ../src/guestfs-actions.pod:5362 ../src/guestfs-actions.pod:5592 +#: ../src/guestfs-actions.pod:182 ../src/guestfs-actions.pod:610 ../src/guestfs-actions.pod:625 ../src/guestfs-actions.pod:682 ../src/guestfs-actions.pod:695 ../src/guestfs-actions.pod:786 ../src/guestfs-actions.pod:899 ../src/guestfs-actions.pod:928 ../src/guestfs-actions.pod:942 ../src/guestfs-actions.pod:958 ../src/guestfs-actions.pod:1069 ../src/guestfs-actions.pod:1233 ../src/guestfs-actions.pod:1342 ../src/guestfs-actions.pod:1487 ../src/guestfs-actions.pod:1501 ../src/guestfs-actions.pod:1577 ../src/guestfs-actions.pod:1595 ../src/guestfs-actions.pod:1729 ../src/guestfs-actions.pod:1868 ../src/guestfs-actions.pod:2049 ../src/guestfs-actions.pod:2099 ../src/guestfs-actions.pod:2215 ../src/guestfs-actions.pod:2250 ../src/guestfs-actions.pod:2565 ../src/guestfs-actions.pod:2986 ../src/guestfs-actions.pod:3082 ../src/guestfs-actions.pod:3625 ../src/guestfs-actions.pod:3801 ../src/guestfs-actions.pod:3919 ../src/guestfs-actions.pod:4080 ../src/guestfs-actions.pod:4123 ../src/guestfs-actions.pod:4599 ../src/guestfs-actions.pod:4612 ../src/guestfs-actions.pod:4626 ../src/guestfs-actions.pod:4647 ../src/guestfs-actions.pod:5206 ../src/guestfs-actions.pod:5222 ../src/guestfs-actions.pod:5237 ../src/guestfs-actions.pod:5385 ../src/guestfs-actions.pod:5615 msgid "" "This function returns a string, or NULL on error. I." @@ -3952,7 +4015,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:276 ../src/guestfs-actions.pod:289 ../src/guestfs-actions.pod:417 ../src/guestfs-actions.pod:802 ../src/guestfs-actions.pod:1081 ../src/guestfs-actions.pod:1097 ../src/guestfs-actions.pod:1185 ../src/guestfs-actions.pod:1201 ../src/guestfs-actions.pod:1432 ../src/guestfs-actions.pod:1766 ../src/guestfs-actions.pod:1779 ../src/guestfs-actions.pod:1795 ../src/guestfs-actions.pod:1832 ../src/guestfs-actions.pod:1853 ../src/guestfs-actions.pod:1915 ../src/guestfs-actions.pod:1955 ../src/guestfs-actions.pod:2121 ../src/guestfs-actions.pod:2289 ../src/guestfs-actions.pod:2494 ../src/guestfs-actions.pod:2550 ../src/guestfs-actions.pod:2634 ../src/guestfs-actions.pod:2963 ../src/guestfs-actions.pod:3470 ../src/guestfs-actions.pod:3896 ../src/guestfs-actions.pod:3982 ../src/guestfs-actions.pod:4088 ../src/guestfs-actions.pod:4637 ../src/guestfs-actions.pod:4686 ../src/guestfs-actions.pod:4738 ../src/guestfs-actions.pod:4854 ../src/guestfs-actions.pod:4875 ../src/guestfs-actions.pod:5275 ../src/guestfs-actions.pod:5292 ../src/guestfs-actions.pod:5330 ../src/guestfs-actions.pod:5466 ../src/guestfs-actions.pod:5482 ../src/guestfs-actions.pod:5555 ../src/guestfs-actions.pod:5571 ../src/guestfs-actions.pod:5611 ../src/guestfs-actions.pod:5627 +#: ../src/guestfs-actions.pod:276 ../src/guestfs-actions.pod:289 ../src/guestfs-actions.pod:417 ../src/guestfs-actions.pod:802 ../src/guestfs-actions.pod:1081 ../src/guestfs-actions.pod:1097 ../src/guestfs-actions.pod:1185 ../src/guestfs-actions.pod:1201 ../src/guestfs-actions.pod:1432 ../src/guestfs-actions.pod:1766 ../src/guestfs-actions.pod:1779 ../src/guestfs-actions.pod:1795 ../src/guestfs-actions.pod:1832 ../src/guestfs-actions.pod:1853 ../src/guestfs-actions.pod:1915 ../src/guestfs-actions.pod:1955 ../src/guestfs-actions.pod:2121 ../src/guestfs-actions.pod:2289 ../src/guestfs-actions.pod:2494 ../src/guestfs-actions.pod:2550 ../src/guestfs-actions.pod:2634 ../src/guestfs-actions.pod:2963 ../src/guestfs-actions.pod:3470 ../src/guestfs-actions.pod:3896 ../src/guestfs-actions.pod:4005 ../src/guestfs-actions.pod:4111 ../src/guestfs-actions.pod:4660 ../src/guestfs-actions.pod:4709 ../src/guestfs-actions.pod:4761 ../src/guestfs-actions.pod:4877 ../src/guestfs-actions.pod:4898 ../src/guestfs-actions.pod:5298 ../src/guestfs-actions.pod:5315 ../src/guestfs-actions.pod:5353 ../src/guestfs-actions.pod:5489 ../src/guestfs-actions.pod:5505 ../src/guestfs-actions.pod:5578 ../src/guestfs-actions.pod:5594 ../src/guestfs-actions.pod:5634 ../src/guestfs-actions.pod:5650 msgid "" "This function returns a NULL-terminated array of strings (like " "L), or NULL if there was an error. I." msgstr "" @@ -4581,7 +4644,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:628 ../src/guestfs-actions.pod:789 ../src/guestfs-actions.pod:806 ../src/guestfs-actions.pod:1085 ../src/guestfs-actions.pod:1101 ../src/guestfs-actions.pod:1189 ../src/guestfs-actions.pod:1205 ../src/guestfs-actions.pod:1436 ../src/guestfs-actions.pod:1783 ../src/guestfs-actions.pod:1799 ../src/guestfs-actions.pod:1836 ../src/guestfs-actions.pod:1857 ../src/guestfs-actions.pod:1871 ../src/guestfs-actions.pod:1897 ../src/guestfs-actions.pod:3835 ../src/guestfs-actions.pod:3943 ../src/guestfs-actions.pod:3964 ../src/guestfs-actions.pod:4690 ../src/guestfs-actions.pod:4742 ../src/guestfs-actions.pod:4858 ../src/guestfs-actions.pod:4879 ../src/guestfs-actions.pod:5424 ../src/guestfs-actions.pod:5447 ../src/guestfs-actions.pod:5470 ../src/guestfs-actions.pod:5486 ../src/guestfs-actions.pod:5559 ../src/guestfs-actions.pod:5575 ../src/guestfs-actions.pod:5615 ../src/guestfs-actions.pod:5631 ../fish/guestfish-actions.pod:513 ../fish/guestfish-actions.pod:648 ../fish/guestfish-actions.pod:660 ../fish/guestfish-actions.pod:861 ../fish/guestfish-actions.pod:871 ../fish/guestfish-actions.pod:938 ../fish/guestfish-actions.pod:948 ../fish/guestfish-actions.pod:1143 ../fish/guestfish-actions.pod:1418 ../fish/guestfish-actions.pod:1428 ../fish/guestfish-actions.pod:1456 ../fish/guestfish-actions.pod:1471 ../fish/guestfish-actions.pod:1481 ../fish/guestfish-actions.pod:1500 ../fish/guestfish-actions.pod:2970 ../fish/guestfish-actions.pod:3046 ../fish/guestfish-actions.pod:3061 ../fish/guestfish-actions.pod:3644 ../fish/guestfish-actions.pod:3690 ../fish/guestfish-actions.pod:3775 ../fish/guestfish-actions.pod:3790 ../fish/guestfish-actions.pod:4200 ../fish/guestfish-actions.pod:4218 ../fish/guestfish-actions.pod:4235 ../fish/guestfish-actions.pod:4245 ../fish/guestfish-actions.pod:4293 ../fish/guestfish-actions.pod:4303 ../fish/guestfish-actions.pod:4332 ../fish/guestfish-actions.pod:4342 +#: ../src/guestfs-actions.pod:628 ../src/guestfs-actions.pod:789 ../src/guestfs-actions.pod:806 ../src/guestfs-actions.pod:1085 ../src/guestfs-actions.pod:1101 ../src/guestfs-actions.pod:1189 ../src/guestfs-actions.pod:1205 ../src/guestfs-actions.pod:1436 ../src/guestfs-actions.pod:1783 ../src/guestfs-actions.pod:1799 ../src/guestfs-actions.pod:1836 ../src/guestfs-actions.pod:1857 ../src/guestfs-actions.pod:1871 ../src/guestfs-actions.pod:1897 ../src/guestfs-actions.pod:3835 ../src/guestfs-actions.pod:3943 ../src/guestfs-actions.pod:3966 ../src/guestfs-actions.pod:3987 ../src/guestfs-actions.pod:4713 ../src/guestfs-actions.pod:4765 ../src/guestfs-actions.pod:4881 ../src/guestfs-actions.pod:4902 ../src/guestfs-actions.pod:5447 ../src/guestfs-actions.pod:5470 ../src/guestfs-actions.pod:5493 ../src/guestfs-actions.pod:5509 ../src/guestfs-actions.pod:5582 ../src/guestfs-actions.pod:5598 ../src/guestfs-actions.pod:5638 ../src/guestfs-actions.pod:5654 ../fish/guestfish-actions.pod:513 ../fish/guestfish-actions.pod:648 ../fish/guestfish-actions.pod:660 ../fish/guestfish-actions.pod:861 ../fish/guestfish-actions.pod:871 ../fish/guestfish-actions.pod:938 ../fish/guestfish-actions.pod:948 ../fish/guestfish-actions.pod:1143 ../fish/guestfish-actions.pod:1418 ../fish/guestfish-actions.pod:1428 ../fish/guestfish-actions.pod:1456 ../fish/guestfish-actions.pod:1471 ../fish/guestfish-actions.pod:1481 ../fish/guestfish-actions.pod:1500 ../fish/guestfish-actions.pod:2970 ../fish/guestfish-actions.pod:3046 ../fish/guestfish-actions.pod:3063 ../fish/guestfish-actions.pod:3078 ../fish/guestfish-actions.pod:3661 ../fish/guestfish-actions.pod:3707 ../fish/guestfish-actions.pod:3792 ../fish/guestfish-actions.pod:3807 ../fish/guestfish-actions.pod:4217 ../fish/guestfish-actions.pod:4235 ../fish/guestfish-actions.pod:4252 ../fish/guestfish-actions.pod:4262 ../fish/guestfish-actions.pod:4310 ../fish/guestfish-actions.pod:4320 ../fish/guestfish-actions.pod:4349 ../fish/guestfish-actions.pod:4359 msgid "" "Because of the message protocol, there is a transfer limit of somewhere " "between 2MB and 4MB. See L." @@ -4973,7 +5036,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:841 ../src/guestfs-actions.pod:976 ../src/guestfs-actions.pod:1004 ../src/guestfs-actions.pod:1376 ../src/guestfs-actions.pod:1395 ../src/guestfs-actions.pod:5504 ../src/guestfs-actions.pod:5520 +#: ../src/guestfs-actions.pod:841 ../src/guestfs-actions.pod:976 ../src/guestfs-actions.pod:1004 ../src/guestfs-actions.pod:1376 ../src/guestfs-actions.pod:1395 ../src/guestfs-actions.pod:5527 ../src/guestfs-actions.pod:5543 msgid "" "This long-running command can generate progress notification messages so " "that the caller can display a progress bar or indicator. To receive these " @@ -5212,7 +5275,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:970 ../src/guestfs-actions.pod:5072 ../fish/guestfish-actions.pod:779 ../fish/guestfish-actions.pod:3948 +#: ../src/guestfs-actions.pod:970 ../src/guestfs-actions.pod:5095 ../fish/guestfish-actions.pod:779 ../fish/guestfish-actions.pod:3965 msgid "C can also be a named pipe." msgstr "" @@ -5516,7 +5579,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:1148 ../src/guestfs-actions.pod:1583 ../src/guestfs-actions.pod:1601 ../src/guestfs-actions.pod:5453 ../src/guestfs-actions.pod:5598 ../fish/guestfish-actions.pod:907 ../fish/guestfish-actions.pod:1264 ../fish/guestfish-actions.pod:1278 ../fish/guestfish-actions.pod:4224 ../fish/guestfish-actions.pod:4321 +#: ../src/guestfs-actions.pod:1148 ../src/guestfs-actions.pod:1583 ../src/guestfs-actions.pod:1601 ../src/guestfs-actions.pod:5476 ../src/guestfs-actions.pod:5621 ../fish/guestfish-actions.pod:907 ../fish/guestfish-actions.pod:1264 ../fish/guestfish-actions.pod:1278 ../fish/guestfish-actions.pod:4241 ../fish/guestfish-actions.pod:4338 msgid "" "Deprecated functions will not be removed from the API, but the fact that " "they are deprecated indicates that there are problems with correct use of " @@ -6289,7 +6352,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:1616 ../src/guestfs-actions.pod:1679 ../src/guestfs-actions.pod:4325 ../src/guestfs-actions.pod:4417 ../fish/guestfish-actions.pod:1293 ../fish/guestfish-actions.pod:1344 ../fish/guestfish-actions.pod:3355 ../fish/guestfish-actions.pod:3442 +#: ../src/guestfs-actions.pod:1616 ../src/guestfs-actions.pod:1679 ../src/guestfs-actions.pod:4348 ../src/guestfs-actions.pod:4440 ../fish/guestfish-actions.pod:1293 ../fish/guestfish-actions.pod:1344 ../fish/guestfish-actions.pod:3372 ../fish/guestfish-actions.pod:3459 msgid "For more information on the architecture of libguestfs, see L." msgstr "" @@ -6743,7 +6806,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:1851 ../src/guestfs-actions.pod:4873 ../fish/guestfish-actions.pod:1469 ../fish/guestfish-actions.pod:3788 +#: ../src/guestfs-actions.pod:1851 ../src/guestfs-actions.pod:4896 ../fish/guestfish-actions.pod:1469 ../fish/guestfish-actions.pod:3805 msgid "If the parameter C is zero, this returns an empty list." msgstr "" @@ -6814,7 +6877,7 @@ msgid "See also C." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:1893 ../src/guestfs-actions.pod:3831 ../src/guestfs-actions.pod:3960 +#: ../src/guestfs-actions.pod:1893 ../src/guestfs-actions.pod:3831 ../src/guestfs-actions.pod:3983 msgid "" "This function returns a buffer, or NULL on error. The size of the returned " "buffer is written to C<*size_r>. I, where " @@ -8140,7 +8203,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:2657 ../src/guestfs-actions.pod:4655 ../fish/guestfish-actions.pod:2101 ../fish/guestfish-actions.pod:3623 +#: ../src/guestfs-actions.pod:2657 ../src/guestfs-actions.pod:4678 ../fish/guestfish-actions.pod:2101 ../fish/guestfish-actions.pod:3640 msgid "Returns file information for the given C." msgstr "" @@ -8157,7 +8220,7 @@ msgid "This is the same as the C system call." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:2665 ../src/guestfs-actions.pod:4659 +#: ../src/guestfs-actions.pod:2665 ../src/guestfs-actions.pod:4682 msgid "" "This function returns a C, or NULL if there was an " "error. I after use>." @@ -8301,7 +8364,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:2747 ../src/guestfs-actions.pod:2767 ../src/guestfs-actions.pod:2869 ../src/guestfs-actions.pod:3581 ../src/guestfs-actions.pod:4196 ../src/guestfs-actions.pod:4517 ../src/guestfs-actions.pod:4537 ../src/guestfs-actions.pod:4560 ../src/guestfs-actions.pod:5525 ../fish/guestfish-actions.pod:2168 ../fish/guestfish-actions.pod:2181 ../fish/guestfish-actions.pod:2252 ../fish/guestfish-actions.pod:2767 ../fish/guestfish-actions.pod:3242 ../fish/guestfish-actions.pod:3522 ../fish/guestfish-actions.pod:3538 ../fish/guestfish-actions.pod:3553 ../fish/guestfish-actions.pod:4268 +#: ../src/guestfs-actions.pod:2747 ../src/guestfs-actions.pod:2767 ../src/guestfs-actions.pod:2869 ../src/guestfs-actions.pod:3581 ../src/guestfs-actions.pod:4219 ../src/guestfs-actions.pod:4540 ../src/guestfs-actions.pod:4560 ../src/guestfs-actions.pod:4583 ../src/guestfs-actions.pod:5548 ../fish/guestfish-actions.pod:2168 ../fish/guestfish-actions.pod:2181 ../fish/guestfish-actions.pod:2252 ../fish/guestfish-actions.pod:2767 ../fish/guestfish-actions.pod:3259 ../fish/guestfish-actions.pod:3539 ../fish/guestfish-actions.pod:3555 ../fish/guestfish-actions.pod:3570 ../fish/guestfish-actions.pod:4285 msgid "" "B." @@ -10290,7 +10353,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3829 +#: ../src/guestfs-actions.pod:3829 ../src/guestfs-actions.pod:3962 msgid "See also C." msgstr "" @@ -10502,18 +10565,50 @@ msgstr "" # type: textblock #: ../src/guestfs-actions.pod:3939 -msgid "See also C." +msgid "See also C, C." msgstr "" # type: =head2 #: ../src/guestfs-actions.pod:3946 -msgid "guestfs_read_file" +msgid "guestfs_pwrite_device" msgstr "" # type: verbatim #: ../src/guestfs-actions.pod:3948 #, no-wrap msgid "" +" int guestfs_pwrite_device (guestfs_h *g,\n" +"\t\tconst char *device,\n" +"\t\tconst char *content,\n" +"\t\tsize_t content_size,\n" +"\t\tint64_t offset);\n" +"\n" +msgstr "" + +# type: textblock +#: ../src/guestfs-actions.pod:3954 ../fish/guestfish-actions.pod:3053 +msgid "" +"This command writes to part of a device. It writes the data buffer " +"C to C starting at offset C." +msgstr "" + +# type: textblock +#: ../src/guestfs-actions.pod:3957 ../fish/guestfish-actions.pod:3056 +msgid "" +"This command implements the L system call, and like that system " +"call it may not write the full data requested (although short writes to disk " +"devices and partitions are probably impossible with standard Linux kernels)." +msgstr "" + +# type: =head2 +#: ../src/guestfs-actions.pod:3969 +msgid "guestfs_read_file" +msgstr "" + +# type: verbatim +#: ../src/guestfs-actions.pod:3971 +#, no-wrap +msgid "" " char *guestfs_read_file (guestfs_h *g,\n" "\t\tconst char *path,\n" "\t\tsize_t *size_r);\n" @@ -10521,12 +10616,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3952 ../fish/guestfish-actions.pod:3053 +#: ../src/guestfs-actions.pod:3975 ../fish/guestfish-actions.pod:3070 msgid "This calls returns the contents of the file C as a buffer." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3955 +#: ../src/guestfs-actions.pod:3978 msgid "" "Unlike C, this function can correctly handle files that contain " "embedded ASCII NUL characters. However unlike C, this " @@ -10534,12 +10629,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:3967 +#: ../src/guestfs-actions.pod:3990 msgid "guestfs_read_lines" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:3969 +#: ../src/guestfs-actions.pod:3992 #, no-wrap msgid "" " char **guestfs_read_lines (guestfs_h *g,\n" @@ -10548,14 +10643,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3974 ../fish/guestfish-actions.pod:3070 +#: ../src/guestfs-actions.pod:3997 ../fish/guestfish-actions.pod:3087 msgid "" "The file contents are returned as a list of lines. Trailing C and " "C character sequences are I returned." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3977 +#: ../src/guestfs-actions.pod:4000 msgid "" "Note that this function cannot correctly handle binary files (specifically, " "files containing C<\\0> character which is treated as end of line). For " @@ -10564,12 +10659,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:3986 +#: ../src/guestfs-actions.pod:4009 msgid "guestfs_readdir" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:3988 +#: ../src/guestfs-actions.pod:4011 #, no-wrap msgid "" " struct guestfs_dirent_list *guestfs_readdir (guestfs_h *g,\n" @@ -10578,12 +10673,12 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3991 ../fish/guestfish-actions.pod:3082 +#: ../src/guestfs-actions.pod:4014 ../fish/guestfish-actions.pod:3099 msgid "This returns the list of directory entries in directory C." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3993 ../fish/guestfish-actions.pod:3084 +#: ../src/guestfs-actions.pod:4016 ../fish/guestfish-actions.pod:3101 msgid "" "All entries in the directory are returned, including C<.> and C<..>. The " "entries are I sorted, but returned in the same order as the underlying " @@ -10591,104 +10686,104 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:3997 ../fish/guestfish-actions.pod:3088 +#: ../src/guestfs-actions.pod:4020 ../fish/guestfish-actions.pod:3105 msgid "" "Also this call returns basic file type information about each file. The " "C field will contain one of the following characters:" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4002 ../fish/guestfish-actions.pod:3093 +#: ../src/guestfs-actions.pod:4025 ../fish/guestfish-actions.pod:3110 msgid "'b'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4004 ../fish/guestfish-actions.pod:3095 +#: ../src/guestfs-actions.pod:4027 ../fish/guestfish-actions.pod:3112 msgid "Block special" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4006 ../fish/guestfish-actions.pod:3097 +#: ../src/guestfs-actions.pod:4029 ../fish/guestfish-actions.pod:3114 msgid "'c'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4008 ../fish/guestfish-actions.pod:3099 +#: ../src/guestfs-actions.pod:4031 ../fish/guestfish-actions.pod:3116 msgid "Char special" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4010 ../fish/guestfish-actions.pod:3101 +#: ../src/guestfs-actions.pod:4033 ../fish/guestfish-actions.pod:3118 msgid "'d'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4012 ../fish/guestfish-actions.pod:3103 +#: ../src/guestfs-actions.pod:4035 ../fish/guestfish-actions.pod:3120 msgid "Directory" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4014 ../fish/guestfish-actions.pod:3105 +#: ../src/guestfs-actions.pod:4037 ../fish/guestfish-actions.pod:3122 msgid "'f'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4016 ../fish/guestfish-actions.pod:3107 +#: ../src/guestfs-actions.pod:4039 ../fish/guestfish-actions.pod:3124 msgid "FIFO (named pipe)" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4018 ../fish/guestfish-actions.pod:3109 +#: ../src/guestfs-actions.pod:4041 ../fish/guestfish-actions.pod:3126 msgid "'l'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4020 ../fish/guestfish-actions.pod:3111 +#: ../src/guestfs-actions.pod:4043 ../fish/guestfish-actions.pod:3128 msgid "Symbolic link" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4022 ../fish/guestfish-actions.pod:3113 +#: ../src/guestfs-actions.pod:4045 ../fish/guestfish-actions.pod:3130 msgid "'r'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4024 ../fish/guestfish-actions.pod:3115 +#: ../src/guestfs-actions.pod:4047 ../fish/guestfish-actions.pod:3132 msgid "Regular file" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4026 ../fish/guestfish-actions.pod:3117 +#: ../src/guestfs-actions.pod:4049 ../fish/guestfish-actions.pod:3134 msgid "'s'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4028 ../fish/guestfish-actions.pod:3119 +#: ../src/guestfs-actions.pod:4051 ../fish/guestfish-actions.pod:3136 msgid "Socket" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4030 ../fish/guestfish-actions.pod:3121 +#: ../src/guestfs-actions.pod:4053 ../fish/guestfish-actions.pod:3138 msgid "'u'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4032 ../fish/guestfish-actions.pod:3123 +#: ../src/guestfs-actions.pod:4055 ../fish/guestfish-actions.pod:3140 msgid "Unknown file type" msgstr "" # type: =item -#: ../src/guestfs-actions.pod:4034 ../fish/guestfish-actions.pod:3125 +#: ../src/guestfs-actions.pod:4057 ../fish/guestfish-actions.pod:3142 msgid "'?'" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4036 ../fish/guestfish-actions.pod:3127 +#: ../src/guestfs-actions.pod:4059 ../fish/guestfish-actions.pod:3144 msgid "The L call returned a C field with an unexpected value" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4041 +#: ../src/guestfs-actions.pod:4064 msgid "" "This function is primarily intended for use by programs. To get a simple " "list of names, use C. To get a printable directory for human " @@ -10696,7 +10791,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4045 +#: ../src/guestfs-actions.pod:4068 msgid "" "This function returns a C (see " "Eguestfs-structs.hE), or NULL if there was an error. I operation on multiple files, where " "all files are in the directory C. C is the list of files from " @@ -10746,14 +10841,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4070 ../fish/guestfish-actions.pod:3150 +#: ../src/guestfs-actions.pod:4093 ../fish/guestfish-actions.pod:3167 msgid "" "On return you get a list of strings, with a one-to-one correspondence to the " "C list. Each string is the value of the symbolic link." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4074 ../fish/guestfish-actions.pod:3154 +#: ../src/guestfs-actions.pod:4097 ../fish/guestfish-actions.pod:3171 msgid "" "If the C operation fails on any name, then the corresponding " "result string is the empty string C<\"\">. However the whole operation is " @@ -10763,7 +10858,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4081 ../fish/guestfish-actions.pod:3161 +#: ../src/guestfs-actions.pod:4104 ../fish/guestfish-actions.pod:3178 msgid "" "This call is intended for programs that want to efficiently list a directory " "contents without making many round-trips. Very long directory listings " @@ -10772,12 +10867,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4092 +#: ../src/guestfs-actions.pod:4115 msgid "guestfs_realpath" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4094 +#: ../src/guestfs-actions.pod:4117 #, no-wrap msgid "" " char *guestfs_realpath (guestfs_h *g,\n" @@ -10786,19 +10881,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4097 ../fish/guestfish-actions.pod:3172 +#: ../src/guestfs-actions.pod:4120 ../fish/guestfish-actions.pod:3189 msgid "" "Return the canonicalized absolute pathname of C. The returned path " "has no C<.>, C<..> or symbolic link path elements." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4103 +#: ../src/guestfs-actions.pod:4126 msgid "guestfs_removexattr" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4105 +#: ../src/guestfs-actions.pod:4128 #, no-wrap msgid "" " int guestfs_removexattr (guestfs_h *g,\n" @@ -10808,22 +10903,22 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4109 ../fish/guestfish-actions.pod:3179 +#: ../src/guestfs-actions.pod:4132 ../fish/guestfish-actions.pod:3196 msgid "This call removes the extended attribute named C of the file C." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4112 +#: ../src/guestfs-actions.pod:4135 msgid "See also: C, L." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4116 +#: ../src/guestfs-actions.pod:4139 msgid "guestfs_resize2fs" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4118 +#: ../src/guestfs-actions.pod:4141 #, no-wrap msgid "" " int guestfs_resize2fs (guestfs_h *g,\n" @@ -10832,14 +10927,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4121 ../fish/guestfish-actions.pod:3188 +#: ../src/guestfs-actions.pod:4144 ../fish/guestfish-actions.pod:3205 msgid "" "This resizes an ext2, ext3 or ext4 filesystem to match the size of the " "underlying device." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4124 +#: ../src/guestfs-actions.pod:4147 msgid "" "I It is sometimes required that you run C on the " "C before calling this command. For unknown reasons C " @@ -10848,12 +10943,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4132 +#: ../src/guestfs-actions.pod:4155 msgid "guestfs_resize2fs_size" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4134 +#: ../src/guestfs-actions.pod:4157 #, no-wrap msgid "" " int guestfs_resize2fs_size (guestfs_h *g,\n" @@ -10863,19 +10958,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4138 +#: ../src/guestfs-actions.pod:4161 msgid "" "This command is the same as C except that it allows you " "to specify the new size (in bytes) explicitly." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4143 +#: ../src/guestfs-actions.pod:4166 msgid "guestfs_rm" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4145 +#: ../src/guestfs-actions.pod:4168 #, no-wrap msgid "" " int guestfs_rm (guestfs_h *g,\n" @@ -10884,17 +10979,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4148 ../fish/guestfish-actions.pod:3208 +#: ../src/guestfs-actions.pod:4171 ../fish/guestfish-actions.pod:3225 msgid "Remove the single file C." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4152 +#: ../src/guestfs-actions.pod:4175 msgid "guestfs_rm_rf" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4154 +#: ../src/guestfs-actions.pod:4177 #, no-wrap msgid "" " int guestfs_rm_rf (guestfs_h *g,\n" @@ -10903,19 +10998,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4157 ../fish/guestfish-actions.pod:3214 +#: ../src/guestfs-actions.pod:4180 ../fish/guestfish-actions.pod:3231 msgid "" "Remove the file or directory C, recursively removing the contents if " "its a directory. This is like the C shell command." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4163 +#: ../src/guestfs-actions.pod:4186 msgid "guestfs_rmdir" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4165 +#: ../src/guestfs-actions.pod:4188 #, no-wrap msgid "" " int guestfs_rmdir (guestfs_h *g,\n" @@ -10924,17 +11019,17 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4168 ../fish/guestfish-actions.pod:3222 +#: ../src/guestfs-actions.pod:4191 ../fish/guestfish-actions.pod:3239 msgid "Remove the single directory C." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4172 +#: ../src/guestfs-actions.pod:4195 msgid "guestfs_rmmountpoint" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4174 +#: ../src/guestfs-actions.pod:4197 #, no-wrap msgid "" " int guestfs_rmmountpoint (guestfs_h *g,\n" @@ -10943,19 +11038,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4177 +#: ../src/guestfs-actions.pod:4200 msgid "" "This calls removes a mountpoint that was previously created with " "C. See C for full details." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4183 +#: ../src/guestfs-actions.pod:4206 msgid "guestfs_scrub_device" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4185 +#: ../src/guestfs-actions.pod:4208 #, no-wrap msgid "" " int guestfs_scrub_device (guestfs_h *g,\n" @@ -10964,26 +11059,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4188 ../fish/guestfish-actions.pod:3236 +#: ../src/guestfs-actions.pod:4211 ../fish/guestfish-actions.pod:3253 msgid "" "This command writes patterns over C to make data retrieval more " "difficult." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4191 ../src/guestfs-actions.pod:4209 ../src/guestfs-actions.pod:4225 ../fish/guestfish-actions.pod:3239 ../fish/guestfish-actions.pod:3254 ../fish/guestfish-actions.pod:3267 +#: ../src/guestfs-actions.pod:4214 ../src/guestfs-actions.pod:4232 ../src/guestfs-actions.pod:4248 ../fish/guestfish-actions.pod:3256 ../fish/guestfish-actions.pod:3271 ../fish/guestfish-actions.pod:3284 msgid "" "It is an interface to the L program. See that manual page for " "more details." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4199 +#: ../src/guestfs-actions.pod:4222 msgid "guestfs_scrub_file" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4201 +#: ../src/guestfs-actions.pod:4224 #, no-wrap msgid "" " int guestfs_scrub_file (guestfs_h *g,\n" @@ -10992,24 +11087,24 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4204 ../fish/guestfish-actions.pod:3249 +#: ../src/guestfs-actions.pod:4227 ../fish/guestfish-actions.pod:3266 msgid "" "This command writes patterns over a file to make data retrieval more " "difficult." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4207 ../fish/guestfish-actions.pod:3252 +#: ../src/guestfs-actions.pod:4230 ../fish/guestfish-actions.pod:3269 msgid "The file is I after scrubbing." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4214 +#: ../src/guestfs-actions.pod:4237 msgid "guestfs_scrub_freespace" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4216 +#: ../src/guestfs-actions.pod:4239 #, no-wrap msgid "" " int guestfs_scrub_freespace (guestfs_h *g,\n" @@ -11018,7 +11113,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4219 +#: ../src/guestfs-actions.pod:4242 msgid "" "This command creates the directory C and then fills it with files until " "the filesystem is full, and scrubs the files as for C, " @@ -11027,12 +11122,12 @@ msgid "" msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4230 +#: ../src/guestfs-actions.pod:4253 msgid "guestfs_set_append" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4232 +#: ../src/guestfs-actions.pod:4255 #, no-wrap msgid "" " int guestfs_set_append (guestfs_h *g,\n" @@ -11041,33 +11136,33 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4235 ../fish/guestfish-actions.pod:3276 +#: ../src/guestfs-actions.pod:4258 ../fish/guestfish-actions.pod:3293 msgid "" "This function is used to add additional options to the guest kernel command " "line." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4238 ../fish/guestfish-actions.pod:3279 +#: ../src/guestfs-actions.pod:4261 ../fish/guestfish-actions.pod:3296 msgid "" "The default is C unless overridden by setting C " "environment variable." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4241 ../fish/guestfish-actions.pod:3282 +#: ../src/guestfs-actions.pod:4264 ../fish/guestfish-actions.pod:3299 msgid "" "Setting C to C means I additional options are passed " "(libguestfs always adds a few of its own)." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4246 +#: ../src/guestfs-actions.pod:4269 msgid "guestfs_set_autosync" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4248 +#: ../src/guestfs-actions.pod:4271 #, no-wrap msgid "" " int guestfs_set_autosync (guestfs_h *g,\n" @@ -11076,7 +11171,7 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4251 +#: ../src/guestfs-actions.pod:4274 msgid "" "If C is true, this enables autosync. Libguestfs will make a best " "effort attempt to run C followed by C when " @@ -11084,19 +11179,19 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4256 ../fish/guestfish-actions.pod:3296 +#: ../src/guestfs-actions.pod:4279 ../fish/guestfish-actions.pod:3313 msgid "" "This is disabled by default (except in guestfish where it is enabled by " "default)." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4261 +#: ../src/guestfs-actions.pod:4284 msgid "guestfs_set_direct" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4263 +#: ../src/guestfs-actions.pod:4286 #, no-wrap msgid "" " int guestfs_set_direct (guestfs_h *g,\n" @@ -11105,14 +11200,14 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4266 ../fish/guestfish-actions.pod:3305 +#: ../src/guestfs-actions.pod:4289 ../fish/guestfish-actions.pod:3322 msgid "" "If the direct appliance mode flag is enabled, then stdin and stdout are " "passed directly through to the appliance once it is launched." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4270 +#: ../src/guestfs-actions.pod:4293 msgid "" "One consequence of this is that log messages aren't caught by the library " "and handled by C, but go straight to " @@ -11120,22 +11215,22 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4274 ../fish/guestfish-actions.pod:3313 +#: ../src/guestfs-actions.pod:4297 ../fish/guestfish-actions.pod:3330 msgid "You probably don't want to use this unless you know what you are doing." msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4277 ../fish/guestfish-actions.pod:3316 +#: ../src/guestfs-actions.pod:4300 ../fish/guestfish-actions.pod:3333 msgid "The default is disabled." msgstr "" # type: =head2 -#: ../src/guestfs-actions.pod:4281 +#: ../src/guestfs-actions.pod:4304 msgid "guestfs_set_e2label" msgstr "" # type: verbatim -#: ../src/guestfs-actions.pod:4283 +#: ../src/guestfs-actions.pod:4306 #, no-wrap msgid "" " int guestfs_set_e2label (guestfs_h *g,\n" @@ -11145,26 +11240,26 @@ msgid "" msgstr "" # type: textblock -#: ../src/guestfs-actions.pod:4287 ../fish/guestfish-actions.pod:3322 +#: ../src/guestfs-actions.pod:4310 ../fish/guestfish-actions.pod:3339 msgid "" "This sets the ext2/3/4 filesystem label of the filesystem on C to " "C