X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=po-docs%2Flibguestfs-docs.pot;h=1dde1f006aa32a88d13682dfee4a85bc09e42660;hp=27328a68336a4d52d15c72c37a56dadb9b7fa980;hb=5d296dfd609fb1aa865109b1040a4d5bf2981e60;hpb=2b1e36db75c14d7e2f6f6a096d8cec3f1bd8adab diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot index 27328a6..1dde1f0 100644 --- a/po-docs/libguestfs-docs.pot +++ b/po-docs/libguestfs-docs.pot @@ -6,25291 +6,36586 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: libguestfs 1.5.13\n" +"Project-Id-Version: libguestfs 1.13.5\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2010-09-13 15:07+0200\n" +"POT-Creation-Date: 2011-08-17 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: ENCODING" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" -# 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 -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 +#. type: =head1 +#: ../cat/virt-cat.pod:3 ../cat/virt-filesystems.pod:3 ../cat/virt-ls.pod:3 ../df/virt-df.pod:3 ../edit/virt-edit.pod:3 ../examples/guestfs-examples.pod:3 ../examples/guestfs-recipes.pod:14 ../fish/guestfish.pod:3 ../fish/virt-copy-in.pod:3 ../fish/virt-copy-out.pod:3 ../fish/virt-tar-in.pod:3 ../fish/virt-tar-out.pod:3 ../fuse/guestmount.pod:3 ../inspector/virt-inspector.pod:3 ../java/examples/guestfs-java.pod:3 ../ocaml/examples/guestfs-ocaml.pod:3 ../perl/examples/guestfs-perl.pod:3 ../python/examples/guestfs-python.pod:3 ../rescue/virt-rescue.pod:3 ../resize/virt-resize.pod:3 ../ruby/examples/guestfs-ruby.pod:3 ../src/guestfs.pod:3 ../test-tool/libguestfs-test-tool.pod:3 ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 ../tools/virt-make-fs.pl:35 ../tools/virt-tar.pl:31 ../tools/virt-win-reg.pl:35 msgid "NAME" msgstr "" -# type: textblock -#: ../src/guestfs.pod:5 -msgid "guestfs - Library for accessing and modifying virtual machine images" +#. type: textblock +#: ../cat/virt-cat.pod:5 +msgid "virt-cat - Display files in a virtual machine" 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 +#. type: =head1 +#: ../cat/virt-cat.pod:7 ../cat/virt-filesystems.pod:7 ../cat/virt-ls.pod:7 ../df/virt-df.pod:7 ../edit/virt-edit.pod:7 ../examples/guestfs-examples.pod:7 ../fish/guestfish.pod:7 ../fish/virt-copy-in.pod:7 ../fish/virt-copy-out.pod:7 ../fish/virt-tar-in.pod:7 ../fish/virt-tar-out.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pod:7 ../java/examples/guestfs-java.pod:7 ../ocaml/examples/guestfs-ocaml.pod:7 ../perl/examples/guestfs-perl.pod:7 ../python/examples/guestfs-python.pod:7 ../rescue/virt-rescue.pod:7 ../resize/virt-resize.pod:7 ../ruby/examples/guestfs-ruby.pod:7 ../src/guestfs.pod:7 ../test-tool/libguestfs-test-tool.pod:7 ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 ../tools/virt-make-fs.pl:39 ../tools/virt-tar.pl:35 ../tools/virt-win-reg.pl:39 msgid "SYNOPSIS" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:9 -#, no-wrap -msgid "" -" #include \n" -" \n" -msgstr "" - -# type: verbatim -#: ../src/guestfs.pod:11 +#. type: verbatim +#: ../cat/virt-cat.pod:9 #, no-wrap msgid "" -" guestfs_h *g = guestfs_create ();\n" -" guestfs_add_drive (g, \"guest.img\");\n" -" guestfs_launch (g);\n" -" guestfs_mount (g, \"/dev/sda1\", \"/\");\n" -" guestfs_touch (g, \"/hello\");\n" -" guestfs_umount (g, \"/\");\n" -" guestfs_sync (g);\n" -" guestfs_close (g);\n" +" virt-cat [--options] -d domname file [file ...]\n" "\n" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:20 +#. type: verbatim +#: ../cat/virt-cat.pod:11 #, no-wrap msgid "" -" cc prog.c -o prog -lguestfs\n" -"or:\n" -" cc prog.c -o prog `pkg-config libguestfs --cflags --libs`\n" +" virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]\n" "\n" 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 -msgid "DESCRIPTION" +#. type: textblock +#: ../cat/virt-cat.pod:13 ../edit/virt-edit.pod:15 ../inspector/virt-inspector.pod:13 +msgid "Old-style:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:26 +#. type: verbatim +#: ../cat/virt-cat.pod:15 +#, no-wrap msgid "" -"Libguestfs is a library for accessing and modifying guest disk images. " -"Amongst the things this is good for: making batch configuration changes to " -"guests, getting disk used/free statistics (see also: virt-df), migrating " -"between virtualization systems (see also: virt-p2v), performing partial " -"backups, performing partial guest clones, cloning guests and changing " -"registry/UUID/hostname info, and much else besides." +" virt-cat domname file\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:34 +#. type: verbatim +#: ../cat/virt-cat.pod:17 +#, no-wrap msgid "" -"Libguestfs uses Linux kernel and qemu code, and can access any type of guest " -"filesystem that Linux and qemu can, including but not limited to: ext2/3/4, " -"btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, " -"qcow2, vmdk." +" virt-cat disk.img file\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:39 -msgid "" -"Libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, " -"what filesystem is in each LV, etc.). It can also run commands in the " -"context of the guest. Also you can access filesystems over FUSE." +#. type: =head1 +#: ../cat/virt-cat.pod:19 ../cat/virt-filesystems.pod:13 ../cat/virt-ls.pod:19 ../df/virt-df.pod:21 ../edit/virt-edit.pod:27 ../examples/guestfs-examples.pod:19 ../examples/guestfs-recipes.pod:18 ../fish/guestfish.pod:30 ../fish/virt-copy-in.pod:19 ../fish/virt-copy-out.pod:13 ../fish/virt-tar-in.pod:21 ../fish/virt-tar-out.pod:15 ../fuse/guestmount.pod:20 ../inspector/virt-inspector.pod:19 ../java/examples/guestfs-java.pod:15 ../ocaml/examples/guestfs-ocaml.pod:25 ../perl/examples/guestfs-perl.pod:18 ../python/examples/guestfs-python.pod:14 ../rescue/virt-rescue.pod:29 ../resize/virt-resize.pod:13 ../ruby/examples/guestfs-ruby.pod:15 ../src/guestfs.pod:23 ../test-tool/libguestfs-test-tool.pod:11 ../tools/virt-list-filesystems.pl:40 ../tools/virt-list-partitions.pl:40 ../tools/virt-make-fs.pl:47 ../tools/virt-tar.pl:77 ../tools/virt-win-reg.pl:63 +msgid "DESCRIPTION" msgstr "" -# type: textblock -#: ../src/guestfs.pod:44 +#. type: textblock +#: ../cat/virt-cat.pod:21 msgid "" -"Libguestfs is a library that can be linked with C and C++ management " -"programs (or management programs written in OCaml, Perl, Python, Ruby, Java, " -"PHP, Haskell or C#). You can also use it from shell scripts or the command " -"line." +"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 -#: ../src/guestfs.pod:49 +#. type: textblock +#: ../cat/virt-cat.pod:24 msgid "" -"You don't need to be root to use libguestfs, although obviously you do need " -"enough permissions to access the disk images." +"Multiple filenames can be given, in which case they are concatenated " +"together. Each filename must be a full path, starting at the root directory " +"(starting with '/')." msgstr "" -# type: textblock -#: ../src/guestfs.pod:52 +#. type: textblock +#: ../cat/virt-cat.pod:28 msgid "" -"Libguestfs is a large API because it can do many things. For a gentle " -"introduction, please read the L section next." -msgstr "" - -# type: =head1 -#: ../src/guestfs.pod:55 -msgid "API OVERVIEW" +"C can be used to quickly view a file. To edit a file, use " +"C. For more complex cases you should look at the L " +"tool (see L below)." msgstr "" -# type: textblock -#: ../src/guestfs.pod:57 -msgid "" -"This section provides a gentler overview of the libguestfs API. We also try " -"to group API calls together, where that may not be obvious from reading " -"about the individual calls in the main section of this manual." +#. type: =head1 +#: ../cat/virt-cat.pod:32 ../cat/virt-ls.pod:35 ../df/virt-df.pod:43 ../edit/virt-edit.pod:44 ../fish/guestfish.pod:41 ../fish/guestfish.pod:1018 ../fish/virt-copy-in.pod:29 ../fish/virt-copy-out.pod:21 ../fish/virt-tar-in.pod:30 ../fish/virt-tar-out.pod:24 ../fuse/guestmount.pod:39 ../resize/virt-resize.pod:27 ../tools/virt-tar.pl:50 +msgid "EXAMPLES" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:62 -msgid "HANDLES" +#. type: textblock +#: ../cat/virt-cat.pod:34 +msgid "Display C file from inside the libvirt VM called C:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:64 +#. type: verbatim +#: ../cat/virt-cat.pod:37 +#, no-wrap msgid "" -"Before you can use libguestfs calls, you have to create a handle. Then you " -"must add at least one disk image to the handle, followed by launching the " -"handle, then performing whatever operations you want, and finally closing " -"the handle. By convention we use the single letter C for the name of the " -"handle variable, although of course you can use any name you want." +" virt-cat -d mydomain /etc/fstab\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:71 -msgid "The general structure of all libguestfs-using programs looks like this:" +#. type: textblock +#: ../cat/virt-cat.pod:39 +msgid "List syslog messages from a VM disk image file:" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:74 +#. type: verbatim +#: ../cat/virt-cat.pod:41 #, no-wrap msgid "" -" guestfs_h *g = guestfs_create ();\n" -" \n" +" virt-cat -a disk.img /var/log/messages | tail\n" +"\n" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:76 -#, no-wrap -msgid "" -" /* Call guestfs_add_drive additional times if there are\n" -" * multiple disk images.\n" -" */\n" -" guestfs_add_drive (g, \"guest.img\");\n" -" \n" +#. type: textblock +#: ../cat/virt-cat.pod:43 +msgid "Find out what DHCP IP address a VM acquired:" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:81 +#. type: verbatim +#: ../cat/virt-cat.pod:45 #, no-wrap msgid "" -" /* Most manipulation calls won't work until you've launched\n" -" * the handle 'g'. You have to do this _after_ adding drives\n" -" * and _before_ other commands.\n" -" */\n" -" guestfs_launch (g);\n" -" \n" +" virt-cat -d mydomain /var/log/messages | \\\n" +" grep 'dhclient: bound to' | tail\n" +"\n" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:87 -#, no-wrap -msgid "" -" /* Now you can examine what partitions, LVs etc are available.\n" -" */\n" -" char **partitions = guestfs_list_partitions (g);\n" -" char **logvols = guestfs_lvs (g);\n" -" \n" +#. type: textblock +#: ../cat/virt-cat.pod:48 +msgid "Find out what packages were recently installed:" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:92 +#. type: verbatim +#: ../cat/virt-cat.pod:50 #, no-wrap msgid "" -" /* To access a filesystem in the image, you must mount it.\n" -" */\n" -" guestfs_mount (g, \"/dev/sda1\", \"/\");\n" -" \n" +" virt-cat -d mydomain /var/log/yum.log | tail\n" +"\n" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:96 -#, no-wrap -msgid "" -" /* Now you can perform filesystem actions on the guest\n" -" * disk image.\n" -" */\n" -" guestfs_touch (g, \"/hello\");\n" -" \n" +#. type: textblock +#: ../cat/virt-cat.pod:52 +msgid "Find out who is logged on inside a virtual machine:" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:101 +#. type: verbatim +#: ../cat/virt-cat.pod:54 #, no-wrap msgid "" -" /* You only need to call guestfs_sync if you have made\n" -" * changes to the guest image. (But if you've made changes\n" -" * then you *must* sync). See also: guestfs_umount and\n" -" * guestfs_umount_all calls.\n" -" */\n" -" guestfs_sync (g);\n" -" \n" +" virt-cat -d mydomain /var/run/utmp > /tmp/utmp\n" +" who /tmp/utmp\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:57 +msgid "or who was logged on:" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:108 +#. type: verbatim +#: ../cat/virt-cat.pod:59 #, no-wrap msgid "" -" /* Close the handle 'g'. */\n" -" guestfs_close (g);\n" +" virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp\n" +" last -f /tmp/wtmp\n" "\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:111 -msgid "" -"The code above doesn't include any error checking. In real code you should " -"check return values carefully for errors. In general all functions that " -"return integers return C<-1> on error, and all functions that return " -"pointers return C on error. See section L below for " -"how to handle errors, and consult the documentation for each function call " -"below to see precisely how they return error indications." +#. type: =head1 +#: ../cat/virt-cat.pod:62 ../cat/virt-filesystems.pod:91 ../cat/virt-ls.pod:261 ../df/virt-df.pod:59 ../edit/virt-edit.pod:62 ../fish/guestfish.pod:148 ../fish/virt-copy-in.pod:45 ../fish/virt-copy-out.pod:34 ../fish/virt-tar-in.pod:42 ../fish/virt-tar-out.pod:36 ../fuse/guestmount.pod:83 ../inspector/virt-inspector.pod:55 ../rescue/virt-rescue.pod:84 ../resize/virt-resize.pod:241 ../test-tool/libguestfs-test-tool.pod:37 ../tools/virt-list-filesystems.pl:53 ../tools/virt-list-partitions.pl:54 ../tools/virt-make-fs.pl:153 ../tools/virt-tar.pl:103 ../tools/virt-win-reg.pl:96 +msgid "OPTIONS" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:119 -msgid "DISK IMAGES" +#. type: =item +#: ../cat/virt-cat.pod:66 ../cat/virt-filesystems.pod:95 ../cat/virt-ls.pod:265 ../df/virt-df.pod:63 ../edit/virt-edit.pod:66 ../fish/guestfish.pod:152 ../fuse/guestmount.pod:151 ../inspector/virt-inspector.pod:59 ../rescue/virt-rescue.pod:88 ../resize/virt-resize.pod:245 ../tools/virt-list-filesystems.pl:61 ../tools/virt-list-partitions.pl:62 ../tools/virt-make-fs.pl:161 ../tools/virt-tar.pl:111 ../tools/virt-win-reg.pl:104 +msgid "B<--help>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:121 -msgid "" -"The image filename (C<\"guest.img\"> in the example above) could be a disk " -"image from a virtual machine, a L copy of a physical hard disk, an " -"actual block device, or simply an empty file of zeroes that you have created " -"through L. Libguestfs lets you do useful things to all " -"of these." +#. type: textblock +#: ../cat/virt-cat.pod:68 ../cat/virt-filesystems.pod:97 ../cat/virt-ls.pod:267 ../df/virt-df.pod:65 ../edit/virt-edit.pod:68 ../inspector/virt-inspector.pod:61 ../rescue/virt-rescue.pod:90 ../tools/virt-list-filesystems.pl:63 ../tools/virt-list-partitions.pl:64 ../tools/virt-make-fs.pl:163 ../tools/virt-tar.pl:113 ../tools/virt-win-reg.pl:106 +msgid "Display brief help." msgstr "" -# type: textblock -#: ../src/guestfs.pod:127 -msgid "" -"You can add a disk read-only using L, in which case " -"libguestfs won't modify the file." +#. type: =item +#: ../cat/virt-cat.pod:70 ../cat/virt-filesystems.pod:99 ../cat/virt-ls.pod:269 ../df/virt-df.pod:67 ../edit/virt-edit.pod:70 ../inspector/virt-inspector.pod:63 ../rescue/virt-rescue.pod:92 +msgid "B<-a> file" msgstr "" -# type: textblock -#: ../src/guestfs.pod:130 -msgid "" -"Be extremely cautious if the disk image is in use, eg. if it is being used " -"by a virtual machine. Adding it read-write will almost certainly cause disk " -"corruption, but adding it read-only is safe." +#. type: =item +#: ../cat/virt-cat.pod:72 ../cat/virt-filesystems.pod:101 ../cat/virt-ls.pod:271 ../df/virt-df.pod:69 ../edit/virt-edit.pod:72 ../inspector/virt-inspector.pod:65 ../rescue/virt-rescue.pod:94 +msgid "B<--add> file" msgstr "" -# type: textblock -#: ../src/guestfs.pod:134 +#. type: textblock +#: ../cat/virt-cat.pod:74 ../cat/virt-filesystems.pod:103 ../cat/virt-ls.pod:273 ../df/virt-df.pod:71 ../edit/virt-edit.pod:74 ../inspector/virt-inspector.pod:67 ../rescue/virt-rescue.pod:96 msgid "" -"You must add at least one disk image, and you may add multiple disk images. " -"In the API, the disk images are usually referred to as C (for the " -"first one you added), C (for the second one you added), etc." +"Add I which should be a disk image from a virtual machine. If the " +"virtual machine has multiple block devices, you must supply all of them with " +"separate I<-a> options." msgstr "" -# type: textblock -#: ../src/guestfs.pod:139 +#. type: textblock +#: ../cat/virt-cat.pod:78 ../cat/virt-filesystems.pod:107 ../cat/virt-ls.pod:277 ../df/virt-df.pod:75 ../edit/virt-edit.pod:78 ../fish/guestfish.pod:174 ../fuse/guestmount.pod:93 ../inspector/virt-inspector.pod:71 ../rescue/virt-rescue.pod:100 msgid "" -"Once L has been called you cannot add any more images. You " -"can call L to get a list of the device names, in the " -"order that you added them. See also L below." +"The format of the disk image is auto-detected. To override this and force a " +"particular format use the I<--format=..> option." msgstr "" -# type: =head2 -#: ../src/guestfs.pod:144 -msgid "MOUNTING" +#. type: =item +#: ../cat/virt-cat.pod:81 ../cat/virt-filesystems.pod:125 ../cat/virt-ls.pod:291 ../df/virt-df.pod:78 ../rescue/virt-rescue.pod:107 +msgid "B<-c> URI" msgstr "" -# type: textblock -#: ../src/guestfs.pod:146 -msgid "" -"Before you can read or write files, create directories and so on in a disk " -"image that contains filesystems, you have to mount those filesystems using " -"L. If you already know that a disk image contains (for " -"example) one partition with a filesystem on that partition, then you can " -"mount it directly:" +#. type: =item +#: ../cat/virt-cat.pod:83 ../cat/virt-filesystems.pod:127 ../cat/virt-ls.pod:293 ../df/virt-df.pod:80 ../rescue/virt-rescue.pod:109 +msgid "B<--connect> URI" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:152 -#, no-wrap +#. type: textblock +#: ../cat/virt-cat.pod:85 ../cat/virt-filesystems.pod:129 ../cat/virt-ls.pod:295 ../df/virt-df.pod:82 ../edit/virt-edit.pod:99 ../inspector/virt-inspector.pod:78 ../rescue/virt-rescue.pod:111 ../tools/virt-list-filesystems.pl:81 ../tools/virt-list-partitions.pl:82 ../tools/virt-tar.pl:131 ../tools/virt-win-reg.pl:132 msgid "" -" guestfs_mount (g, \"/dev/sda1\", \"/\");\n" -"\n" +"If using libvirt, connect to the given I. If omitted, then we connect " +"to the default libvirt hypervisor." msgstr "" -# type: textblock -#: ../src/guestfs.pod:154 +#. type: textblock +#: ../cat/virt-cat.pod:88 ../cat/virt-filesystems.pod:132 ../cat/virt-ls.pod:298 ../df/virt-df.pod:85 ../rescue/virt-rescue.pod:114 msgid "" -"where C means literally the first partition (C<1>) of the first " -"disk image that we added (C). If the disk contains Linux LVM2 " -"logical volumes you could refer to those instead (eg. C)." +"If you specify guest block devices directly (I<-a>), then libvirt is not " +"used at all." msgstr "" -# type: textblock -#: ../src/guestfs.pod:158 -msgid "" -"If you are given a disk image and you don't know what it contains then you " -"have to find out. Libguestfs can do that too: use " -"L and L to list possible partitions " -"and LVs, and either try mounting each to see what is mountable, or else " -"examine them with L or L. Libguestfs also " -"has a set of APIs for inspection of disk images (see L below). " -"But you might find it easier to look at higher level programs built on top " -"of libguestfs, in particular L." +#. type: =item +#: ../cat/virt-cat.pod:91 ../cat/virt-filesystems.pod:141 ../cat/virt-ls.pod:307 ../df/virt-df.pod:94 ../edit/virt-edit.pod:105 ../inspector/virt-inspector.pod:85 ../rescue/virt-rescue.pod:117 +msgid "B<-d> guest" msgstr "" -# type: textblock -#: ../src/guestfs.pod:168 -msgid "" -"To mount a disk image read-only, use L. There are " -"several other variations of the C call." +#. type: =item +#: ../cat/virt-cat.pod:93 ../cat/virt-filesystems.pod:143 ../cat/virt-ls.pod:309 ../df/virt-df.pod:96 ../edit/virt-edit.pod:107 ../inspector/virt-inspector.pod:87 ../rescue/virt-rescue.pod:119 +msgid "B<--domain> guest" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:171 -msgid "FILESYSTEM ACCESS AND MODIFICATION" +#. type: textblock +#: ../cat/virt-cat.pod:95 ../cat/virt-filesystems.pod:145 ../cat/virt-ls.pod:311 ../df/virt-df.pod:98 ../edit/virt-edit.pod:109 ../inspector/virt-inspector.pod:89 ../rescue/virt-rescue.pod:121 +msgid "" +"Add all the disks from the named libvirt guest. Domain UUIDs can be used " +"instead of names." msgstr "" -# type: textblock -#: ../src/guestfs.pod:173 -msgid "" -"The majority of the libguestfs API consists of fairly low-level calls for " -"accessing and modifying the files, directories, symlinks etc on mounted " -"filesystems. There are over a hundred such calls which you can find listed " -"in detail below in this man page, and we don't even pretend to cover them " -"all in this overview." +#. type: =item +#: ../cat/virt-cat.pod:98 ../cat/virt-filesystems.pod:148 ../cat/virt-ls.pod:314 ../edit/virt-edit.pod:112 ../fish/guestfish.pod:217 ../fuse/guestmount.pod:126 ../inspector/virt-inspector.pod:92 +msgid "B<--echo-keys>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:179 +#. type: textblock +#: ../cat/virt-cat.pod:100 msgid "" -"Specify filenames as full paths, starting with C<\"/\"> and including the " -"mount point." +"When prompting for keys and passphrases, virt-cat normally turns echoing off " +"so you cannot see what you are typing. If you are not worried about Tempest " +"attacks and there is no one else in the room you can specify this flag to " +"see what you are typing." msgstr "" -# type: textblock -#: ../src/guestfs.pod:182 -msgid "" -"For example, if you mounted a filesystem at C<\"/\"> and you want to read " -"the file called C<\"etc/passwd\"> then you could do:" +#. type: =item +#: ../cat/virt-cat.pod:105 ../cat/virt-filesystems.pod:170 ../cat/virt-ls.pod:328 ../df/virt-df.pod:101 ../fish/guestfish.pod:233 ../fuse/guestmount.pod:133 ../inspector/virt-inspector.pod:99 ../rescue/virt-rescue.pod:124 +msgid "B<--format=raw|qcow2|..>" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:185 -#, no-wrap -msgid "" -" char *data = guestfs_cat (g, \"/etc/passwd\");\n" -"\n" +#. type: =item +#: ../cat/virt-cat.pod:107 ../cat/virt-filesystems.pod:172 ../cat/virt-ls.pod:330 ../df/virt-df.pod:103 ../edit/virt-edit.pod:134 ../fish/guestfish.pod:235 ../fuse/guestmount.pod:135 ../inspector/virt-inspector.pod:101 ../rescue/virt-rescue.pod:126 +msgid "B<--format>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:187 +#. type: textblock +#: ../cat/virt-cat.pod:109 ../cat/virt-filesystems.pod:174 ../cat/virt-ls.pod:332 ../df/virt-df.pod:105 ../edit/virt-edit.pod:136 ../fish/guestfish.pod:237 ../fuse/guestmount.pod:137 ../rescue/virt-rescue.pod:128 msgid "" -"This would return C as a newly allocated buffer containing the full " -"content of that file (with some conditions: see also L below), " -"or C if there was an error." +"The default for the I<-a> option is to auto-detect the format of the disk " +"image. Using this forces the disk format for I<-a> options which follow on " +"the command line. Using I<--format> with no argument switches back to " +"auto-detection for subsequent I<-a> options." msgstr "" -# type: textblock -#: ../src/guestfs.pod:191 -msgid "" -"As another example, to create a top-level directory on that filesystem " -"called C<\"var\"> you would do:" +#. type: textblock +#: ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:673 ../inspector/virt-inspector.pod:335 ../rescue/virt-rescue.pod:133 ../src/guestfs.pod:2653 +msgid "For example:" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:194 +#. type: verbatim +#: ../cat/virt-cat.pod:116 #, no-wrap msgid "" -" guestfs_mkdir (g, \"/var\");\n" +" virt-cat --format=raw -a disk.img file\n" "\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:196 -msgid "To create a symlink you could do:" +#. type: textblock +#: ../cat/virt-cat.pod:118 ../cat/virt-filesystems.pod:183 ../cat/virt-ls.pod:341 ../df/virt-df.pod:114 ../edit/virt-edit.pod:145 ../fish/guestfish.pod:246 ../rescue/virt-rescue.pod:137 +msgid "forces raw format (no auto-detection) for C." msgstr "" -# type: verbatim -#: ../src/guestfs.pod:198 +#. type: verbatim +#: ../cat/virt-cat.pod:120 #, no-wrap msgid "" -" guestfs_ln_s (g, \"/etc/init.d/portmap\",\n" -" \"/etc/rc3.d/S30portmap\");\n" +" virt-cat --format=raw -a disk.img --format -a another.img file\n" "\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:201 +#. type: textblock +#: ../cat/virt-cat.pod:122 ../cat/virt-filesystems.pod:187 ../cat/virt-ls.pod:345 ../df/virt-df.pod:118 ../edit/virt-edit.pod:149 ../fish/guestfish.pod:250 ../rescue/virt-rescue.pod:141 msgid "" -"Libguestfs will reject attempts to use relative paths and there is no " -"concept of a current working directory." +"forces raw format (no auto-detection) for C and reverts to " +"auto-detection for C." msgstr "" -# type: textblock -#: ../src/guestfs.pod:204 +#. type: textblock +#: ../cat/virt-cat.pod:125 ../cat/virt-filesystems.pod:190 ../cat/virt-ls.pod:348 ../df/virt-df.pod:121 ../edit/virt-edit.pod:152 ../rescue/virt-rescue.pod:144 msgid "" -"Libguestfs can return errors in many situations: for example if the " -"filesystem isn't writable, or if a file or directory that you requested " -"doesn't exist. If you are using the C API (documented here) you have to " -"check for those error conditions after each call. (Other language bindings " -"turn these errors into exceptions)." +"If you have untrusted raw-format guest disk images, you should use this " +"option to specify the disk format. This avoids a possible security problem " +"with malicious guests (CVE-2010-3851)." msgstr "" -# type: textblock -#: ../src/guestfs.pod:210 +#. type: =item +#: ../cat/virt-cat.pod:129 ../cat/virt-filesystems.pod:200 ../cat/virt-ls.pod:361 ../edit/virt-edit.pod:156 ../fish/guestfish.pod:289 ../fuse/guestmount.pod:163 ../inspector/virt-inspector.pod:114 +msgid "B<--keys-from-stdin>" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:131 ../cat/virt-filesystems.pod:202 ../cat/virt-ls.pod:363 ../edit/virt-edit.pod:158 ../fish/guestfish.pod:291 ../fuse/guestmount.pod:165 ../inspector/virt-inspector.pod:116 msgid "" -"File writes are affected by the per-handle umask, set by calling " -"L and defaulting to 022. See L." +"Read key or passphrase parameters from stdin. The default is to try to read " +"passphrases from the user by opening C." msgstr "" -# type: =head2 -#: ../src/guestfs.pod:213 -msgid "PARTITIONING" +#. type: =item +#: ../cat/virt-cat.pod:134 ../cat/virt-filesystems.pod:261 ../cat/virt-ls.pod:425 ../df/virt-df.pod:173 ../edit/virt-edit.pod:161 ../fish/guestfish.pod:390 ../fuse/guestmount.pod:257 ../inspector/virt-inspector.pod:119 ../rescue/virt-rescue.pod:178 +msgid "B<-v>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:215 -msgid "" -"Libguestfs contains API calls to read, create and modify partition tables on " -"disk images." +#. type: =item +#: ../cat/virt-cat.pod:136 ../cat/virt-filesystems.pod:263 ../cat/virt-ls.pod:427 ../df/virt-df.pod:175 ../edit/virt-edit.pod:163 ../fish/guestfish.pod:392 ../fuse/guestmount.pod:259 ../inspector/virt-inspector.pod:121 ../rescue/virt-rescue.pod:180 +msgid "B<--verbose>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:218 -msgid "" -"In the common case where you want to create a single partition covering the " -"whole disk, you should use the L call:" +#. type: textblock +#: ../cat/virt-cat.pod:138 ../cat/virt-filesystems.pod:265 ../cat/virt-ls.pod:429 ../df/virt-df.pod:177 ../edit/virt-edit.pod:165 ../inspector/virt-inspector.pod:123 ../rescue/virt-rescue.pod:182 +msgid "Enable verbose messages for debugging." msgstr "" -# type: verbatim -#: ../src/guestfs.pod:222 -#, no-wrap -msgid "" -" const char *parttype = \"mbr\";\n" -" if (disk_is_larger_than_2TB)\n" -" parttype = \"gpt\";\n" -" guestfs_part_disk (g, \"/dev/sda\", parttype);\n" -"\n" +#. type: =item +#: ../cat/virt-cat.pod:140 ../cat/virt-filesystems.pod:267 ../cat/virt-ls.pod:431 ../df/virt-df.pod:179 ../edit/virt-edit.pod:167 ../fish/guestfish.pod:397 ../fuse/guestmount.pod:263 ../inspector/virt-inspector.pod:125 ../rescue/virt-rescue.pod:184 ../resize/virt-resize.pod:478 +msgid "B<-V>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:227 -msgid "" -"Obviously this effectively wipes anything that was on that disk image " -"before." +#. type: =item +#: ../cat/virt-cat.pod:142 ../cat/virt-filesystems.pod:269 ../cat/virt-ls.pod:433 ../df/virt-df.pod:181 ../edit/virt-edit.pod:169 ../fish/guestfish.pod:399 ../fuse/guestmount.pod:265 ../inspector/virt-inspector.pod:127 ../rescue/virt-rescue.pod:186 ../resize/virt-resize.pod:480 ../tools/virt-list-filesystems.pl:69 ../tools/virt-list-partitions.pl:70 ../tools/virt-make-fs.pl:169 ../tools/virt-tar.pl:119 ../tools/virt-win-reg.pl:112 +msgid "B<--version>" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:230 -msgid "LVM2" +#. type: textblock +#: ../cat/virt-cat.pod:144 ../cat/virt-filesystems.pod:271 ../cat/virt-ls.pod:435 ../df/virt-df.pod:183 ../edit/virt-edit.pod:171 ../inspector/virt-inspector.pod:129 ../rescue/virt-rescue.pod:188 ../resize/virt-resize.pod:482 ../tools/virt-list-filesystems.pl:71 ../tools/virt-list-partitions.pl:72 ../tools/virt-make-fs.pl:171 ../tools/virt-tar.pl:121 ../tools/virt-win-reg.pl:114 +msgid "Display version number and exit." msgstr "" -# type: textblock -#: ../src/guestfs.pod:232 -msgid "" -"Libguestfs provides access to a large part of the LVM2 API, such as " -"L and L. It won't make much sense " -"unless you familiarize yourself with the concepts of physical volumes, " -"volume groups and logical volumes." +#. type: =item +#: ../cat/virt-cat.pod:146 ../cat/virt-filesystems.pod:281 ../cat/virt-ls.pod:437 ../df/virt-df.pod:185 ../edit/virt-edit.pod:173 ../fish/guestfish.pod:412 ../fuse/guestmount.pod:278 ../inspector/virt-inspector.pod:131 ../rescue/virt-rescue.pod:199 ../tools/virt-tar.pl:158 +msgid "B<-x>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:237 -msgid "" -"This author strongly recommends reading the LVM HOWTO, online at " -"L." +#. type: textblock +#: ../cat/virt-cat.pod:148 ../cat/virt-filesystems.pod:283 ../cat/virt-ls.pod:439 ../df/virt-df.pod:187 ../edit/virt-edit.pod:175 ../inspector/virt-inspector.pod:133 ../rescue/virt-rescue.pod:201 +msgid "Enable tracing of libguestfs API calls." msgstr "" -# type: =head2 -#: ../src/guestfs.pod:240 -msgid "DOWNLOADING" +#. type: =head1 +#: ../cat/virt-cat.pod:152 ../cat/virt-ls.pod:443 ../edit/virt-edit.pod:179 ../inspector/virt-inspector.pod:137 ../rescue/virt-rescue.pod:205 +msgid "OLD-STYLE COMMAND LINE ARGUMENTS" msgstr "" -# type: textblock -#: ../src/guestfs.pod:242 -msgid "" -"Use L to download small, text only files. This call is " -"limited to files which are less than 2 MB and which cannot contain any ASCII " -"NUL (C<\\0>) characters. However it has a very simple to use API." +#. type: textblock +#: ../cat/virt-cat.pod:154 +msgid "Previous versions of virt-cat allowed you to write either:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:247 +#. type: verbatim +#: ../cat/virt-cat.pod:156 +#, no-wrap msgid "" -"L can be used to read files which contain arbitrary 8 " -"bit data, since it returns a (pointer, size) pair. However it is still " -"limited to \"small\" files, less than 2 MB." +" virt-cat disk.img [disk.img ...] file\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:251 -msgid "" -"L can be used to download any file, with no limits on " -"content or size (even files larger than 4 GB)." +#. type: textblock +#: ../cat/virt-cat.pod:158 ../cat/virt-ls.pod:449 ../edit/virt-edit.pod:185 ../inspector/virt-inspector.pod:143 ../rescue/virt-rescue.pod:211 +msgid "or" msgstr "" -# type: textblock -#: ../src/guestfs.pod:254 -msgid "To download multiple files, see L and L." +#. type: verbatim +#: ../cat/virt-cat.pod:160 +#, no-wrap +msgid "" +" virt-cat guestname file\n" +"\n" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:257 -msgid "UPLOADING" +#. type: textblock +#: ../cat/virt-cat.pod:162 ../cat/virt-ls.pod:453 ../edit/virt-edit.pod:189 ../inspector/virt-inspector.pod:147 ../rescue/virt-rescue.pod:215 +msgid "" +"whereas in this version you should use I<-a> or I<-d> respectively to avoid " +"the confusing case where a disk image might have the same name as a guest." msgstr "" -# type: textblock -#: ../src/guestfs.pod:259 -msgid "" -"It's often the case that you want to write a file or files to the disk " -"image." +#. type: textblock +#: ../cat/virt-cat.pod:166 ../cat/virt-ls.pod:457 ../edit/virt-edit.pod:193 ../inspector/virt-inspector.pod:151 ../rescue/virt-rescue.pod:219 +msgid "For compatibility the old style is still supported." msgstr "" -# type: textblock -#: ../src/guestfs.pod:262 -msgid "" -"To write a small file with fixed content, use L. To create " -"a file of all zeroes, use L (sparse) or " -"L (with all disk blocks allocated). There are a " -"variety of other functions for creating test files, for example " -"L and L." +#. type: =head1 +#: ../cat/virt-cat.pod:168 ../edit/virt-edit.pod:297 +msgid "USING GUESTFISH" msgstr "" -# type: textblock -#: ../src/guestfs.pod:268 +#. type: textblock +#: ../cat/virt-cat.pod:170 msgid "" -"To upload a single file, use L. This call has no limits on " -"file content or size (even files larger than 4 GB)." +"L is a more powerful, lower level tool which you can use when " +"C doesn't work." msgstr "" -# type: textblock -#: ../src/guestfs.pod:271 -msgid "To upload multiple files, see L and L." +#. type: textblock +#: ../cat/virt-cat.pod:173 +msgid "Using C is approximately equivalent to doing:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:273 +#. type: verbatim +#: ../cat/virt-cat.pod:175 +#, no-wrap msgid "" -"However the fastest way to upload I is to " -"turn them into a squashfs or CD ISO (see L and " -"L), then attach this using L. If you add " -"the drive in a predictable way (eg. adding it last after all other drives) " -"then you can get the device name from L and mount it " -"directly using L. Note that squashfs images are " -"sometimes non-portable between kernel versions, and they don't support " -"labels or UUIDs. If you want to pre-build an image or you need to mount it " -"using a label or UUID, use an ISO image instead." +" guestfish --ro -i -d domname download file -\n" +"\n" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:284 -msgid "COPYING" +#. type: textblock +#: ../cat/virt-cat.pod:177 +msgid "" +"where C is the name of the libvirt guest, and C is the full " +"path to the file. Note the final C<-> (meaning \"output to stdout\")." msgstr "" -# type: textblock -#: ../src/guestfs.pod:286 +#. type: textblock +#: ../cat/virt-cat.pod:181 msgid "" -"There are various different commands for copying between files and devices " -"and in and out of the guest filesystem. These are summarised in the table " -"below." +"The command above uses libguestfs's guest inspection feature and so does not " +"work on guests that libguestfs cannot inspect, or on things like arbitrary " +"disk images that don't contain guests. To display a file from a disk image " +"directly, use:" msgstr "" -# type: =item -#: ../src/guestfs.pod:292 -msgid "B to B" +#. type: verbatim +#: ../cat/virt-cat.pod:186 +#, no-wrap +msgid "" +" guestfish --ro -a disk.img -m /dev/sda1 download file -\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:294 +#. type: textblock +#: ../cat/virt-cat.pod:188 msgid "" -"Use L to copy a single file, or L to copy " -"directories recursively." +"where C is the disk image, C is the filesystem within " +"the disk image to edit, and C is the full path to the file." msgstr "" -# type: =item -#: ../src/guestfs.pod:297 -msgid "B to B" +#. type: =head1 +#: ../cat/virt-cat.pod:192 ../cat/virt-filesystems.pod:365 ../cat/virt-ls.pod:483 ../df/virt-df.pod:215 ../edit/virt-edit.pod:342 ../inspector/virt-inspector.pod:349 ../rescue/virt-rescue.pod:262 ../resize/virt-resize.pod:543 ../tools/virt-list-filesystems.pl:188 ../tools/virt-list-partitions.pl:258 ../tools/virt-make-fs.pl:532 ../tools/virt-tar.pl:289 ../tools/virt-win-reg.pl:733 +msgid "SHELL QUOTING" msgstr "" -# type: textblock -#: ../src/guestfs.pod:299 +#. type: textblock +#: ../cat/virt-cat.pod:194 ../cat/virt-filesystems.pod:367 ../cat/virt-ls.pod:485 ../df/virt-df.pod:217 ../edit/virt-edit.pod:344 ../inspector/virt-inspector.pod:351 ../rescue/virt-rescue.pod:264 ../resize/virt-resize.pod:545 ../tools/virt-list-filesystems.pl:190 ../tools/virt-list-partitions.pl:260 ../tools/virt-make-fs.pl:534 ../tools/virt-tar.pl:291 ../tools/virt-win-reg.pl:741 msgid "" -"Use L which efficiently uses L to copy between files and " -"devices in the guest." +"Libvirt guest names can contain arbitrary characters, some of which have " +"meaning to the shell such as C<#> and space. You may need to quote or " +"escape these characters on the command line. See the shell manual page " +"L for details." msgstr "" -# type: textblock -#: ../src/guestfs.pod:302 -msgid "Example: duplicate the contents of an LV:" +#. type: =head1 +#: ../cat/virt-cat.pod:199 ../cat/virt-filesystems.pod:372 ../cat/virt-ls.pod:490 ../df/virt-df.pod:222 ../edit/virt-edit.pod:349 ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:384 ../fish/guestfish.pod:1235 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../fuse/guestmount.pod:303 ../inspector/virt-inspector.pod:372 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:284 ../resize/virt-resize.pod:550 ../ruby/examples/guestfs-ruby.pod:36 ../src/guestfs.pod:3027 ../test-tool/libguestfs-test-tool.pod:87 ../tools/virt-list-filesystems.pl:195 ../tools/virt-list-partitions.pl:265 ../tools/virt-make-fs.pl:539 ../tools/virt-tar.pl:296 ../tools/virt-win-reg.pl:746 +msgid "SEE ALSO" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:304 -#, no-wrap +#. type: textblock +#: ../cat/virt-cat.pod:201 msgid "" -" guestfs_dd (g, \"/dev/VG/Original\", \"/dev/VG/Copy\");\n" -"\n" +"L, L, L, L, " +"L, L." msgstr "" -# type: textblock -#: ../src/guestfs.pod:306 -msgid "" -"The destination (C) must be at least as large as the source " -"(C). To copy less than the whole source device, use " -"L." +#. type: =head1 +#: ../cat/virt-cat.pod:208 ../cat/virt-filesystems.pod:383 ../cat/virt-ls.pod:502 ../df/virt-df.pod:230 ../edit/virt-edit.pod:363 ../rescue/virt-rescue.pod:292 ../resize/virt-resize.pod:571 ../tools/virt-list-filesystems.pl:208 ../tools/virt-list-partitions.pl:277 ../tools/virt-make-fs.pl:564 ../tools/virt-tar.pl:311 ../tools/virt-win-reg.pl:772 +msgid "AUTHOR" msgstr "" -# type: =item -#: ../src/guestfs.pod:310 -msgid "B to B" +#. type: textblock +#: ../cat/virt-cat.pod:210 ../cat/virt-filesystems.pod:385 ../cat/virt-ls.pod:504 ../df/virt-df.pod:232 ../edit/virt-edit.pod:365 ../inspector/virt-inspector.pod:386 ../rescue/virt-rescue.pod:294 ../resize/virt-resize.pod:573 ../tools/virt-list-filesystems.pl:210 ../tools/virt-list-partitions.pl:279 ../tools/virt-make-fs.pl:566 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:774 +msgid "Richard W.M. Jones L" msgstr "" -# type: textblock -#: ../src/guestfs.pod:312 -msgid "Use L. See L above." +#. type: =head1 +#: ../cat/virt-cat.pod:212 ../cat/virt-filesystems.pod:387 ../cat/virt-ls.pod:506 ../df/virt-df.pod:234 ../edit/virt-edit.pod:367 ../examples/guestfs-examples.pod:48 ../examples/guestfs-recipes.pod:400 ../fish/guestfish.pod:1264 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../fuse/guestmount.pod:318 ../inspector/virt-inspector.pod:394 ../java/examples/guestfs-java.pod:61 ../ocaml/examples/guestfs-ocaml.pod:94 ../perl/examples/guestfs-perl.pod:55 ../python/examples/guestfs-python.pod:57 ../rescue/virt-rescue.pod:296 ../resize/virt-resize.pod:575 ../ruby/examples/guestfs-ruby.pod:51 ../src/guestfs.pod:3103 ../test-tool/libguestfs-test-tool.pod:97 ../tools/virt-list-filesystems.pl:212 ../tools/virt-list-partitions.pl:281 ../tools/virt-make-fs.pl:568 ../tools/virt-tar.pl:315 ../tools/virt-win-reg.pl:776 +msgid "COPYRIGHT" msgstr "" -# type: =item -#: ../src/guestfs.pod:314 -msgid "B to B" +#. type: textblock +#: ../cat/virt-cat.pod:214 ../inspector/virt-inspector.pod:396 ../resize/virt-resize.pod:577 +msgid "Copyright (C) 2010-2011 Red Hat Inc." msgstr "" -# type: textblock -#: ../src/guestfs.pod:316 -msgid "Use L. See L above." +#. type: textblock +#: ../cat/virt-cat.pod:216 ../cat/virt-filesystems.pod:391 ../cat/virt-ls.pod:510 ../df/virt-df.pod:238 ../edit/virt-edit.pod:371 ../fish/guestfish.pod:1269 ../fish/virt-copy-in.pod:69 ../fish/virt-copy-out.pod:58 ../fish/virt-tar-in.pod:67 ../fish/virt-tar-out.pod:60 ../fuse/guestmount.pod:323 ../inspector/virt-inspector.pod:398 ../rescue/virt-rescue.pod:300 ../resize/virt-resize.pod:579 ../test-tool/libguestfs-test-tool.pod:102 ../tools/virt-list-filesystems.pl:216 ../tools/virt-list-partitions.pl:285 ../tools/virt-make-fs.pl:572 ../tools/virt-tar.pl:319 ../tools/virt-win-reg.pl:780 +msgid "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." msgstr "" -# type: =head2 -#: ../src/guestfs.pod:320 -msgid "LISTING FILES" +#. type: textblock +#: ../cat/virt-cat.pod:221 ../cat/virt-filesystems.pod:396 ../cat/virt-ls.pod:515 ../df/virt-df.pod:243 ../edit/virt-edit.pod:376 ../fish/guestfish.pod:1274 ../fish/virt-copy-in.pod:74 ../fish/virt-copy-out.pod:63 ../fish/virt-tar-in.pod:72 ../fish/virt-tar-out.pod:65 ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:403 ../rescue/virt-rescue.pod:305 ../resize/virt-resize.pod:584 ../test-tool/libguestfs-test-tool.pod:107 ../tools/virt-list-filesystems.pl:221 ../tools/virt-list-partitions.pl:290 ../tools/virt-make-fs.pl:577 ../tools/virt-tar.pl:324 ../tools/virt-win-reg.pl:785 +msgid "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." msgstr "" -# type: textblock -#: ../src/guestfs.pod:322 +#. type: textblock +#: ../cat/virt-cat.pod:226 ../cat/virt-filesystems.pod:401 ../cat/virt-ls.pod:520 ../df/virt-df.pod:248 ../edit/virt-edit.pod:381 ../fish/guestfish.pod:1279 ../fish/virt-copy-in.pod:79 ../fish/virt-copy-out.pod:68 ../fish/virt-tar-in.pod:77 ../fish/virt-tar-out.pod:70 ../fuse/guestmount.pod:333 ../inspector/virt-inspector.pod:408 ../rescue/virt-rescue.pod:310 ../resize/virt-resize.pod:589 ../test-tool/libguestfs-test-tool.pod:112 ../tools/virt-list-filesystems.pl:226 ../tools/virt-list-partitions.pl:295 ../tools/virt-make-fs.pl:582 ../tools/virt-tar.pl:329 ../tools/virt-win-reg.pl:790 msgid "" -"L is just designed for humans to read (mainly when using the " -"L-equivalent command C)." +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." msgstr "" -# type: textblock -#: ../src/guestfs.pod:325 +#. type: textblock +#: ../cat/virt-filesystems.pod:5 msgid "" -"L is a quick way to get a list of files in a directory from " -"programs, as a flat list of strings." +"virt-filesystems - List filesystems, partitions, block devices, LVM in a " +"virtual machine or disk image" msgstr "" -# type: textblock -#: ../src/guestfs.pod:328 +#. type: verbatim +#: ../cat/virt-filesystems.pod:9 +#, no-wrap msgid "" -"L is a programmatic way to get a list of files in a " -"directory, plus additional information about each one. It is more " -"equivalent to using the L call on a local filesystem." +" virt-filesystems [--options] -d domname\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:332 +#. type: verbatim +#: ../cat/virt-filesystems.pod:11 +#, no-wrap msgid "" -"L and L can be used to recursively list " -"files." +" virt-filesystems [--options] -a disk.img [-a disk.img ...]\n" +"\n" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:335 -msgid "RUNNING COMMANDS" +#. type: textblock +#: ../cat/virt-filesystems.pod:15 +msgid "" +"This tool allows you to discover filesystems, partitions, logical volumes, " +"and their sizes in a disk image or virtual machine. It is a replacement for " +"L and L." msgstr "" -# type: textblock -#: ../src/guestfs.pod:337 +#. type: textblock +#: ../cat/virt-filesystems.pod:20 msgid "" -"Although libguestfs is primarily an API for manipulating files inside guest " -"images, we also provide some limited facilities for running commands inside " -"guests." +"One use for this tool is from shell scripts to iterate over all filesystems " +"from a disk image:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:341 -msgid "There are many limitations to this:" +#. type: verbatim +#: ../cat/virt-filesystems.pod:23 +#, no-wrap +msgid "" +" for fs in $(virt-filesystems -a disk.img); do\n" +" # ...\n" +" done\n" +"\n" 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:1257 ../src/guestfs-actions.pod:1261 ../src/guestfs-actions.pod:1265 ../src/guestfs-actions.pod:1269 ../src/guestfs-actions.pod:1277 ../src/guestfs-actions.pod:1281 ../src/guestfs-actions.pod:1285 ../src/guestfs-actions.pod:1295 ../src/guestfs-actions.pod:1299 ../src/guestfs-actions.pod:1303 ../src/guestfs-actions.pod:1426 ../src/guestfs-actions.pod:1430 ../src/guestfs-actions.pod:1435 ../src/guestfs-actions.pod:1440 ../src/guestfs-actions.pod:1492 ../src/guestfs-actions.pod:1496 ../src/guestfs-actions.pod:1501 ../fish/guestfish.pod:309 ../fish/guestfish.pod:313 ../fish/guestfish.pod:317 ../fish/guestfish.pod:321 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:300 ../fish/guestfish-actions.pod:308 ../fish/guestfish-actions.pod:315 ../fish/guestfish-actions.pod:322 ../fish/guestfish-actions.pod:998 ../fish/guestfish-actions.pod:1002 ../fish/guestfish-actions.pod:1006 ../fish/guestfish-actions.pod:1010 ../fish/guestfish-actions.pod:1018 ../fish/guestfish-actions.pod:1022 ../fish/guestfish-actions.pod:1026 ../fish/guestfish-actions.pod:1036 ../fish/guestfish-actions.pod:1040 ../fish/guestfish-actions.pod:1044 ../fish/guestfish-actions.pod:1134 ../fish/guestfish-actions.pod:1138 ../fish/guestfish-actions.pod:1143 ../fish/guestfish-actions.pod:1148 ../fish/guestfish-actions.pod:1190 ../fish/guestfish-actions.pod:1194 ../fish/guestfish-actions.pod:1199 ../tools/virt-resize.pl:324 ../tools/virt-resize.pl:329 ../tools/virt-resize.pl:339 -msgid "*" +#. type: textblock +#: ../cat/virt-filesystems.pod:27 +msgid "" +"Another use is to list partitions before using another tool to modify those " +"partitions (such as L). If you are curious about what an " +"unknown disk image contains, use this tool along with L." msgstr "" -# type: textblock -#: ../src/guestfs.pod:347 +#. type: textblock +#: ../cat/virt-filesystems.pod:32 msgid "" -"The kernel version that the command runs under will be different from what " -"it expects." +"Various command line options control what this program displays. You need " +"to give either I<-a> or I<-d> options to specify the disk image or libvirt " +"guest respectively. If you just specify that then the program shows " +"filesystems found, one per line, like this:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:352 +#. type: verbatim +#: ../cat/virt-filesystems.pod:37 +#, no-wrap msgid "" -"If the command needs to communicate with daemons, then most likely they " -"won't be running." +" $ virt-filesystems -a disk.img\n" +" /dev/sda1\n" +" /dev/vg_guest/lv_root\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:357 -msgid "The command will be running in limited memory." +#. type: textblock +#: ../cat/virt-filesystems.pod:41 +msgid "If you add I<-l> or I<--long> then the output includes extra information:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:361 +#. type: verbatim +#: ../cat/virt-filesystems.pod:44 +#, no-wrap msgid "" -"The network may not be available unless you enable it (see " -"L)." +" $ virt-filesystems -a disk.img -l\n" +" Name Type VFS Label Size\n" +" /dev/sda1 filesystem ext4 boot 524288000\n" +" /dev/vg_guest/lv_root filesystem ext4 root 10212081664\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:366 -msgid "Only supports Linux guests (not Windows, BSD, etc)." +#. type: textblock +#: ../cat/virt-filesystems.pod:49 +msgid "" +"If you add I<--extra> then non-mountable (swap, unknown) filesystems are " +"shown as well:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:370 -msgid "Architecture limitations (eg. won't work for a PPC guest on an X86 host)." +#. type: verbatim +#: ../cat/virt-filesystems.pod:52 +#, no-wrap +msgid "" +" $ virt-filesystems -a disk.img --extra\n" +" /dev/sda1\n" +" /dev/vg_guest/lv_root\n" +" /dev/vg_guest/lv_swap\n" +" /dev/vg_guest/lv_data\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:375 -msgid "" -"For SELinux guests, you may need to enable SELinux and load policy first. " -"See L in this manpage." +#. type: textblock +#: ../cat/virt-filesystems.pod:58 +msgid "If you add I<--partitions> then partitions are shown instead of filesystems:" msgstr "" -# type: textblock -#: ../src/guestfs.pod:380 +#. type: verbatim +#: ../cat/virt-filesystems.pod:60 +#, no-wrap msgid "" -"The two main API calls to run commands are L and " -"L (there are also variations)." +" $ virt-filesystems -a disk.img --partitions\n" +" /dev/sda1\n" +" /dev/sda2\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:383 +#. type: textblock +#: ../cat/virt-filesystems.pod:64 msgid "" -"The difference is that L runs commands using the shell, so any " -"shell globs, redirections, etc will work." +"Similarly you can use I<--logical-volumes>, I<--volume-groups>, " +"I<--physical-volumes>, I<--block-devices> to list those items." msgstr "" -# type: =head2 -#: ../src/guestfs.pod:386 -msgid "CONFIGURATION FILES" +#. type: textblock +#: ../cat/virt-filesystems.pod:67 +msgid "" +"You can use these options in combination as well (if you want a combination " +"including filesystems, you have to add I<--filesystems>). Notice that some " +"items fall into several categories (eg. C might be both a " +"partition and a filesystem). These items are listed several times. To get " +"a list which includes absolutely everything that virt-filesystems knows " +"about, use the I<--all> option." msgstr "" -# type: textblock -#: ../src/guestfs.pod:388 +#. type: textblock +#: ../cat/virt-filesystems.pod:74 msgid "" -"To read and write configuration files in Linux guest filesystems, we " -"strongly recommend using Augeas. For example, Augeas understands how to " -"read and write, say, a Linux shadow password file or X.org configuration " -"file, and so avoids you having to write that code." +"UUIDs (because they are quite long) are not shown by default. Add the " +"I<--uuid> option to display device and filesystem UUIDs in the long output." msgstr "" -# type: textblock -#: ../src/guestfs.pod:393 +#. type: textblock +#: ../cat/virt-filesystems.pod:78 msgid "" -"The main Augeas calls are bound through the C APIs. We don't " -"document Augeas itself here because there is excellent documentation on the " -"L website." +"I<--all --long --uuid> is a useful combination to display all possible " +"information about everything." msgstr "" -# type: textblock -#: ../src/guestfs.pod:397 +#. type: verbatim +#: ../cat/virt-filesystems.pod:81 +#, no-wrap msgid "" -"If you don't want to use Augeas (you fool!) then try calling " -"L to get the file as a list of lines which you can " -"iterate over." +" $ virt-filesystems -a win.img --all --long --uuid -h\n" +" Name Type VFS Label Size Parent UUID\n" +" /dev/sda1 filesystem ntfs System Reserved 100M - F81C92571C92112C\n" +" /dev/sda2 filesystem ntfs - 20G - F2E8996AE8992E3B\n" +" /dev/sda1 partition - - 100M /dev/sda -\n" +" /dev/sda2 partition - - 20G /dev/sda -\n" +" /dev/sda device - - 20G - -\n" +"\n" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:401 -msgid "SELINUX" +#. type: textblock +#: ../cat/virt-filesystems.pod:89 +msgid "For machine-readable output, use I<--csv> to get Comma-Separated Values." +msgstr "" + +#. type: =item +#: ../cat/virt-filesystems.pod:110 ../tools/virt-list-filesystems.pl:121 +msgid "B<--all>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:403 +#. type: textblock +#: ../cat/virt-filesystems.pod:112 msgid "" -"We support SELinux guests. To ensure that labeling happens correctly in " -"SELinux guests, you need to enable SELinux and load the guest's policy:" +"Display everything. This is currently the same as specifying these options: " +"I<--filesystems>, I<--extra>, I<--partitions>, I<--block-devices>, " +"I<--logical-volumes>, I<--volume-groups>, I<--physical-volumes>. (More may " +"be added to this list in future)." msgstr "" -# type: =item -#: ../src/guestfs.pod:409 -msgid "1." +#. type: textblock +#: ../cat/virt-filesystems.pod:117 +msgid "See also I<--long>." msgstr "" -# type: textblock -#: ../src/guestfs.pod:411 -msgid "Before launching, do:" +#. type: =item +#: ../cat/virt-filesystems.pod:119 +msgid "B<--blkdevs>" msgstr "" -# type: verbatim -#: ../src/guestfs.pod:413 -#, no-wrap -msgid "" -" guestfs_set_selinux (g, 1);\n" -"\n" +#. type: =item +#: ../cat/virt-filesystems.pod:121 +msgid "B<--block-devices>" msgstr "" -# type: =item -#: ../src/guestfs.pod:415 -msgid "2." +#. type: textblock +#: ../cat/virt-filesystems.pod:123 +msgid "Display block devices." msgstr "" -# type: textblock -#: ../src/guestfs.pod:417 +#. type: =item +#: ../cat/virt-filesystems.pod:135 ../cat/virt-ls.pod:301 ../df/virt-df.pod:88 +msgid "B<--csv>" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:137 ../cat/virt-ls.pod:303 ../df/virt-df.pod:90 msgid "" -"After mounting the guest's filesystem(s), load the policy. This is best " -"done by running the L command in the guest itself:" +"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: verbatim -#: ../src/guestfs.pod:421 -#, no-wrap +#. type: textblock +#: ../cat/virt-filesystems.pod:150 msgid "" -" guestfs_sh (g, \"/usr/sbin/load_policy\");\n" -"\n" +"When prompting for keys and passphrases, virt-filesystems normally turns " +"echoing off so you cannot see what you are typing. If you are not worried " +"about Tempest attacks and there is no one else in the room you can specify " +"this flag to see what you are typing." msgstr "" -# type: textblock -#: ../src/guestfs.pod:423 +#. type: =item +#: ../cat/virt-filesystems.pod:155 +msgid "B<--extra>" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:157 msgid "" -"(Older versions of C require you to specify the name of the " -"policy file)." +"This causes filesystems that are not ordinary, mountable filesystems to be " +"displayed. This category includes swapspace, and filesystems that are empty " +"or contain unknown data." msgstr "" -# type: =item -#: ../src/guestfs.pod:426 -msgid "3." +#. type: textblock +#: ../cat/virt-filesystems.pod:161 +msgid "This option implies I<--filesystems>." +msgstr "" + +#. type: =item +#: ../cat/virt-filesystems.pod:163 +msgid "B<--filesystems>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:428 +#. type: textblock +#: ../cat/virt-filesystems.pod:165 msgid "" -"Optionally, set the security context for the API. The correct security " -"context to use can only be known by inspecting the guest. As an example:" +"Display mountable filesystems. If no display option was selected then this " +"option is implied." msgstr "" -# type: verbatim -#: ../src/guestfs.pod:432 +#. type: textblock +#: ../cat/virt-filesystems.pod:168 +msgid "With I<--extra>, non-mountable filesystems are shown too." +msgstr "" + +#. type: verbatim +#: ../cat/virt-filesystems.pod:181 #, no-wrap msgid "" -" guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n" +" virt-filesystems --format=raw -a disk.img\n" "\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:436 -msgid "This will work for running commands and editing existing files." +#. type: verbatim +#: ../cat/virt-filesystems.pod:185 +#, no-wrap +msgid "" +" virt-filesystems --format=raw -a disk.img --format -a another.img\n" +"\n" msgstr "" -# type: textblock -#: ../src/guestfs.pod:438 -msgid "" -"When new files are created, you may need to label them explicitly, for " -"example by running the external command C." +#. type: =item +#: ../cat/virt-filesystems.pod:194 ../cat/virt-ls.pod:352 ../df/virt-df.pod:125 ../fish/guestfish.pod:156 ../tools/virt-list-partitions.pl:109 +msgid "B<-h>" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:442 -msgid "UMASK" +#. type: =item +#: ../cat/virt-filesystems.pod:196 ../cat/virt-ls.pod:354 ../df/virt-df.pod:127 ../tools/virt-list-partitions.pl:111 +msgid "B<--human-readable>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:444 -msgid "" -"Certain calls are affected by the current file mode creation mask (the " -"\"umask\"). In particular ones which create files or directories, such as " -"L, L or L. This affects " -"either the default mode that the file is created with or modifies the mode " -"that you supply." +#. type: textblock +#: ../cat/virt-filesystems.pod:198 +msgid "In I<--long> mode, display sizes in human-readable format." msgstr "" -# type: textblock -#: ../src/guestfs.pod:450 -msgid "" -"The default umask is C<022>, so files are created with modes such as C<0644> " -"and directories with C<0755>." +#. type: =item +#: ../cat/virt-filesystems.pod:205 ../cat/virt-ls.pod:366 ../tools/virt-list-filesystems.pl:108 ../tools/virt-list-partitions.pl:119 +msgid "B<-l>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:453 -msgid "" -"There are two ways to avoid being affected by umask. Either set umask to 0 " -"(call C early after launching). Or call " -"L after creating each file or directory." +#. type: =item +#: ../cat/virt-filesystems.pod:207 ../cat/virt-ls.pod:368 ../tools/virt-list-filesystems.pl:110 ../tools/virt-list-partitions.pl:121 +msgid "B<--long>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:457 -msgid "For more information about umask, see L." +#. type: textblock +#: ../cat/virt-filesystems.pod:209 +msgid "Display extra columns of data (\"long format\")." msgstr "" -# type: =head1 -#: ../src/guestfs.pod:459 ../fish/guestfish.pod:559 -msgid "ENCRYPTED DISKS" +#. type: textblock +#: ../cat/virt-filesystems.pod:211 +msgid "A title row is added unless you also specify I<--no-title>." msgstr "" -# type: textblock -#: ../src/guestfs.pod:461 +#. type: textblock +#: ../cat/virt-filesystems.pod:213 msgid "" -"Libguestfs allows you to access Linux guests which have been encrypted using " -"whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) " -"standard. This includes nearly all whole disk encryption systems used by " -"modern Linux guests." +"The extra columns displayed depend on what output you select, and the " +"ordering of columns may change in future versions. Use the title row, " +"I<--csv> output and/or L to match columns to data in external " +"programs." msgstr "" -# type: textblock -#: ../src/guestfs.pod:467 +#. type: textblock +#: ../cat/virt-filesystems.pod:218 msgid "" -"Use L to identify LUKS-encrypted block devices (it " -"returns the string C)." +"Use I<-h> if you want sizes to be displayed in human-readable format. The " +"default is to show raw numbers of I." msgstr "" -# type: textblock -#: ../src/guestfs.pod:470 -msgid "" -"Then open these devices by calling L. Obviously you " -"will require the passphrase!" +#. type: textblock +#: ../cat/virt-filesystems.pod:221 +msgid "Use I<--uuid> to display UUIDs too." msgstr "" -# type: textblock -#: ../src/guestfs.pod:473 -msgid "" -"Opening a LUKS device creates a new device mapper device called " -"C (where C is the string you supply to " -"L). Reads and writes to this mapper device are " -"decrypted from and encrypted to the underlying block device respectively." +#. type: =item +#: ../cat/virt-filesystems.pod:223 +msgid "B<--lvs>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:479 -msgid "" -"LVM volume groups on the device can be made visible by calling " -"L followed by L. The logical " -"volume(s) can now be mounted in the usual way." +#. type: =item +#: ../cat/virt-filesystems.pod:225 +msgid "B<--logvols>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:483 +#. type: =item +#: ../cat/virt-filesystems.pod:227 +msgid "B<--logical-volumes>" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:229 msgid "" -"Use the reverse process to close a LUKS device. Unmount any logical volumes " -"on it, deactivate the volume groups by caling C. Then close the mapper device by calling " -"L on the C device (I the " -"underlying encrypted block device)." +"Display LVM logical volumes. In this mode, these are displayed irrespective " +"of whether the LVs contain filesystems." msgstr "" -# type: =head2 -#: ../src/guestfs.pod:490 -msgid "INSPECTION" +#. type: =item +#: ../cat/virt-filesystems.pod:232 +msgid "B<--no-title>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:492 -msgid "" -"Libguestfs has APIs for inspecting an unknown disk image to find out if it " -"contains operating systems. (These APIs used to be in a separate Perl-only " -"library called L but since version 1.5.3 the most " -"frequently used part of this library has been rewritten in C and moved into " -"the core code)." +#. type: textblock +#: ../cat/virt-filesystems.pod:234 +msgid "In I<--long> mode, don't add a title row." msgstr "" -# type: textblock -#: ../src/guestfs.pod:498 +#. type: textblock +#: ../cat/virt-filesystems.pod:236 msgid "" -"Add all disks belonging to the unknown virtual machine and call " -"L in the usual way." +"Note that the order of the columns is not fixed, and may change in future " +"versions of virt-filesystems, so using this option may give you unexpected " +"surprises." msgstr "" -# type: textblock -#: ../src/guestfs.pod:501 -msgid "" -"Then call L. This function uses other libguestfs calls " -"and certain heuristics, and returns a list of operating systems that were " -"found. An empty list means none were found. A single element is the root " -"filesystem of the operating system. For dual- or multi-boot guests, " -"multiple roots can be returned, each one corresponding to a separate " -"operating system. (Multi-boot virtual machines are extremely rare in the " -"world of virtualization, but since this scenario can happen, we have built " -"libguestfs to deal with it.)" +#. type: =item +#: ../cat/virt-filesystems.pod:240 +msgid "B<--parts>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:510 -msgid "" -"For each root, you can then call various C functions " -"to get additional details about that operating system. For example, call " -"L to return the string C or C for " -"Windows and Linux-based operating systems respectively." +#. type: =item +#: ../cat/virt-filesystems.pod:242 +msgid "B<--partitions>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:516 +#. type: textblock +#: ../cat/virt-filesystems.pod:244 msgid "" -"Un*x-like and Linux-based operating systems usually consist of several " -"filesystems which are mounted at boot time (for example, a separate boot " -"partition mounted on C). The inspection rules are able to detect how " -"filesystems correspond to mount points. Call " -"C to get this mapping. It might return a " -"hash table like this example:" +"Display partitions. In this mode, these are displayed irrespective of " +"whether the partitions contain filesystems." msgstr "" -# type: verbatim -#: ../src/guestfs.pod:523 -#, no-wrap -msgid "" -" /boot => /dev/sda1\n" -" / => /dev/vg_guest/lv_root\n" -" /usr => /dev/vg_guest/lv_usr\n" -"\n" +#. type: =item +#: ../cat/virt-filesystems.pod:247 +msgid "B<--pvs>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:527 -msgid "" -"The caller can then make calls to L to mount the " -"filesystems as suggested." +#. type: =item +#: ../cat/virt-filesystems.pod:249 +msgid "B<--physvols>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:530 -msgid "" -"Be careful to mount filesystems in the right order (eg. C before " -"C). Sorting the keys of the hash by length, shortest first, should " -"work." +#. type: =item +#: ../cat/virt-filesystems.pod:251 +msgid "B<--physical-volumes>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:534 -msgid "" -"Inspection currently only works for some common operating systems. " -"Contributors are welcome to send patches for other operating systems that we " -"currently cannot detect." +#. type: textblock +#: ../cat/virt-filesystems.pod:253 +msgid "Display LVM physical volumes." msgstr "" -# type: textblock -#: ../src/guestfs.pod:538 -msgid "" -"Encrypted disks must be opened before inspection. See L " -"for more details. The L function just ignores any " -"encrypted devices." +#. type: =item +#: ../cat/virt-filesystems.pod:255 ../df/virt-df.pod:163 +msgid "B<--uuid>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:542 -msgid "" -"A note on the implementation: The call L performs " -"inspection and caches the results in the guest handle. Subsequent calls to " -"C return this cached information, but I " -"re-read the disks. If you change the content of the guest disks, you can " -"redo inspection by calling L again." +#. type: =item +#: ../cat/virt-filesystems.pod:257 +msgid "B<--uuids>" msgstr "" -# type: =head2 -#: ../src/guestfs.pod:549 -msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS" +#. type: textblock +#: ../cat/virt-filesystems.pod:259 +msgid "In I<--long> mode, display UUIDs as well." msgstr "" -# type: textblock -#: ../src/guestfs.pod:551 -msgid "" -"Libguestfs can mount NTFS partitions. It does this using the " -"L driver." +#. type: =item +#: ../cat/virt-filesystems.pod:273 +msgid "B<--vgs>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:554 -msgid "" -"DOS and Windows still use drive letters, and the filesystems are always " -"treated as case insensitive by Windows itself, and therefore you might find " -"a Windows configuration file referring to a path like " -"C. When the filesystem is mounted in libguestfs, " -"that directory might be referred to as C." +#. type: =item +#: ../cat/virt-filesystems.pod:275 +msgid "B<--volgroups>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:560 -msgid "" -"Drive letter mappings are outside the scope of libguestfs. You have to use " -"libguestfs to read the appropriate Windows Registry and configuration files, " -"to determine yourself how drives are mapped (see also L and " -"L)." +#. type: =item +#: ../cat/virt-filesystems.pod:277 +msgid "B<--volume-groups>" msgstr "" -# type: textblock -#: ../src/guestfs.pod:565 -msgid "" -"Replacing backslash characters with forward slash characters is also outside " -"the scope of libguestfs, but something that you can easily do." +#. type: textblock +#: ../cat/virt-filesystems.pod:279 +msgid "Display LVM volume groups." msgstr "" -# type: textblock -#: ../src/guestfs.pod:568 -msgid "" -"Where we can help is in resolving the case insensitivity of paths. For " -"this, call L." +#. type: =head1 +#: ../cat/virt-filesystems.pod:287 +msgid "COLUMNS" msgstr "" -# type: textblock -#: ../src/guestfs.pod:571 +#. type: textblock +#: ../cat/virt-filesystems.pod:289 msgid "" -"Libguestfs also provides some help for decoding Windows Registry \"hive\" " -"files, through the library C which is part of the libguestfs project " -"although ships as a separate tarball. You have to locate and download the " -"hive file(s) yourself, and then pass them to C functions. See also " -"the programs L, L, L and " -"L for more help on this issue." +"Note that columns in the output are subject to reordering and change in " +"future versions of this tool." msgstr "" -# type: =head2 -#: ../src/guestfs.pod:579 -msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" +#. type: =item +#: ../cat/virt-filesystems.pod:294 +msgid "B" msgstr "" -# type: textblock -#: ../src/guestfs.pod:581 -msgid "" -"Although we don't want to discourage you from using the C API, we will " -"mention here that the same API is also available in other languages." +#. type: textblock +#: ../cat/virt-filesystems.pod:296 +msgid "The filesystem, partition, block device or LVM name." msgstr "" -# type: textblock -#: ../src/guestfs.pod:584 +#. type: textblock +#: ../cat/virt-filesystems.pod:298 msgid "" -"The API is broadly identical in all supported languages. This means that " -"the C call C is C<$g-Emount($path)> in Perl, " -"C in Python, and C in OCaml. In other " -"words, a straightforward, predictable isomorphism between each language." +"For device and partition names these are displayed as canonical libguestfs " +"names, so that for example C is the second partition on the first " +"device." msgstr "" -# type: textblock -#: ../src/guestfs.pod:590 +#. type: textblock +#: ../cat/virt-filesystems.pod:302 msgid "" -"Error messages are automatically transformed into exceptions if the language " -"supports it." +"If the I<--long> option is B specified, then only the name column is " +"shown in the output." msgstr "" -# type: textblock -#: ../src/guestfs.pod:593 -msgid "" -"We don't try to \"object orientify\" parts of the API in OO languages, " -"although contributors are welcome to write higher level APIs above what we " -"provide in their favourite languages if they wish." +#. type: =item +#: ../cat/virt-filesystems.pod:305 +msgid "B" msgstr "" -# type: =item -#: ../src/guestfs.pod:599 -msgid "B" +#. type: textblock +#: ../cat/virt-filesystems.pod:307 +msgid "The object type, for example C, C, C etc." +msgstr "" + +#. type: =item +#: ../cat/virt-filesystems.pod:309 +msgid "B" msgstr "" -# type: textblock -#: ../src/guestfs.pod:601 +#. type: textblock +#: ../cat/virt-filesystems.pod:311 msgid "" -"You can use the I header file from C++ programs. The C++ API is " -"identical to the C API. C++ classes and exceptions are not used." +"If there is a filesystem, then this column displays the filesystem type if " +"one could be detected, eg. C." msgstr "" -# type: =item -#: ../src/guestfs.pod:605 -msgid "B" +#. type: =item +#: ../cat/virt-filesystems.pod:314 +msgid "B