X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=po-docs%2Flibguestfs-docs.pot;h=a65563d7c37c21c59a16e9ca22e1e5580e657fa9;hp=b65fa8edbc24fc959ea7bfaf7c0f8eeb5fb2b5c2;hb=a7740cb19a6991d21dc9395dffb87d69ee5986b5;hpb=660daf31e23f2f7c65f29e1d57019af9ea9eba99 diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot index b65fa8e..a65563d 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.13.13\n" +"Project-Id-Version: libguestfs 1.15.5\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2011-09-21 15:11+0200\n" +"POT-Creation-Date: 2011-11-21 13:23+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,278 +18,289 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. 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 ../erlang/examples/guestfs-erlang.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 +#: ../align/virt-alignment-scan.pod:3 ../cat/virt-cat.pod:3 ../cat/virt-filesystems.pod:3 ../cat/virt-ls.pod:3 ../clone/virt-sysprep.pod:3 ../df/virt-df.pod:3 ../edit/virt-edit.pod:3 ../erlang/examples/guestfs-erlang.pod:3 ../examples/guestfs-examples.pod:3 ../examples/guestfs-recipes.pod:14 ../examples/guestfs-testing.pod:3 ../fish/guestfish.pod:3 ../fish/virt-copy-in.pod:3 ../fish/virt-copy-out.pod:3 ../fish/virt-tar-in.pod:3 ../fish/virt-tar-out.pod:3 ../fuse/guestmount.pod:3 ../inspector/virt-inspector.pod:3 ../java/examples/guestfs-java.pod:3 ../ocaml/examples/guestfs-ocaml.pod:3 ../perl/examples/guestfs-perl.pod:3 ../python/examples/guestfs-python.pod:3 ../rescue/virt-rescue.pod:3 ../resize/virt-resize.pod:3 ../ruby/examples/guestfs-ruby.pod:3 ../sparsify/virt-sparsify.pod:3 ../src/guestfs.pod:3 ../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 -#: ../cat/virt-cat.pod:5 -msgid "virt-cat - Display files in a virtual machine" +#: ../align/virt-alignment-scan.pod:5 +msgid "virt-alignment-scan - Check alignment of virtual machine partitions" msgstr "" #. 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 ../erlang/examples/guestfs-erlang.pod:7 ../examples/guestfs-examples.pod:7 ../fish/guestfish.pod:7 ../fish/virt-copy-in.pod:7 ../fish/virt-copy-out.pod:7 ../fish/virt-tar-in.pod:7 ../fish/virt-tar-out.pod:7 ../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 +#: ../align/virt-alignment-scan.pod:7 ../cat/virt-cat.pod:7 ../cat/virt-filesystems.pod:7 ../cat/virt-ls.pod:7 ../clone/virt-sysprep.pod:7 ../df/virt-df.pod:7 ../edit/virt-edit.pod:7 ../erlang/examples/guestfs-erlang.pod:7 ../examples/guestfs-examples.pod:7 ../fish/guestfish.pod:7 ../fish/virt-copy-in.pod:7 ../fish/virt-copy-out.pod:7 ../fish/virt-tar-in.pod:7 ../fish/virt-tar-out.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pod:7 ../java/examples/guestfs-java.pod:7 ../ocaml/examples/guestfs-ocaml.pod:7 ../perl/examples/guestfs-perl.pod:7 ../python/examples/guestfs-python.pod:7 ../rescue/virt-rescue.pod:7 ../resize/virt-resize.pod:7 ../ruby/examples/guestfs-ruby.pod:7 ../sparsify/virt-sparsify.pod:7 ../src/guestfs.pod:7 ../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 -#: ../cat/virt-cat.pod:9 -#, no-wrap -msgid "" -" virt-cat [--options] -d domname file [file ...]\n" -"\n" -msgstr "" - -#. type: verbatim -#: ../cat/virt-cat.pod:11 -#, no-wrap -msgid "" -" virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]\n" -"\n" -msgstr "" - -#. type: textblock -#: ../cat/virt-cat.pod:13 ../edit/virt-edit.pod:15 ../inspector/virt-inspector.pod:13 -msgid "Old-style:" -msgstr "" - -#. type: verbatim -#: ../cat/virt-cat.pod:15 +#: ../align/virt-alignment-scan.pod:9 #, no-wrap msgid "" -" virt-cat domname file\n" +" virt-alignment-scan [--options] -d domname\n" "\n" msgstr "" #. type: verbatim -#: ../cat/virt-cat.pod:17 +#: ../align/virt-alignment-scan.pod:11 #, no-wrap msgid "" -" virt-cat disk.img file\n" +" virt-alignment-scan [--options] -a disk.img [-a disk.img ...]\n" "\n" msgstr "" #. 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 ../erlang/examples/guestfs-erlang.pod:16 ../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 +#: ../align/virt-alignment-scan.pod:13 ../cat/virt-cat.pod:19 ../cat/virt-filesystems.pod:13 ../cat/virt-ls.pod:19 ../clone/virt-sysprep.pod:13 ../df/virt-df.pod:21 ../edit/virt-edit.pod:27 ../erlang/examples/guestfs-erlang.pod:16 ../examples/guestfs-examples.pod:19 ../examples/guestfs-recipes.pod:18 ../examples/guestfs-testing.pod:7 ../fish/guestfish.pod:30 ../fish/virt-copy-in.pod:19 ../fish/virt-copy-out.pod:13 ../fish/virt-tar-in.pod:21 ../fish/virt-tar-out.pod:15 ../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:31 ../resize/virt-resize.pod:13 ../ruby/examples/guestfs-ruby.pod:15 ../sparsify/virt-sparsify.pod:11 ../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 -#: ../cat/virt-cat.pod:21 +#: ../align/virt-alignment-scan.pod:15 msgid "" -"C is a command line tool to display the contents of C where " -"C exists in the named virtual machine (or disk image)." +"When older operating systems install themselves, the partitioning tools " +"place partitions at a sector misaligned with the underlying storage " +"(commonly the first partition starts on sector C<63>). Misaligned " +"partitions can result in an operating system issuing more I/O than should be " +"necessary." msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:24 +#: ../align/virt-alignment-scan.pod:21 msgid "" -"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 '/')." +"The virt-alignment-scan tool checks the alignment of partitions in virtual " +"machines and disk images and warns you if there are alignment problems." msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:28 +#: ../align/virt-alignment-scan.pod:25 msgid "" -"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)." +"Currently there is no virt tool for fixing alignment problems. You can only " +"reinstall the guest operating system. The following NetApp document " +"summarises the problem and possible solutions: " +"L" msgstr "" #. 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" +#: ../align/virt-alignment-scan.pod:30 +msgid "OUTPUT" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:34 -msgid "Display C file from inside the libvirt VM called C:" +#: ../align/virt-alignment-scan.pod:32 +msgid "To run this tool on a disk image directly, use the I<-a> option:" msgstr "" #. type: verbatim -#: ../cat/virt-cat.pod:37 +#: ../align/virt-alignment-scan.pod:34 #, no-wrap msgid "" -" virt-cat -d mydomain /etc/fstab\n" +" $ virt-alignment-scan -a winxp.img\n" +" /dev/sda1 32256 512 bad (alignment < 4K)\n" "\n" msgstr "" -#. type: textblock -#: ../cat/virt-cat.pod:39 -msgid "List syslog messages from a VM disk image file:" -msgstr "" - #. type: verbatim -#: ../cat/virt-cat.pod:41 +#: ../align/virt-alignment-scan.pod:37 #, no-wrap msgid "" -" virt-cat -a disk.img /var/log/messages | tail\n" +" $ virt-alignment-scan -a fedora16.img\n" +" /dev/sda1 1048576 1024K ok\n" +" /dev/sda2 2097152 2048K ok\n" +" /dev/sda3 526385152 2048K ok\n" "\n" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:43 -msgid "Find out what DHCP IP address a VM acquired:" +#: ../align/virt-alignment-scan.pod:42 +msgid "" +"To run the tool on a guest known to libvirt, use the I<-d> option and " +"possibly the I<-c> option:" msgstr "" #. type: verbatim -#: ../cat/virt-cat.pod:45 +#: ../align/virt-alignment-scan.pod:45 #, no-wrap msgid "" -" virt-cat -d mydomain /var/log/messages | \\\n" -" grep 'dhclient: bound to' | tail\n" +" # virt-alignment-scan -d RHEL5\n" +" /dev/sda1 32256 512 bad (alignment < 4K)\n" +" /dev/sda2 106928640 512 bad (alignment < 4K)\n" "\n" msgstr "" -#. type: textblock -#: ../cat/virt-cat.pod:48 -msgid "Find out what packages were recently installed:" -msgstr "" - #. type: verbatim -#: ../cat/virt-cat.pod:50 +#: ../align/virt-alignment-scan.pod:49 #, no-wrap msgid "" -" virt-cat -d mydomain /var/log/yum.log | tail\n" +" $ virt-alignment-scan -c qemu:///system -d Win7TwoDisks\n" +" /dev/sda1 1048576 1024K ok\n" +" /dev/sda2 105906176 1024K ok\n" +" /dev/sdb1 65536 64K ok\n" "\n" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:52 -msgid "Find out who is logged on inside a virtual machine:" +#: ../align/virt-alignment-scan.pod:54 +msgid "" +"The output consists of 4 or more whitespace-separated columns. Only the " +"first 4 columns are signficant if you want to parse this from a program. " +"The columns are:" msgstr "" -#. type: verbatim -#: ../cat/virt-cat.pod:54 -#, no-wrap +#. type: =item +#: ../align/virt-alignment-scan.pod:60 +msgid "col 1" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:62 msgid "" -" virt-cat -d mydomain /var/run/utmp > /tmp/utmp\n" -" who /tmp/utmp\n" -"\n" +"the device and partition name (eg. C meaning the first partition " +"on the first block device)" +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:65 +msgid "col 2" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:57 -msgid "or who was logged on:" +#: ../align/virt-alignment-scan.pod:67 +msgid "the start of the partition in bytes" msgstr "" -#. type: verbatim -#: ../cat/virt-cat.pod:59 -#, no-wrap +#. type: =item +#: ../align/virt-alignment-scan.pod:69 +msgid "col 3" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:71 +msgid "the alignment in bytes or Kbytes (eg. C<512> or C<4K>)" +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:73 +msgid "col 4" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:75 msgid "" -" virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp\n" -" last -f /tmp/wtmp\n" -"\n" +"C if the alignment is best for performance, or C if the alignment " +"can cause performance problems" +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:78 +msgid "cols 5+" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:80 +msgid "optional free-text explanation." +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:84 +msgid "" +"The exit code from the program changes depending on whether poorly aligned " +"partitions were found. See L below." +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:87 +msgid "If you just want the exit code with no output, use the I<-q> option." msgstr "" #. 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:36 ../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 +#: ../align/virt-alignment-scan.pod:89 ../cat/virt-cat.pod:62 ../cat/virt-filesystems.pod:91 ../cat/virt-ls.pod:261 ../clone/virt-sysprep.pod:42 ../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:92 ../inspector/virt-inspector.pod:55 ../rescue/virt-rescue.pod:112 ../resize/virt-resize.pod:262 ../sparsify/virt-sparsify.pod:99 ../test-tool/libguestfs-test-tool.pod:36 ../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: =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 ../test-tool/libguestfs-test-tool.pod:40 ../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 +#: ../align/virt-alignment-scan.pod:93 ../cat/virt-cat.pod:66 ../cat/virt-filesystems.pod:95 ../cat/virt-ls.pod:265 ../clone/virt-sysprep.pod:46 ../df/virt-df.pod:63 ../edit/virt-edit.pod:66 ../fish/guestfish.pod:152 ../fuse/guestmount.pod:160 ../inspector/virt-inspector.pod:59 ../rescue/virt-rescue.pod:116 ../resize/virt-resize.pod:266 ../sparsify/virt-sparsify.pod:103 ../test-tool/libguestfs-test-tool.pod:40 ../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 -#: ../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 +#: ../align/virt-alignment-scan.pod:95 ../cat/virt-cat.pod:68 ../cat/virt-filesystems.pod:97 ../cat/virt-ls.pod:267 ../clone/virt-sysprep.pod:48 ../df/virt-df.pod:65 ../edit/virt-edit.pod:68 ../inspector/virt-inspector.pod:61 ../rescue/virt-rescue.pod:118 ../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: =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 +#: ../align/virt-alignment-scan.pod:97 ../cat/virt-cat.pod:70 ../cat/virt-filesystems.pod:99 ../cat/virt-ls.pod:269 ../clone/virt-sysprep.pod:50 ../df/virt-df.pod:67 ../edit/virt-edit.pod:70 ../inspector/virt-inspector.pod:63 ../rescue/virt-rescue.pod:120 msgid "B<-a> file" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:99 ../cat/virt-cat.pod:72 ../cat/virt-filesystems.pod:101 ../cat/virt-ls.pod:271 ../clone/virt-sysprep.pod:52 ../df/virt-df.pod:69 ../edit/virt-edit.pod:72 ../inspector/virt-inspector.pod:65 ../rescue/virt-rescue.pod:122 msgid "B<--add> file" msgstr "" #. 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 "" -"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." +#: ../align/virt-alignment-scan.pod:101 ../clone/virt-sysprep.pod:54 +msgid "Add I which should be a disk image from a virtual machine." msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:103 ../cat/virt-cat.pod:78 ../cat/virt-filesystems.pod:107 ../cat/virt-ls.pod:277 ../clone/virt-sysprep.pod:56 ../df/virt-df.pod:75 ../edit/virt-edit.pod:78 ../fish/guestfish.pod:174 ../fuse/guestmount.pod:102 ../inspector/virt-inspector.pod:71 ../rescue/virt-rescue.pod:128 msgid "" "The format of the disk image is auto-detected. To override this and force a " "particular format use the I<--format=..> option." msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:106 ../cat/virt-cat.pod:81 ../cat/virt-filesystems.pod:125 ../cat/virt-ls.pod:291 ../clone/virt-sysprep.pod:59 ../df/virt-df.pod:78 ../rescue/virt-rescue.pod:135 msgid "B<-c> URI" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:108 ../cat/virt-cat.pod:83 ../cat/virt-filesystems.pod:127 ../cat/virt-ls.pod:293 ../clone/virt-sysprep.pod:61 ../df/virt-df.pod:80 ../rescue/virt-rescue.pod:137 msgid "B<--connect> URI" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:110 ../cat/virt-cat.pod:85 ../cat/virt-filesystems.pod:129 ../cat/virt-ls.pod:295 ../clone/virt-sysprep.pod:63 ../df/virt-df.pod:82 ../edit/virt-edit.pod:99 ../inspector/virt-inspector.pod:78 ../rescue/virt-rescue.pod:139 ../tools/virt-list-filesystems.pl:81 ../tools/virt-list-partitions.pl:82 ../tools/virt-tar.pl:131 ../tools/virt-win-reg.pl:132 msgid "" "If using libvirt, connect to the given I. If omitted, then we connect " "to the default libvirt hypervisor." msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:113 ../cat/virt-cat.pod:88 ../cat/virt-filesystems.pod:132 ../cat/virt-ls.pod:298 ../clone/virt-sysprep.pod:66 ../df/virt-df.pod:85 ../rescue/virt-rescue.pod:142 msgid "" "If you specify guest block devices directly (I<-a>), then libvirt is not " "used at all." msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:116 ../cat/virt-cat.pod:91 ../cat/virt-filesystems.pod:141 ../cat/virt-ls.pod:307 ../clone/virt-sysprep.pod:69 ../df/virt-df.pod:94 ../edit/virt-edit.pod:105 ../inspector/virt-inspector.pod:85 ../rescue/virt-rescue.pod:145 msgid "B<-d> guest" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:118 ../cat/virt-cat.pod:93 ../cat/virt-filesystems.pod:143 ../cat/virt-ls.pod:309 ../clone/virt-sysprep.pod:71 ../df/virt-df.pod:96 ../edit/virt-edit.pod:107 ../inspector/virt-inspector.pod:87 ../rescue/virt-rescue.pod:147 msgid "B<--domain> guest" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:120 ../cat/virt-cat.pod:95 ../cat/virt-filesystems.pod:145 ../cat/virt-ls.pod:311 ../clone/virt-sysprep.pod:73 ../df/virt-df.pod:98 ../edit/virt-edit.pod:109 ../inspector/virt-inspector.pod:89 ../rescue/virt-rescue.pod:149 msgid "" "Add all the disks from the named libvirt guest. Domain UUIDs can be used " "instead of names." msgstr "" #. 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 -#: ../cat/virt-cat.pod:100 -msgid "" -"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: =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 +#: ../align/virt-alignment-scan.pod:123 ../cat/virt-cat.pod:105 ../cat/virt-filesystems.pod:170 ../cat/virt-ls.pod:328 ../clone/virt-sysprep.pod:95 ../df/virt-df.pod:101 ../fish/guestfish.pod:233 ../fuse/guestmount.pod:142 ../inspector/virt-inspector.pod:99 ../rescue/virt-rescue.pod:152 msgid "B<--format=raw|qcow2|..>" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:125 ../cat/virt-cat.pod:107 ../cat/virt-filesystems.pod:172 ../cat/virt-ls.pod:330 ../clone/virt-sysprep.pod:97 ../df/virt-df.pod:103 ../edit/virt-edit.pod:134 ../fish/guestfish.pod:235 ../fuse/guestmount.pod:144 ../inspector/virt-inspector.pod:101 ../rescue/virt-rescue.pod:154 msgid "B<--format>" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:127 ../cat/virt-cat.pod:109 ../cat/virt-filesystems.pod:174 ../cat/virt-ls.pod:332 ../clone/virt-sysprep.pod:99 ../df/virt-df.pod:105 ../edit/virt-edit.pod:136 ../fish/guestfish.pod:237 ../fuse/guestmount.pod:146 ../rescue/virt-rescue.pod:156 msgid "" "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 " @@ -298,40 +309,40 @@ msgid "" msgstr "" #. 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:336 ../rescue/virt-rescue.pod:133 ../src/guestfs.pod:2765 +#: ../align/virt-alignment-scan.pod:132 ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../clone/virt-sysprep.pod:104 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:673 ../inspector/virt-inspector.pod:351 ../rescue/virt-rescue.pod:161 ../src/guestfs.pod:2877 msgid "For example:" msgstr "" #. type: verbatim -#: ../cat/virt-cat.pod:116 +#: ../align/virt-alignment-scan.pod:134 #, no-wrap msgid "" -" virt-cat --format=raw -a disk.img file\n" +" virt-alignment-scan --format=raw -a disk.img\n" "\n" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:136 ../cat/virt-cat.pod:118 ../cat/virt-filesystems.pod:183 ../cat/virt-ls.pod:341 ../clone/virt-sysprep.pod:108 ../df/virt-df.pod:114 ../edit/virt-edit.pod:145 ../fish/guestfish.pod:246 ../rescue/virt-rescue.pod:165 msgid "forces raw format (no auto-detection) for C." msgstr "" #. type: verbatim -#: ../cat/virt-cat.pod:120 +#: ../align/virt-alignment-scan.pod:138 #, no-wrap msgid "" -" virt-cat --format=raw -a disk.img --format -a another.img file\n" +" virt-alignment-scan --format=raw -a disk.img --format -a another.img\n" "\n" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:140 ../cat/virt-cat.pod:122 ../cat/virt-filesystems.pod:187 ../cat/virt-ls.pod:345 ../clone/virt-sysprep.pod:112 ../df/virt-df.pod:118 ../edit/virt-edit.pod:149 ../fish/guestfish.pod:250 ../rescue/virt-rescue.pod:169 msgid "" "forces raw format (no auto-detection) for C and reverts to " "auto-detection for C." msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:143 ../cat/virt-cat.pod:125 ../cat/virt-filesystems.pod:190 ../cat/virt-ls.pod:348 ../clone/virt-sysprep.pod:115 ../df/virt-df.pod:121 ../edit/virt-edit.pod:152 ../rescue/virt-rescue.pod:172 msgid "" "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 " @@ -339,163 +350,335 @@ msgid "" msgstr "" #. 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>" +#: ../align/virt-alignment-scan.pod:147 ../resize/virt-resize.pod:491 ../sparsify/virt-sparsify.pod:153 +msgid "B<-q>" +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:149 ../resize/virt-resize.pod:493 ../sparsify/virt-sparsify.pod:155 +msgid "B<--quiet>" 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 +#: ../align/virt-alignment-scan.pod:151 msgid "" -"Read key or passphrase parameters from stdin. The default is to try to read " -"passphrases from the user by opening C." +"Don't produce any output. Just set the exit code (see L " +"below)." msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:154 ../cat/virt-cat.pod:134 ../cat/virt-filesystems.pod:261 ../cat/virt-ls.pod:425 ../clone/virt-sysprep.pod:138 ../df/virt-df.pod:173 ../edit/virt-edit.pod:161 ../fish/guestfish.pod:390 ../fuse/guestmount.pod:266 ../inspector/virt-inspector.pod:119 ../rescue/virt-rescue.pod:219 ../sparsify/virt-sparsify.pod:159 msgid "B<-v>" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:156 ../cat/virt-cat.pod:136 ../cat/virt-filesystems.pod:263 ../cat/virt-ls.pod:427 ../clone/virt-sysprep.pod:140 ../df/virt-df.pod:175 ../edit/virt-edit.pod:163 ../fish/guestfish.pod:392 ../fuse/guestmount.pod:268 ../inspector/virt-inspector.pod:121 ../rescue/virt-rescue.pod:221 ../sparsify/virt-sparsify.pod:161 msgid "B<--verbose>" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:158 ../cat/virt-cat.pod:138 ../cat/virt-filesystems.pod:265 ../cat/virt-ls.pod:429 ../clone/virt-sysprep.pod:142 ../df/virt-df.pod:177 ../edit/virt-edit.pod:165 ../inspector/virt-inspector.pod:123 ../rescue/virt-rescue.pod:223 ../sparsify/virt-sparsify.pod:163 msgid "Enable verbose messages for debugging." msgstr "" #. 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:484 +#: ../align/virt-alignment-scan.pod:160 ../cat/virt-cat.pod:140 ../cat/virt-filesystems.pod:267 ../cat/virt-ls.pod:431 ../clone/virt-sysprep.pod:144 ../df/virt-df.pod:179 ../edit/virt-edit.pod:167 ../fish/guestfish.pod:397 ../fuse/guestmount.pod:272 ../inspector/virt-inspector.pod:125 ../rescue/virt-rescue.pod:225 ../resize/virt-resize.pod:561 ../sparsify/virt-sparsify.pod:165 msgid "B<-V>" msgstr "" #. 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:486 ../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 +#: ../align/virt-alignment-scan.pod:162 ../cat/virt-cat.pod:142 ../cat/virt-filesystems.pod:269 ../cat/virt-ls.pod:433 ../clone/virt-sysprep.pod:146 ../df/virt-df.pod:181 ../edit/virt-edit.pod:169 ../fish/guestfish.pod:399 ../fuse/guestmount.pod:274 ../inspector/virt-inspector.pod:127 ../rescue/virt-rescue.pod:227 ../resize/virt-resize.pod:563 ../sparsify/virt-sparsify.pod:167 ../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: 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:488 ../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 +#: ../align/virt-alignment-scan.pod:164 ../cat/virt-cat.pod:144 ../cat/virt-filesystems.pod:271 ../cat/virt-ls.pod:435 ../clone/virt-sysprep.pod:148 ../df/virt-df.pod:183 ../edit/virt-edit.pod:171 ../inspector/virt-inspector.pod:129 ../rescue/virt-rescue.pod:229 ../resize/virt-resize.pod:565 ../sparsify/virt-sparsify.pod:169 ../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: =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 +#: ../align/virt-alignment-scan.pod:166 ../cat/virt-cat.pod:146 ../cat/virt-filesystems.pod:281 ../cat/virt-ls.pod:437 ../clone/virt-sysprep.pod:150 ../df/virt-df.pod:185 ../edit/virt-edit.pod:173 ../fish/guestfish.pod:412 ../fuse/guestmount.pod:287 ../inspector/virt-inspector.pod:131 ../rescue/virt-rescue.pod:240 ../sparsify/virt-sparsify.pod:171 ../tools/virt-tar.pl:158 msgid "B<-x>" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:168 ../cat/virt-cat.pod:148 ../cat/virt-filesystems.pod:283 ../cat/virt-ls.pod:439 ../clone/virt-sysprep.pod:152 ../df/virt-df.pod:187 ../edit/virt-edit.pod:175 ../inspector/virt-inspector.pod:133 ../rescue/virt-rescue.pod:242 ../sparsify/virt-sparsify.pod:173 msgid "Enable tracing of libguestfs API calls." msgstr "" #. 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" +#: ../align/virt-alignment-scan.pod:172 +msgid "RECOMMENDED ALIGNMENT" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:154 -msgid "Previous versions of virt-cat allowed you to write either:" +#: ../align/virt-alignment-scan.pod:174 +msgid "" +"Operating systems older than Windows 2008 and Linux before ca.2010 place the " +"first sector of the first partition at sector 63, with a 512 byte sector " +"size. This happens because of a historical accident. Drives have to report " +"a cylinder / head / sector (CHS) geometry to the BIOS. The geometry is " +"completely meaningless on modern drives, but it happens that the geometry " +"reported always has 63 sectors per track. The operating system therefore " +"places the first partition at the start of the second \"track\", at sector " +"63." msgstr "" -#. type: verbatim -#: ../cat/virt-cat.pod:156 -#, no-wrap +#. type: textblock +#: ../align/virt-alignment-scan.pod:183 msgid "" -" virt-cat disk.img [disk.img ...] file\n" -"\n" +"When the guest OS is virtualized, the host operating system and hypervisor " +"may prefer accesses aligned to one of:" +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:188 +msgid "* 512 bytes" msgstr "" #. 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" +#: ../align/virt-alignment-scan.pod:190 +msgid "" +"if the host OS uses local storage directly on hard drive partitions, and the " +"hard drive has 512 byte physical sectors." +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:193 +msgid "* 4 Kbytes" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:195 +msgid "" +"for local storage on new hard drives with 4Kbyte physical sectors; for " +"file-backed storage on filesystems with 4Kbyte block size; or for some types " +"of network-attached storage." +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:199 +msgid "* 64 Kbytes" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:201 +msgid "" +"for high-end network-attached storage. This is the optimal block size for " +"some NetApp hardware." +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:204 +msgid "* 1 Mbyte" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:206 +msgid "see L below." +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:210 +msgid "" +"Partitions which are not aligned correctly to the underlying storage cause " +"extra I/O. For example:" msgstr "" #. type: verbatim -#: ../cat/virt-cat.pod:160 +#: ../align/virt-alignment-scan.pod:213 #, no-wrap msgid "" -" virt-cat guestname file\n" +" sect#63\n" +" +--------------------------+------\n" +" | guest |\n" +" | filesystem block |\n" +" ---+------------------+------+-------------------+-----+---\n" +" | host block | host block |\n" +" | | |\n" +" ---+-------------------------+-------------------------+---\n" "\n" msgstr "" #. 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 +#: ../align/virt-alignment-scan.pod:222 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." +"In this example, each time a 4K guest block is read, two blocks on the host " +"must be accessed (so twice as much I/O is done). When a 4K guest block is " +"written, two host blocks must first be read, the old and new data combined, " +"and the two blocks written back (4x I/O)." +msgstr "" + +#. type: =head2 +#: ../align/virt-alignment-scan.pod:227 +msgid "LINUX HOST BLOCK AND I/O SIZE" msgstr "" #. 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." +#: ../align/virt-alignment-scan.pod:229 +msgid "" +"New versions of the Linux kernel expose the physical and logical block size, " +"and minimum and recommended I/O size." msgstr "" -#. type: =head1 -#: ../cat/virt-cat.pod:168 ../edit/virt-edit.pod:297 -msgid "USING GUESTFISH" +#. type: textblock +#: ../align/virt-alignment-scan.pod:232 +msgid "For a typical consumer hard drive with 512 byte sectors:" +msgstr "" + +#. type: verbatim +#: ../align/virt-alignment-scan.pod:234 +#, no-wrap +msgid "" +" $ cat /sys/block/sda/queue/hw_sector_size\n" +" 512\n" +" $ cat /sys/block/sda/queue/physical_block_size\n" +" 512\n" +" $ cat /sys/block/sda/queue/logical_block_size\n" +" 512\n" +" $ cat /sys/block/sda/queue/minimum_io_size\n" +" 512\n" +" $ cat /sys/block/sda/queue/optimal_io_size\n" +" 0\n" +"\n" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:170 +#: ../align/virt-alignment-scan.pod:245 +msgid "For a new consumer hard drive with 4Kbyte sectors:" +msgstr "" + +#. type: verbatim +#: ../align/virt-alignment-scan.pod:247 +#, no-wrap msgid "" -"L is a more powerful, lower level tool which you can use when " -"C doesn't work." +" $ cat /sys/block/sda/queue/hw_sector_size\n" +" 4096\n" +" $ cat /sys/block/sda/queue/physical_block_size\n" +" 4096\n" +" $ cat /sys/block/sda/queue/logical_block_size\n" +" 4096\n" +" $ cat /sys/block/sda/queue/minimum_io_size\n" +" 4096\n" +" $ cat /sys/block/sda/queue/optimal_io_size\n" +" 0\n" +"\n" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:173 -msgid "Using C is approximately equivalent to doing:" +#: ../align/virt-alignment-scan.pod:258 +msgid "For a NetApp LUN:" msgstr "" #. type: verbatim -#: ../cat/virt-cat.pod:175 +#: ../align/virt-alignment-scan.pod:260 #, no-wrap msgid "" -" guestfish --ro -i -d domname download file -\n" +" $ cat /sys/block/sdc/queue/logical_block_size\n" +" 512\n" +" $ cat /sys/block/sdc/queue/physical_block_size\n" +" 512\n" +" $ cat /sys/block/sdc/queue/minimum_io_size\n" +" 4096\n" +" $ cat /sys/block/sdc/queue/optimal_io_size\n" +" 65536\n" "\n" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:177 +#: ../align/virt-alignment-scan.pod:269 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\")." +"The NetApp allows 512 byte accesses (but they will be very inefficient), " +"prefers a minimum 4K I/O size, but the optimal I/O size is 64K." msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:181 +#: ../align/virt-alignment-scan.pod:273 msgid "" -"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:" +"For detailed information about what these numbers mean, see " +"L" msgstr "" -#. type: verbatim -#: ../cat/virt-cat.pod:186 -#, no-wrap +#. type: textblock +#: ../align/virt-alignment-scan.pod:276 msgid "" -" guestfish --ro -a disk.img -m /dev/sda1 download file -\n" -"\n" +"[Thanks to Matt Booth for providing 4K drive data. Thanks to Mike Snitzer " +"for providing NetApp data and additional information.]" +msgstr "" + +#. type: =head2 +#: ../align/virt-alignment-scan.pod:279 +msgid "1 MB PARTITION ALIGNMENT" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:188 +#: ../align/virt-alignment-scan.pod:281 msgid "" -"where C is the disk image, C is the filesystem within " -"the disk image, and C is the full path to the file." +"Microsoft picked 1 MB as the default alignment for all partitions starting " +"with Windows 2008 Server, and Linux has followed this." +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:284 +msgid "" +"Assuming 512 byte sectors in the guest, you will now see the first partition " +"starting at sector 2048, and subsequent partitions (if any) will start at a " +"multiple of 2048 sectors." +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:288 +msgid "" +"1 MB alignment is compatible with all current alignment requirements (4K, " +"64K) and provides room for future growth in physical block sizes." +msgstr "" + +#. type: =head2 +#: ../align/virt-alignment-scan.pod:291 +msgid "SETTING ALIGNMENT" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:293 +msgid "" +"L can change the alignment of the partitions of some " +"guests. Currently it can fully align all the partitions of all Windows " +"guests, and it will fix the bootloader where necessary. For Linux guests, " +"it can align the second and subsequent partitions, so the majority of OS " +"accesses except at boot will be aligned." +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:299 +msgid "" +"Another way to correct partition alignment problems is to reinstall your " +"guest operating systems. If you install operating systems from templates, " +"ensure these have correct partition alignment too." +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:303 +msgid "" +"For older versions of Windows, the following NetApp document contains useful " +"information: L" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:306 +msgid "" +"For Red Hat Enterprise Linux E 5, use a Kickstart script that contains " +"an explicit C<%pre> section that creates aligned partitions using " +"L. Do not use the Kickstart C command. The NetApp " +"document above contains an example." msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:191 ../cat/virt-filesystems.pod:365 ../cat/virt-ls.pod:483 ../df/virt-df.pod:215 ../edit/virt-edit.pod:342 ../inspector/virt-inspector.pod:352 ../rescue/virt-rescue.pod:262 ../resize/virt-resize.pod:601 ../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 +#: ../align/virt-alignment-scan.pod:311 ../cat/virt-cat.pod:231 ../cat/virt-filesystems.pod:373 ../cat/virt-ls.pod:483 ../clone/virt-sysprep.pod:475 ../df/virt-df.pod:215 ../edit/virt-edit.pod:342 ../inspector/virt-inspector.pod:367 ../rescue/virt-rescue.pod:303 ../resize/virt-resize.pod:676 ../tools/virt-list-filesystems.pl:188 ../tools/virt-list-partitions.pl:258 ../tools/virt-make-fs.pl:550 ../tools/virt-tar.pl:289 ../tools/virt-win-reg.pl:744 msgid "SHELL QUOTING" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:193 ../cat/virt-filesystems.pod:367 ../cat/virt-ls.pod:485 ../df/virt-df.pod:217 ../edit/virt-edit.pod:344 ../inspector/virt-inspector.pod:354 ../rescue/virt-rescue.pod:264 ../resize/virt-resize.pod:603 ../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 +#: ../align/virt-alignment-scan.pod:313 ../cat/virt-cat.pod:233 ../cat/virt-filesystems.pod:375 ../cat/virt-ls.pod:485 ../clone/virt-sysprep.pod:477 ../df/virt-df.pod:217 ../edit/virt-edit.pod:344 ../inspector/virt-inspector.pod:369 ../rescue/virt-rescue.pod:305 ../resize/virt-resize.pod:678 ../tools/virt-list-filesystems.pl:190 ../tools/virt-list-partitions.pl:260 ../tools/virt-make-fs.pl:552 ../tools/virt-tar.pl:291 ../tools/virt-win-reg.pl:752 msgid "" "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 " @@ -504,49 +687,98 @@ msgid "" msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:198 ../cat/virt-filesystems.pod:372 ../cat/virt-ls.pod:490 ../df/virt-df.pod:222 ../edit/virt-edit.pod:349 ../fish/guestfish.pod:1081 ../fuse/guestmount.pod:303 ../inspector/virt-inspector.pod:375 ../resize/virt-resize.pod:608 ../test-tool/libguestfs-test-tool.pod:90 +#: ../align/virt-alignment-scan.pod:318 ../cat/virt-cat.pod:238 ../cat/virt-filesystems.pod:380 ../cat/virt-ls.pod:490 ../clone/virt-sysprep.pod:482 ../df/virt-df.pod:222 ../edit/virt-edit.pod:349 ../fish/guestfish.pod:1114 ../fuse/guestmount.pod:312 ../inspector/virt-inspector.pod:390 ../resize/virt-resize.pod:683 ../sparsify/virt-sparsify.pod:227 ../test-tool/libguestfs-test-tool.pod:90 msgid "EXIT STATUS" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:200 ../cat/virt-filesystems.pod:374 ../cat/virt-ls.pod:492 ../df/virt-df.pod:224 ../edit/virt-edit.pod:351 ../fuse/guestmount.pod:305 ../inspector/virt-inspector.pod:377 ../resize/virt-resize.pod:610 -msgid "This program returns 0 if successful, or non-zero if there was an error." +#: ../align/virt-alignment-scan.pod:320 +msgid "This program returns:" +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:324 ../align/virt-alignment-scan.pod:330 ../align/virt-alignment-scan.pod:336 ../align/virt-alignment-scan.pod:343 ../cat/virt-cat.pod:177 ../cat/virt-cat.pod:182 ../cat/virt-cat.pod:187 ../cat/virt-cat.pod:198 ../cat/virt-cat.pod:202 ../clone/virt-sysprep.pod:283 ../clone/virt-sysprep.pod:287 ../clone/virt-sysprep.pod:291 ../clone/virt-sysprep.pod:295 ../clone/virt-sysprep.pod:310 ../clone/virt-sysprep.pod:314 ../clone/virt-sysprep.pod:318 ../clone/virt-sysprep.pod:322 ../clone/virt-sysprep.pod:326 ../clone/virt-sysprep.pod:362 ../clone/virt-sysprep.pod:384 ../clone/virt-sysprep.pod:388 ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266 ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276 ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291 ../examples/guestfs-recipes.pod:98 ../examples/guestfs-recipes.pod:102 ../examples/guestfs-recipes.pod:106 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:137 ../examples/guestfs-recipes.pod:227 ../examples/guestfs-recipes.pod:231 ../examples/guestfs-recipes.pod:235 ../examples/guestfs-recipes.pod:239 ../examples/guestfs-recipes.pod:243 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:441 ../fish/guestfish-actions.pod:449 ../fish/guestfish-actions.pod:456 ../fish/guestfish-actions.pod:463 ../fish/guestfish-actions.pod:1262 ../fish/guestfish-actions.pod:1266 ../fish/guestfish-actions.pod:1270 ../fish/guestfish-actions.pod:1274 ../fish/guestfish-actions.pod:1282 ../fish/guestfish-actions.pod:1286 ../fish/guestfish-actions.pod:1290 ../fish/guestfish-actions.pod:1300 ../fish/guestfish-actions.pod:1304 ../fish/guestfish-actions.pod:1308 ../fish/guestfish-actions.pod:1398 ../fish/guestfish-actions.pod:1402 ../fish/guestfish-actions.pod:1407 ../fish/guestfish-actions.pod:1412 ../fish/guestfish-actions.pod:1454 ../fish/guestfish-actions.pod:1458 ../fish/guestfish-actions.pod:1463 ../fish/guestfish-actions.pod:1719 ../fish/guestfish-actions.pod:1726 ../fish/guestfish-actions.pod:1733 ../fish/guestfish-actions.pod:2136 ../fish/guestfish-actions.pod:2142 ../fish/guestfish-actions.pod:2150 ../fish/guestfish-actions.pod:2157 ../fish/guestfish-actions.pod:2164 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:408 ../inspector/virt-inspector.pod:412 ../resize/virt-resize.pod:359 ../resize/virt-resize.pod:363 ../resize/virt-resize.pod:372 ../resize/virt-resize.pod:378 ../sparsify/virt-sparsify.pod:32 ../sparsify/virt-sparsify.pod:39 ../sparsify/virt-sparsify.pod:43 ../sparsify/virt-sparsify.pod:49 ../sparsify/virt-sparsify.pod:54 ../sparsify/virt-sparsify.pod:58 ../sparsify/virt-sparsify.pod:64 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:641 ../src/guestfs-actions.pod:649 ../src/guestfs-actions.pod:656 ../src/guestfs-actions.pod:663 ../src/guestfs-actions.pod:2079 ../src/guestfs-actions.pod:2083 ../src/guestfs-actions.pod:2087 ../src/guestfs-actions.pod:2091 ../src/guestfs-actions.pod:2099 ../src/guestfs-actions.pod:2103 ../src/guestfs-actions.pod:2107 ../src/guestfs-actions.pod:2117 ../src/guestfs-actions.pod:2121 ../src/guestfs-actions.pod:2125 ../src/guestfs-actions.pod:2263 ../src/guestfs-actions.pod:2267 ../src/guestfs-actions.pod:2272 ../src/guestfs-actions.pod:2277 ../src/guestfs-actions.pod:2338 ../src/guestfs-actions.pod:2342 ../src/guestfs-actions.pod:2347 ../src/guestfs-actions.pod:2762 ../src/guestfs-actions.pod:2769 ../src/guestfs-actions.pod:2776 ../src/guestfs-actions.pod:3321 ../src/guestfs-actions.pod:3327 ../src/guestfs-actions.pod:3335 ../src/guestfs-actions.pod:3342 ../src/guestfs-actions.pod:3349 ../src/guestfs.pod:403 ../src/guestfs.pod:408 ../src/guestfs.pod:413 ../src/guestfs.pod:417 ../src/guestfs.pod:422 ../src/guestfs.pod:426 ../src/guestfs.pod:431 ../src/guestfs.pod:436 ../src/guestfs.pod:1109 ../src/guestfs.pod:1113 ../src/guestfs.pod:1117 ../src/guestfs.pod:1122 ../src/guestfs.pod:1130 ../src/guestfs.pod:1149 ../src/guestfs.pod:1157 ../src/guestfs.pod:1179 ../src/guestfs.pod:1183 ../src/guestfs.pod:1187 ../src/guestfs.pod:1191 ../src/guestfs.pod:1195 ../src/guestfs.pod:1199 ../src/guestfs.pod:1689 ../src/guestfs.pod:1694 ../src/guestfs.pod:1698 ../src/guestfs.pod:1800 ../src/guestfs.pod:1805 ../src/guestfs.pod:1809 ../src/guestfs.pod:1819 ../src/guestfs.pod:2108 ../src/guestfs.pod:2113 ../src/guestfs.pod:2119 ../src/guestfs.pod:2127 ../src/guestfs.pod:2645 ../src/guestfs.pod:2651 ../src/guestfs.pod:2656 ../src/guestfs.pod:2662 ../src/guestfs.pod:3062 ../src/guestfs.pod:3067 ../src/guestfs.pod:3071 ../src/guestfs.pod:3075 ../src/guestfs.pod:3079 ../src/guestfs.pod:3093 ../src/guestfs.pod:3098 ../src/guestfs.pod:3330 ../src/guestfs.pod:3334 ../src/guestfs.pod:3338 ../src/guestfs.pod:3342 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:721 ../tools/virt-win-reg.pl:727 ../tools/virt-win-reg.pl:733 +msgid "*" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:326 +msgid "0" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:328 +msgid "successful exit, all partitions are aligned E 64K for best performance" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:332 +msgid "1" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:334 +msgid "an error scanning the disk image or guest" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:338 +msgid "2" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:340 +msgid "" +"successful exit, some partitions have alignment E 64K which can result " +"in poor performance on high end network storage" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:345 +msgid "3" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:347 +msgid "" +"successful exit, some partitions have alignment E 4K which can result in " +"poor performance on most hypervisors" msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:203 ../cat/virt-filesystems.pod:377 ../cat/virt-ls.pod:495 ../df/virt-df.pod:227 ../edit/virt-edit.pod:354 ../erlang/examples/guestfs-erlang.pod:97 ../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:308 ../inspector/virt-inspector.pod:380 ../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:613 ../ruby/examples/guestfs-ruby.pod:36 ../src/guestfs.pod:3141 ../test-tool/libguestfs-test-tool.pod:100 ../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 +#: ../align/virt-alignment-scan.pod:352 ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:385 ../cat/virt-ls.pod:495 ../clone/virt-sysprep.pod:486 ../df/virt-df.pod:227 ../edit/virt-edit.pod:354 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:384 ../examples/guestfs-testing.pod:269 ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../fuse/guestmount.pod:317 ../inspector/virt-inspector.pod:395 ../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:325 ../resize/virt-resize.pod:688 ../ruby/examples/guestfs-ruby.pod:36 ../sparsify/virt-sparsify.pod:251 ../src/guestfs.pod:3270 ../test-tool/libguestfs-test-tool.pod:100 ../tools/virt-list-filesystems.pl:195 ../tools/virt-list-partitions.pl:265 ../tools/virt-make-fs.pl:557 ../tools/virt-tar.pl:296 ../tools/virt-win-reg.pl:757 msgid "SEE ALSO" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:205 +#: ../align/virt-alignment-scan.pod:354 msgid "" -"L, L, L, L, " -"L, L." +"L, L, L, L, " +"L, L." msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:212 ../cat/virt-filesystems.pod:388 ../cat/virt-ls.pod:507 ../df/virt-df.pod:235 ../edit/virt-edit.pod:368 ../rescue/virt-rescue.pod:292 ../resize/virt-resize.pod:634 ../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 +#: ../align/virt-alignment-scan.pod:361 ../cat/virt-cat.pod:252 ../cat/virt-filesystems.pod:396 ../cat/virt-ls.pod:507 ../clone/virt-sysprep.pod:501 ../df/virt-df.pod:235 ../edit/virt-edit.pod:368 ../rescue/virt-rescue.pod:334 ../resize/virt-resize.pod:711 ../sparsify/virt-sparsify.pod:264 ../tools/virt-list-filesystems.pl:208 ../tools/virt-list-partitions.pl:277 ../tools/virt-make-fs.pl:582 ../tools/virt-tar.pl:311 ../tools/virt-win-reg.pl:783 msgid "AUTHOR" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:214 ../cat/virt-filesystems.pod:390 ../cat/virt-ls.pod:509 ../df/virt-df.pod:237 ../edit/virt-edit.pod:370 ../inspector/virt-inspector.pod:395 ../rescue/virt-rescue.pod:294 ../resize/virt-resize.pod:636 ../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 +#: ../align/virt-alignment-scan.pod:363 ../cat/virt-cat.pod:254 ../cat/virt-filesystems.pod:398 ../cat/virt-ls.pod:509 ../clone/virt-sysprep.pod:503 ../df/virt-df.pod:237 ../edit/virt-edit.pod:370 ../inspector/virt-inspector.pod:410 ../rescue/virt-rescue.pod:336 ../resize/virt-resize.pod:713 ../sparsify/virt-sparsify.pod:266 ../tools/virt-list-filesystems.pl:210 ../tools/virt-list-partitions.pl:279 ../tools/virt-make-fs.pl:584 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:785 msgid "Richard W.M. Jones L" msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:216 ../cat/virt-filesystems.pod:392 ../cat/virt-ls.pod:511 ../df/virt-df.pod:239 ../edit/virt-edit.pod:372 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:401 ../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:323 ../inspector/virt-inspector.pod:403 ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56 ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:296 ../resize/virt-resize.pod:638 ../ruby/examples/guestfs-ruby.pod:52 ../src/guestfs.pod:3218 ../test-tool/libguestfs-test-tool.pod:110 ../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 +#: ../align/virt-alignment-scan.pod:365 ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:400 ../cat/virt-ls.pod:511 ../clone/virt-sysprep.pod:505 ../df/virt-df.pod:239 ../edit/virt-edit.pod:372 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:401 ../examples/guestfs-testing.pod:280 ../fish/guestfish.pod:1300 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../fuse/guestmount.pod:332 ../inspector/virt-inspector.pod:418 ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56 ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:338 ../resize/virt-resize.pod:715 ../ruby/examples/guestfs-ruby.pod:52 ../sparsify/virt-sparsify.pod:268 ../src/guestfs.pod:3353 ../test-tool/libguestfs-test-tool.pod:110 ../tools/virt-list-filesystems.pl:212 ../tools/virt-list-partitions.pl:281 ../tools/virt-make-fs.pl:586 ../tools/virt-tar.pl:315 ../tools/virt-win-reg.pl:787 msgid "COPYRIGHT" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:218 ../inspector/virt-inspector.pod:405 ../resize/virt-resize.pod:640 -msgid "Copyright (C) 2010-2011 Red Hat Inc." +#: ../align/virt-alignment-scan.pod:367 ../clone/virt-sysprep.pod:507 ../sparsify/virt-sparsify.pod:270 +msgid "Copyright (C) 2011 Red Hat Inc." msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:220 ../cat/virt-filesystems.pod:396 ../cat/virt-ls.pod:515 ../df/virt-df.pod:243 ../edit/virt-edit.pod:376 ../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:328 ../inspector/virt-inspector.pod:407 ../rescue/virt-rescue.pod:300 ../resize/virt-resize.pod:642 ../test-tool/libguestfs-test-tool.pod:115 ../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 +#: ../align/virt-alignment-scan.pod:369 ../cat/virt-cat.pod:260 ../cat/virt-filesystems.pod:404 ../cat/virt-ls.pod:515 ../clone/virt-sysprep.pod:509 ../df/virt-df.pod:243 ../edit/virt-edit.pod:376 ../fish/guestfish.pod:1305 ../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:337 ../inspector/virt-inspector.pod:422 ../rescue/virt-rescue.pod:342 ../resize/virt-resize.pod:719 ../sparsify/virt-sparsify.pod:272 ../test-tool/libguestfs-test-tool.pod:115 ../tools/virt-list-filesystems.pl:216 ../tools/virt-list-partitions.pl:285 ../tools/virt-make-fs.pl:590 ../tools/virt-tar.pl:319 ../tools/virt-win-reg.pl:791 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 " @@ -555,7 +787,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:225 ../cat/virt-filesystems.pod:401 ../cat/virt-ls.pod:520 ../df/virt-df.pod:248 ../edit/virt-edit.pod:381 ../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:333 ../inspector/virt-inspector.pod:412 ../rescue/virt-rescue.pod:305 ../resize/virt-resize.pod:647 ../test-tool/libguestfs-test-tool.pod:120 ../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 +#: ../align/virt-alignment-scan.pod:374 ../cat/virt-cat.pod:265 ../cat/virt-filesystems.pod:409 ../cat/virt-ls.pod:520 ../clone/virt-sysprep.pod:514 ../df/virt-df.pod:248 ../edit/virt-edit.pod:381 ../fish/guestfish.pod:1310 ../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:342 ../inspector/virt-inspector.pod:427 ../rescue/virt-rescue.pod:347 ../resize/virt-resize.pod:724 ../sparsify/virt-sparsify.pod:277 ../test-tool/libguestfs-test-tool.pod:120 ../tools/virt-list-filesystems.pl:221 ../tools/virt-list-partitions.pl:290 ../tools/virt-make-fs.pl:595 ../tools/virt-tar.pl:324 ../tools/virt-win-reg.pl:796 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 " @@ -564,11 +796,381 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:230 ../cat/virt-filesystems.pod:406 ../cat/virt-ls.pod:525 ../df/virt-df.pod:253 ../edit/virt-edit.pod:386 ../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:338 ../inspector/virt-inspector.pod:417 ../rescue/virt-rescue.pod:310 ../resize/virt-resize.pod:652 ../test-tool/libguestfs-test-tool.pod:125 ../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 +#: ../align/virt-alignment-scan.pod:379 ../cat/virt-cat.pod:270 ../cat/virt-filesystems.pod:414 ../cat/virt-ls.pod:525 ../clone/virt-sysprep.pod:519 ../df/virt-df.pod:253 ../edit/virt-edit.pod:386 ../fish/guestfish.pod:1315 ../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:347 ../inspector/virt-inspector.pod:432 ../rescue/virt-rescue.pod:352 ../resize/virt-resize.pod:729 ../sparsify/virt-sparsify.pod:282 ../test-tool/libguestfs-test-tool.pod:125 ../tools/virt-list-filesystems.pl:226 ../tools/virt-list-partitions.pl:295 ../tools/virt-make-fs.pl:600 ../tools/virt-tar.pl:329 ../tools/virt-win-reg.pl:801 msgid "" "You should have received a copy of the GNU General Public License along with " -"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " -"Ave, Cambridge, MA 02139, USA." +"this program; if not, write to the Free Software Foundation, Inc., 51 " +"Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:5 +msgid "virt-cat - Display files in a virtual machine" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:9 +#, no-wrap +msgid "" +" virt-cat [--options] -d domname file [file ...]\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:11 +#, no-wrap +msgid "" +" virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:13 ../edit/virt-edit.pod:15 ../inspector/virt-inspector.pod:13 +msgid "Old-style:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:15 +#, no-wrap +msgid "" +" virt-cat domname file\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:17 +#, no-wrap +msgid "" +" virt-cat disk.img file\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:21 +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 +#: ../cat/virt-cat.pod:24 +msgid "" +"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 +#: ../cat/virt-cat.pod:28 +msgid "" +"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: =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:1051 ../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 ../sparsify/virt-sparsify.pod:75 ../tools/virt-tar.pl:50 +msgid "EXAMPLES" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:34 +msgid "Display C file from inside the libvirt VM called C:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:37 +#, no-wrap +msgid "" +" virt-cat -d mydomain /etc/fstab\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:39 +msgid "List syslog messages from a VM disk image file:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:41 +#, no-wrap +msgid "" +" virt-cat -a disk.img /var/log/messages | tail\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:43 +msgid "Find out what DHCP IP address a VM acquired:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:45 +#, no-wrap +msgid "" +" virt-cat -d mydomain /var/log/messages | \\\n" +" grep 'dhclient: bound to' | tail\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:48 +msgid "Find out what packages were recently installed:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:50 +#, no-wrap +msgid "" +" virt-cat -d mydomain /var/log/yum.log | tail\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:52 +msgid "Find out who is logged on inside a virtual machine:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:54 +#, no-wrap +msgid "" +" 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 +#: ../cat/virt-cat.pod:59 +#, no-wrap +msgid "" +" virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp\n" +" last -f /tmp/wtmp\n" +"\n" +msgstr "" + +#. 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:124 +msgid "" +"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: =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:135 ../inspector/virt-inspector.pod:92 +msgid "B<--echo-keys>" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:100 +msgid "" +"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: verbatim +#: ../cat/virt-cat.pod:116 +#, no-wrap +msgid "" +" virt-cat --format=raw -a disk.img file\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:120 +#, no-wrap +msgid "" +" virt-cat --format=raw -a disk.img --format -a another.img file\n" +"\n" +msgstr "" + +#. 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:172 ../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:174 ../inspector/virt-inspector.pod:116 +msgid "" +"Read key or passphrase parameters from stdin. The default is to try to read " +"passphrases from the user by opening C." +msgstr "" + +#. type: =head1 +#: ../cat/virt-cat.pod:152 ../cat/virt-ls.pod:443 ../edit/virt-edit.pod:179 ../inspector/virt-inspector.pod:144 ../rescue/virt-rescue.pod:246 +msgid "OLD-STYLE COMMAND LINE ARGUMENTS" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:154 +msgid "Previous versions of virt-cat allowed you to write either:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:156 +#, no-wrap +msgid "" +" virt-cat disk.img [disk.img ...] file\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:158 ../cat/virt-ls.pod:449 ../edit/virt-edit.pod:185 ../inspector/virt-inspector.pod:150 ../rescue/virt-rescue.pod:252 +msgid "or" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:160 +#, no-wrap +msgid "" +" virt-cat guestname file\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:162 ../cat/virt-ls.pod:453 ../edit/virt-edit.pod:189 ../inspector/virt-inspector.pod:154 ../rescue/virt-rescue.pod:256 +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 +#: ../cat/virt-cat.pod:166 ../cat/virt-ls.pod:457 ../edit/virt-edit.pod:193 ../inspector/virt-inspector.pod:158 ../rescue/virt-rescue.pod:260 +msgid "For compatibility the old style is still supported." +msgstr "" + +#. type: =head1 +#: ../cat/virt-cat.pod:168 ../edit/virt-edit.pod:257 ../fish/guestfish.pod:858 +msgid "WINDOWS PATHS" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:170 +msgid "" +"C has a limited ability to understand Windows drive letters and " +"paths (eg. C)." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:173 ../edit/virt-edit.pod:262 +msgid "If and only if the guest is running Windows then:" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:179 ../edit/virt-edit.pod:268 +msgid "" +"Drive letter prefixes like C are resolved against the Windows Registry " +"to the correct filesystem." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:184 ../edit/virt-edit.pod:273 +msgid "" +"Any backslash (C<\\>) characters in the path are replaced with forward " +"slashes so that libguestfs can process it." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:189 +msgid "" +"The path is resolved case insensitively to locate the file that should be " +"displayed." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:194 ../edit/virt-edit.pod:283 +msgid "There are some known shortcomings:" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:200 ../edit/virt-edit.pod:289 +msgid "Some NTFS symbolic links may not be followed correctly." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:204 ../edit/virt-edit.pod:293 +msgid "NTFS junction points that cross filesystems are not followed." +msgstr "" + +#. type: =head1 +#: ../cat/virt-cat.pod:208 ../edit/virt-edit.pod:297 +msgid "USING GUESTFISH" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:210 +msgid "" +"L is a more powerful, lower level tool which you can use when " +"C doesn't work." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:213 +msgid "Using C is approximately equivalent to doing:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:215 +#, no-wrap +msgid "" +" guestfish --ro -i -d domname download file -\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:217 +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 +#: ../cat/virt-cat.pod:221 +msgid "" +"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: verbatim +#: ../cat/virt-cat.pod:226 +#, no-wrap +msgid "" +" guestfish --ro -a disk.img -m /dev/sda1 download file -\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:228 +msgid "" +"where C is the disk image, C is the filesystem within " +"the disk image, and C is the full path to the file." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:240 ../cat/virt-filesystems.pod:382 ../cat/virt-ls.pod:492 ../df/virt-df.pod:224 ../edit/virt-edit.pod:351 ../fuse/guestmount.pod:314 ../inspector/virt-inspector.pod:392 ../resize/virt-resize.pod:685 ../sparsify/virt-sparsify.pod:229 +msgid "This program returns 0 if successful, or non-zero if there was an error." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:245 +msgid "" +"L, L, L, L, " +"L, L." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:258 ../inspector/virt-inspector.pod:420 ../resize/virt-resize.pod:717 ../tools/virt-make-fs.pl:588 +msgid "Copyright (C) 2010-2011 Red Hat Inc." msgstr "" #. type: textblock @@ -1095,23 +1697,41 @@ msgstr "" #. type: =item #: ../cat/virt-filesystems.pod:319 -msgid "B" +msgid "B" msgstr "" #. type: textblock #: ../cat/virt-filesystems.pod:321 msgid "" +"The partition type byte, displayed as a two digit hexadecimal number. A " +"comprehensive list of partition types can be found here: " +"L" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:325 +msgid "This is only applicable for DOS (MBR) partitions." +msgstr "" + +#. type: =item +#: ../cat/virt-filesystems.pod:327 +msgid "B" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:329 +msgid "" "The size of the object in bytes. If the I<--human> option is used then the " "size is displayed in a human-readable form." msgstr "" #. type: =item -#: ../cat/virt-filesystems.pod:324 +#: ../cat/virt-filesystems.pod:332 msgid "B" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:326 +#: ../cat/virt-filesystems.pod:334 msgid "" "The parent column records the parent relationship between objects. For " "example, if the object is a partition, then this column contains the name of " @@ -1120,43 +1740,43 @@ msgid "" msgstr "" #. type: =item -#: ../cat/virt-filesystems.pod:331 +#: ../cat/virt-filesystems.pod:339 msgid "B" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:333 +#: ../cat/virt-filesystems.pod:341 msgid "" "If the object has a UUID (used for identifying and mounting filesystems and " "block devices) then this column contains the UUID as a string." msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:337 +#: ../cat/virt-filesystems.pod:345 msgid "The UUID is only displayed if the I<--uuid> option is given." msgstr "" #. type: =head1 -#: ../cat/virt-filesystems.pod:341 ../cat/virt-ls.pod:459 ../df/virt-df.pod:191 +#: ../cat/virt-filesystems.pod:349 ../cat/virt-ls.pod:459 ../df/virt-df.pod:191 msgid "NOTE ABOUT CSV FORMAT" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:343 ../cat/virt-ls.pod:461 ../df/virt-df.pod:193 +#: ../cat/virt-filesystems.pod:351 ../cat/virt-ls.pod:461 ../df/virt-df.pod:193 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 -#: ../cat/virt-filesystems.pod:346 ../cat/virt-ls.pod:464 ../df/virt-df.pod:196 +#: ../cat/virt-filesystems.pod:354 ../cat/virt-ls.pod:464 ../df/virt-df.pod:196 msgid "" "Myth: Just split fields at commas. Reality: This does I work " "reliably. This example has two columns:" msgstr "" #. type: verbatim -#: ../cat/virt-filesystems.pod:349 ../cat/virt-ls.pod:467 ../df/virt-df.pod:199 +#: ../cat/virt-filesystems.pod:357 ../cat/virt-ls.pod:467 ../df/virt-df.pod:199 #, no-wrap msgid "" " \"foo,bar\",baz\n" @@ -1164,14 +1784,14 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:351 ../cat/virt-ls.pod:469 ../df/virt-df.pod:201 +#: ../cat/virt-filesystems.pod:359 ../cat/virt-ls.pod:469 ../df/virt-df.pod:201 msgid "" "Myth: Read the file one line at a time. Reality: This does I work " "reliably. This example has one row:" msgstr "" #. type: verbatim -#: ../cat/virt-filesystems.pod:354 ../cat/virt-ls.pod:472 ../df/virt-df.pod:204 +#: ../cat/virt-filesystems.pod:362 ../cat/virt-ls.pod:472 ../df/virt-df.pod:204 #, no-wrap msgid "" " \"foo\n" @@ -1180,26 +1800,26 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:357 ../cat/virt-ls.pod:475 ../df/virt-df.pod:207 +#: ../cat/virt-filesystems.pod:365 ../cat/virt-ls.pod:475 ../df/virt-df.pod:207 msgid "" "For shell scripts, use C (L also " "packaged in major Linux distributions)." msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:360 ../cat/virt-ls.pod:478 ../df/virt-df.pod:210 +#: ../cat/virt-filesystems.pod:368 ../cat/virt-ls.pod:478 ../df/virt-df.pod:210 msgid "" "For other languages, use a CSV processing library (eg. C for Perl " "or Python's built-in csv library)." msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:363 ../cat/virt-ls.pod:481 ../df/virt-df.pod:213 +#: ../cat/virt-filesystems.pod:371 ../cat/virt-ls.pod:481 ../df/virt-df.pod:213 msgid "Most spreadsheets and databases can import CSV directly." msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:379 +#: ../cat/virt-filesystems.pod:387 msgid "" "L, L, L, L, " "L, L, L, " @@ -1207,7 +1827,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:394 ../tools/virt-make-fs.pl:570 ../tools/virt-win-reg.pl:778 +#: ../cat/virt-filesystems.pod:402 ../tools/virt-win-reg.pl:789 msgid "Copyright (C) 2010 Red Hat Inc." msgstr "" @@ -1234,7 +1854,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:13 ../df/virt-df.pod:15 ../rescue/virt-rescue.pod:13 +#: ../cat/virt-ls.pod:13 ../df/virt-df.pod:15 ../rescue/virt-rescue.pod:15 msgid "Old style:" msgstr "" @@ -1297,7 +1917,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:41 +#: ../cat/virt-ls.pod:41 ../examples/guestfs-testing.pod:160 msgid "List all setuid or setgid programs in a Linux virtual machine:" msgstr "" @@ -1310,7 +1930,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:45 +#: ../cat/virt-ls.pod:45 ../examples/guestfs-testing.pod:164 msgid "List all public-writable directories in a Linux virtual machine:" msgstr "" @@ -1323,7 +1943,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:49 +#: ../cat/virt-ls.pod:49 ../examples/guestfs-testing.pod:168 msgid "List all Unix domain sockets in a Linux virtual machine:" msgstr "" @@ -1336,7 +1956,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:53 +#: ../cat/virt-ls.pod:53 ../examples/guestfs-testing.pod:172 msgid "List all regular files with filenames ending in '.png':" msgstr "" @@ -1362,7 +1982,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:61 +#: ../cat/virt-ls.pod:61 ../examples/guestfs-testing.pod:180 msgid "Find everything modified in the last 7 days:" msgstr "" @@ -1375,7 +1995,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:65 +#: ../cat/virt-ls.pod:65 ../examples/guestfs-testing.pod:184 msgid "Find regular files modified in the last 24 hours:" msgstr "" @@ -1610,7 +2230,7 @@ msgid "" msgstr "" #. type: =head2 -#: ../cat/virt-ls.pod:181 ../fish/guestfish-actions.pod:4214 +#: ../cat/virt-ls.pod:181 ../fish/guestfish-actions.pod:4477 msgid "path" msgstr "" @@ -1958,11 +2578,814 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:513 ../df/virt-df.pod:241 ../edit/virt-edit.pod:374 ../rescue/virt-rescue.pod:298 +#: ../cat/virt-ls.pod:513 ../df/virt-df.pod:241 ../edit/virt-edit.pod:374 ../rescue/virt-rescue.pod:340 msgid "Copyright (C) 2009-2011 Red Hat Inc." msgstr "" #. type: textblock +#: ../clone/virt-sysprep.pod:5 +msgid "virt-sysprep - Reset or unconfigure a virtual machine so clones can be made" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:9 +#, no-wrap +msgid "" +" virt-sysprep [--options] -d domname\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:11 +#, no-wrap +msgid "" +" virt-sysprep [--options] -a disk.img [-a disk.img ...]\n" +"\n" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:15 +msgid "" +"Virt-sysprep \"resets\" or \"unconfigures\" a virtual machine so that clones " +"can be made from it. Steps in this process include removing SSH host keys, " +"removing persistent network MAC configuration, and removing user accounts. " +"Each step can be enabled or disabled as required." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:21 +msgid "" +"Virt-sysprep is a simple shell script, allowing easy inspection or " +"customization by the system administrator." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:24 +msgid "" +"Virt-sysprep modifies the guest or disk image I. The guest must " +"be shut down. If you want to preserve the existing contents of the guest, " +"you I. See L " +"below." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:29 +msgid "" +"You do I need to run virt-sysprep as root. In fact we'd generally " +"recommend that you don't. The time you might want to run it as root is when " +"you need root in order to access the disk image, but even in this case it " +"would be better to change the permissions on the disk image to be writable " +"as the non-root user running virt-sysprep." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:35 +msgid "" +"\"Sysprep\" stands for \"system preparation\" tool. The name comes from the " +"Microsoft program C which is used to unconfigure Windows " +"machines in preparation for cloning them. Having said that, virt-sysprep " +"does I currently work on Microsoft Windows guests. We plan to support " +"Windows sysprepping in a future version, and we already have code to do it." +msgstr "" + +#. type: =item +#: ../clone/virt-sysprep.pod:76 +msgid "B<--enable=...>" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:78 +msgid "" +"Choose which sysprep operations to perform. Give a comma-separated list of " +"operations, for example:" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:81 +#, no-wrap +msgid "" +" --enable=ssh-hostkeys,udev-persistent-net\n" +"\n" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:83 +msgid "would enable ONLY C and C operations." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:85 +msgid "" +"If the I<--enable> option is not given, then we default to trying all " +"possible sysprep operations. But some sysprep operations are skipped for " +"some guest types." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:89 +msgid "" +"Use I<--list-operations> to list operations supported by a particular " +"version of virt-sysprep." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:92 +msgid "See L below for a list and an explanation of each operation." +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:106 +#, no-wrap +msgid "" +" virt-sysprep --format=raw -a disk.img\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:110 +#, no-wrap +msgid "" +" virt-sysprep --format=raw -a disk.img --format -a another.img\n" +"\n" +msgstr "" + +#. type: =item +#: ../clone/virt-sysprep.pod:119 +msgid "B<--hostname> newhostname" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:121 +msgid "" +"Change the hostname. See the L operation below. If not given, " +"defaults to C." +msgstr "" + +#. type: =item +#: ../clone/virt-sysprep.pod:124 +msgid "B<--list-operations>" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:126 +msgid "List the operations supported by the virt-sysprep program." +msgstr "" + +#. type: =item +#: ../clone/virt-sysprep.pod:128 +msgid "B<--selinux-relabel>" +msgstr "" + +#. type: =item +#: ../clone/virt-sysprep.pod:130 +msgid "B<--no-selinux-relabel>" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:132 +msgid "" +"I<--selinux-relabel> forces SELinux relabelling next time the guest boots. " +"I<--no-selinux-relabel> disables relabelling." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:135 +msgid "" +"The default is to try to detect if SELinux relabelling is required. See " +"L below for more details." +msgstr "" + +#. type: =head1 +#: ../clone/virt-sysprep.pod:156 +msgid "OPERATIONS" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:158 +msgid "" +"If the I<--enable> option is I given, then I, although some are skipped depending on the type of guest." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:162 +msgid "" +"Operations can be individually enabled using the I<--enable> option. Use a " +"comma-separated list, for example:" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:165 +#, no-wrap +msgid "" +" virt-sysprep --enable=ssh-hostkeys,udev-persistent-net [etc..]\n" +"\n" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:167 +msgid "" +"To list the operations supported by the current version of virt-sysprep, use " +"I<--list-operations>." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:170 +msgid "" +"Future versions of virt-sysprep may add more operations. If you are using " +"virt-sysprep and want predictable behaviour, specify only the operations " +"that you want to have enabled." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:174 +msgid "cron-spool" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:176 +msgid "Remove user at-jobs and cron-jobs." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:178 +msgid "dhcp-client-state" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:180 +msgid "Remove DHCP client leases." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:182 +msgid "dhcp-server-state" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:184 +msgid "Remove DHCP server leases." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:186 +msgid "hostname" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:188 +msgid "" +"Changes the hostname of the guest to the value given in the I<--hostname> " +"parameter." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:191 +msgid "" +"If the I<--hostname> parameter is not given, then the hostname is changed to " +"C." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:194 +msgid "logfiles" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:196 +msgid "Remove many log files." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:198 +msgid "mail-spool" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:200 +msgid "Remove email from the local mail spool directory." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:202 +msgid "net-hwaddr" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:204 +msgid "" +"Remove HWADDR (hard-coded MAC address) configuration. For Fedora and Red " +"Hat Enterprise Linux, this is removed from C files." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:207 +msgid "random-seed" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:209 +msgid "" +"Write some random bytes from the host into the random seed file of the " +"guest." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:212 +msgid "See L below." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:214 +msgid "rhn-systemid" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:216 +msgid "Remove the RHN system ID." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:218 +msgid "smolt-uuid" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:220 +msgid "Remove the Smolt hardware UUID." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:222 +msgid "ssh-hostkeys" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:224 +msgid "Remove the SSH host keys in the guest." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:226 +msgid "" +"The SSH host keys are regenerated (differently) next time the guest is " +"booted." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:229 +msgid "" +"If, after cloning, the guest gets the same IP address, ssh will give you a " +"stark warning about the host key changing:" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:232 +#, no-wrap +msgid "" +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n" +" @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\n" +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n" +" IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:237 +msgid "udev-persistent-net" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:239 +msgid "" +"Remove udev persistent net rules which map the guest's existing MAC address " +"to a fixed ethernet device (eg. eth0)." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:242 +msgid "" +"After a guest is cloned, the MAC address usually changes. Since the old MAC " +"address occupies the old name (eg. eth0), this means the fresh MAC address " +"is assigned to a new name (eg. eth1) and this is usually undesirable. " +"Erasing the udev persistent net rules avoids this." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:247 +msgid "utmp" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:249 +msgid "Remove the utmp file." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:251 +msgid "" +"This records who is currently logged in on a machine. In modern Linux " +"distros it is stored in a ramdisk and hence not part of the virtual " +"machine's disk, but it was stored on disk in older distros." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:255 +msgid "yum-uuid" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:257 +msgid "Remove the yum UUID." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:259 +msgid "" +"Yum creates a fresh UUID the next time it runs when it notices that the " +"original UUID has been erased." +msgstr "" + +#. type: =head1 +#: ../clone/virt-sysprep.pod:262 +msgid "COPYING AND CLONING" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:264 +msgid "" +"Virt-sysprep can be used as part of a process of cloning guests, or to " +"prepare a template from which guests can be cloned. There are many " +"different ways to achieve this using the virt tools, and this section is " +"just an introduction." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:269 +msgid "A virtual machine (when switched off) consists of two parts:" +msgstr "" + +#. type: =item +#: ../clone/virt-sysprep.pod:273 +msgid "I" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:275 +msgid "" +"The configuration or description of the guest. eg. The libvirt XML (see " +"C), the running configuration of the guest, or another " +"external format like OVF." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:279 +msgid "Some configuration items that might need to be changed:" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:285 +msgid "name" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:289 ../clone/virt-sysprep.pod:316 +msgid "UUID" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:293 +msgid "path to block device(s)" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:297 +msgid "network card MAC address" +msgstr "" + +#. type: =item +#: ../clone/virt-sysprep.pod:301 +msgid "I" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:303 +msgid "" +"One or more hard disk images, themselves containing files, directories, " +"applications, kernels, configuration, etc." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:306 +msgid "Some things inside the block devices that might need to be changed:" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:312 +msgid "hostname and other net configuration" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:320 +msgid "SSH host keys" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:324 +msgid "Windows unique security ID (SID)" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:328 +msgid "Puppet registration" +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:334 +msgid "COPYING THE BLOCK DEVICE" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:336 +msgid "" +"Starting with an original guest, you probably wish to copy the guest block " +"device and its configuration to make a template. Then once you are happy " +"with the template, you will want to make many clones from it." +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:341 +#, no-wrap +msgid "" +" virt-sysprep\n" +" |\n" +" v\n" +" original guest --------> template ---------->\n" +" \\------> cloned\n" +" \\-----> guests\n" +" \\---->\n" +"\n" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:349 +msgid "" +"You can, of course, just copy the block device on the host using L or " +"L." +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:352 +#, no-wrap +msgid "" +" dd dd\n" +" original guest --------> template ---------->\n" +" \\------> cloned\n" +" \\-----> guests\n" +" \\---->\n" +"\n" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:358 +msgid "There are some smarter (and faster) ways too:" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:364 +#, no-wrap +msgid "" +" snapshot\n" +" template ---------->\n" +" \\------> cloned\n" +" \\-----> guests\n" +" \\---->\n" +"\n" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:370 +msgid "" +"Use the block device as a backing file and create a snapshot on top for each " +"guest. The advantage is that you don't need to copy the block device (very " +"fast) and only changes are stored (less storage required)." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:375 +msgid "" +"Note that writing to the backing file once you have created guests on top of " +"it is not possible: you will corrupt the guests." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:378 +msgid "" +"Tools that can do this include: L (with the I option), L (I<--snapshot> option). Some " +"filesystems (such as btrfs) and most Network Attached Storage devices can " +"also create cheap snapshots from files or LUNs." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:386 +msgid "Get your NAS to snapshot and/or duplicate the LUN." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:390 +msgid "Prepare your template using L. See below." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:394 +msgid "VIRT-CLONE" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:396 +msgid "" +"A separate tool, L, can be used to duplicate the block device " +"and/or modify the external libvirt configuration of a guest. It will reset " +"the name, UUID and MAC address of the guest in the libvirt XML." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:401 +msgid "" +"L does not use libguestfs and cannot look inside the disk " +"image. This was the original motivation to write virt-sysprep." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:404 +msgid "SPARSIFY" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:406 +#, no-wrap +msgid "" +" virt-sparsify\n" +" original guest --------> template\n" +"\n" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:409 +msgid "" +"L can be used to make the cloning template smaller, making " +"it easier to compress and/or faster to copy." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:412 +msgid "" +"Notice that since virt-sparsify also copies the image, you can use it to " +"make the initial copy (instead of C
)." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:415 +msgid "RESIZE" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:417 +#, no-wrap +msgid "" +" virt-resize\n" +" template ---------->\n" +" \\------> cloned\n" +" \\-----> guests\n" +" \\---->\n" +"\n" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:423 +msgid "" +"If you want to give people cloned guests, but let them pick the size of the " +"guest themselves (eg. depending on how much they are prepared to pay for " +"disk space), then instead of copying the template, you can run " +"L. Virt-resize performs a copy and resize, and thus is " +"ideal for cloning guests from a template." +msgstr "" + +#. type: =head1 +#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1164 +msgid "SECURITY" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:431 +msgid "" +"Although virt-sysprep removes some sensitive information from the guest, it " +"does not pretend to remove all of it. You should examine the L " +"above, and the implementation of the operations in the shell script. You " +"should also examine the guest afterwards." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:436 +msgid "" +"Sensitive files are simply removed. The data they contained may still exist " +"on the disk, easily recovered with a hex editor or undelete tool. Use " +"L as one way to remove this content. See also the " +"L command to get rid of deleted content in directory entries and " +"inodes." +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:442 +msgid "RANDOM SEED" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:444 +msgid "I<(This section applies to Linux guests only)>" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:446 +msgid "" +"The virt-sysprep C operation writes a few bytes of randomness " +"from the host into the guest's random seed file." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:449 +msgid "" +"If this is just done once and the guest is cloned from the same template, " +"then each guest will start with the same entropy, and things like SSH host " +"keys and TCP sequence numbers may be predictable." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:453 +msgid "" +"Therefore you should arrange to add more randomness I cloning from a " +"template too, which can be done by just enabling the C " +"operation:" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:457 +#, no-wrap +msgid "" +" cp template.img newguest.img\n" +" virt-sysprep --enable=random-seed -a newguest.img\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../clone/virt-sysprep.pod:460 +msgid "SELINUX RELABELLING" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:462 +msgid "I<(This section applies to Linux guests using SELinux only)>" +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:464 +msgid "" +"If any new files are created by virt-sysprep, then virt-sysprep touches " +"C so that these will be correctly labelled by SELinux the " +"next time the guest is booted. This process interrupts boot and can take " +"some time." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:469 +msgid "" +"You can force relabelling for all guests by supplying the " +"I<--selinux-relabel> option." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:472 +msgid "" +"You can disable relabelling entirely by supplying the " +"I<--no-selinux-relabel> option." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:484 +msgid "This program returns 0 on success, or 1 if there was an error." +msgstr "" + +#. type: textblock +#: ../clone/virt-sysprep.pod:488 +msgid "" +"L, L, L, L, " +"L, L, L, L, " +"L, L, L, " +"L." +msgstr "" + +#. type: textblock #: ../df/virt-df.pod:5 msgid "virt-df - Display free space on virtual filesystems" msgstr "" @@ -2102,7 +3525,7 @@ msgid "You are not allowed to use I<-h> and I<--csv> at the same time." msgstr "" #. type: =item -#: ../df/virt-df.pod:133 ../fish/guestfish.pod:258 ../fuse/guestmount.pod:155 +#: ../df/virt-df.pod:133 ../fish/guestfish.pod:258 ../fuse/guestmount.pod:164 msgid "B<-i>" msgstr "" @@ -2133,11 +3556,6 @@ msgstr "" msgid "You might use this option in the following circumstances:" msgstr "" -#. type: =item -#: ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266 ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276 ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291 ../examples/guestfs-recipes.pod:98 ../examples/guestfs-recipes.pod:102 ../examples/guestfs-recipes.pod:106 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:137 ../examples/guestfs-recipes.pod:227 ../examples/guestfs-recipes.pod:231 ../examples/guestfs-recipes.pod:235 ../examples/guestfs-recipes.pod:239 ../examples/guestfs-recipes.pod:243 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:390 ../fish/guestfish-actions.pod:398 ../fish/guestfish-actions.pod:405 ../fish/guestfish-actions.pod:412 ../fish/guestfish-actions.pod:1104 ../fish/guestfish-actions.pod:1108 ../fish/guestfish-actions.pod:1112 ../fish/guestfish-actions.pod:1116 ../fish/guestfish-actions.pod:1124 ../fish/guestfish-actions.pod:1128 ../fish/guestfish-actions.pod:1132 ../fish/guestfish-actions.pod:1142 ../fish/guestfish-actions.pod:1146 ../fish/guestfish-actions.pod:1150 ../fish/guestfish-actions.pod:1240 ../fish/guestfish-actions.pod:1244 ../fish/guestfish-actions.pod:1249 ../fish/guestfish-actions.pod:1254 ../fish/guestfish-actions.pod:1296 ../fish/guestfish-actions.pod:1300 ../fish/guestfish-actions.pod:1305 ../fish/guestfish-actions.pod:1555 ../fish/guestfish-actions.pod:1562 ../fish/guestfish-actions.pod:1569 ../fish/guestfish-actions.pod:1964 ../fish/guestfish-actions.pod:1970 ../fish/guestfish-actions.pod:1978 ../fish/guestfish-actions.pod:1985 ../fish/guestfish-actions.pod:1992 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:393 ../inspector/virt-inspector.pod:397 ../resize/virt-resize.pod:282 ../resize/virt-resize.pod:286 ../resize/virt-resize.pod:295 ../resize/virt-resize.pod:301 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:588 ../src/guestfs-actions.pod:596 ../src/guestfs-actions.pod:603 ../src/guestfs-actions.pod:610 ../src/guestfs-actions.pod:1667 ../src/guestfs-actions.pod:1671 ../src/guestfs-actions.pod:1675 ../src/guestfs-actions.pod:1679 ../src/guestfs-actions.pod:1687 ../src/guestfs-actions.pod:1691 ../src/guestfs-actions.pod:1695 ../src/guestfs-actions.pod:1705 ../src/guestfs-actions.pod:1709 ../src/guestfs-actions.pod:1713 ../src/guestfs-actions.pod:1851 ../src/guestfs-actions.pod:1855 ../src/guestfs-actions.pod:1860 ../src/guestfs-actions.pod:1865 ../src/guestfs-actions.pod:1926 ../src/guestfs-actions.pod:1930 ../src/guestfs-actions.pod:1935 ../src/guestfs-actions.pod:2339 ../src/guestfs-actions.pod:2346 ../src/guestfs-actions.pod:2353 ../src/guestfs-actions.pod:2890 ../src/guestfs-actions.pod:2896 ../src/guestfs-actions.pod:2904 ../src/guestfs-actions.pod:2911 ../src/guestfs-actions.pod:2918 ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1068 ../src/guestfs.pod:1072 ../src/guestfs.pod:1076 ../src/guestfs.pod:1081 ../src/guestfs.pod:1089 ../src/guestfs.pod:1108 ../src/guestfs.pod:1116 ../src/guestfs.pod:1138 ../src/guestfs.pod:1142 ../src/guestfs.pod:1146 ../src/guestfs.pod:1150 ../src/guestfs.pod:1154 ../src/guestfs.pod:1158 ../src/guestfs.pod:1648 ../src/guestfs.pod:1653 ../src/guestfs.pod:1657 ../src/guestfs.pod:1759 ../src/guestfs.pod:1764 ../src/guestfs.pod:1768 ../src/guestfs.pod:1778 ../src/guestfs.pod:2067 ../src/guestfs.pod:2072 ../src/guestfs.pod:2078 ../src/guestfs.pod:2086 ../src/guestfs.pod:2533 ../src/guestfs.pod:2539 ../src/guestfs.pod:2544 ../src/guestfs.pod:2550 ../src/guestfs.pod:2933 ../src/guestfs.pod:2938 ../src/guestfs.pod:2942 ../src/guestfs.pod:2946 ../src/guestfs.pod:2950 ../src/guestfs.pod:2964 ../src/guestfs.pod:2969 ../src/guestfs.pod:3195 ../src/guestfs.pod:3199 ../src/guestfs.pod:3203 ../src/guestfs.pod:3207 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:710 ../tools/virt-win-reg.pl:716 ../tools/virt-win-reg.pl:722 -msgid "*" -msgstr "" - #. type: textblock #: ../df/virt-df.pod:150 msgid "" @@ -2223,7 +3641,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../edit/virt-edit.pod:21 ../fish/guestfish.pod:23 ../fish/virt-copy-in.pod:13 ../fish/virt-tar-in.pod:15 ../fuse/guestmount.pod:15 ../rescue/virt-rescue.pod:19 ../tools/virt-tar.pl:64 ../tools/virt-win-reg.pl:51 +#: ../edit/virt-edit.pod:21 ../fish/guestfish.pod:23 ../fish/virt-copy-in.pod:13 ../fish/virt-tar-in.pod:15 ../fuse/guestmount.pod:15 ../rescue/virt-rescue.pod:21 ../tools/virt-tar.pl:64 ../tools/virt-win-reg.pl:51 msgid "WARNING" msgstr "" @@ -2356,12 +3774,12 @@ msgid "By default, no backup file is made." msgstr "" #. type: =item -#: ../edit/virt-edit.pod:95 ../fish/guestfish.pod:181 ../fuse/guestmount.pod:96 ../inspector/virt-inspector.pod:74 ../tools/virt-list-filesystems.pl:77 ../tools/virt-list-partitions.pl:78 ../tools/virt-tar.pl:127 ../tools/virt-win-reg.pl:128 +#: ../edit/virt-edit.pod:95 ../fish/guestfish.pod:181 ../fuse/guestmount.pod:105 ../inspector/virt-inspector.pod:74 ../tools/virt-list-filesystems.pl:77 ../tools/virt-list-partitions.pl:78 ../tools/virt-tar.pl:127 ../tools/virt-win-reg.pl:128 msgid "B<-c URI>" msgstr "" #. type: =item -#: ../edit/virt-edit.pod:97 ../fish/guestfish.pod:183 ../fuse/guestmount.pod:98 ../inspector/virt-inspector.pod:76 ../tools/virt-list-filesystems.pl:79 ../tools/virt-list-partitions.pl:80 ../tools/virt-tar.pl:129 ../tools/virt-win-reg.pl:130 +#: ../edit/virt-edit.pod:97 ../fish/guestfish.pod:183 ../fuse/guestmount.pod:107 ../inspector/virt-inspector.pod:76 ../tools/virt-list-filesystems.pl:79 ../tools/virt-list-partitions.pl:80 ../tools/virt-tar.pl:129 ../tools/virt-win-reg.pl:130 msgid "B<--connect URI>" msgstr "" @@ -2585,11 +4003,6 @@ msgid "" "\n" msgstr "" -#. type: =head1 -#: ../edit/virt-edit.pod:257 ../fish/guestfish.pod:858 -msgid "WINDOWS PATHS" -msgstr "" - #. type: textblock #: ../edit/virt-edit.pod:259 msgid "" @@ -2598,25 +4011,6 @@ msgid "" msgstr "" #. type: textblock -#: ../edit/virt-edit.pod:262 -msgid "If and only if the guest is running Windows then:" -msgstr "" - -#. type: textblock -#: ../edit/virt-edit.pod:268 -msgid "" -"Drive letter prefixes like C are resolved against the Windows Registry " -"to the correct filesystem." -msgstr "" - -#. type: textblock -#: ../edit/virt-edit.pod:273 -msgid "" -"Any backslash (C<\\>) characters in the path are replaced with forward " -"slashes so that libguestfs can process it." -msgstr "" - -#. type: textblock #: ../edit/virt-edit.pod:278 msgid "" "The path is resolved case insensitively to locate the file that should be " @@ -2624,21 +4018,6 @@ msgid "" msgstr "" #. type: textblock -#: ../edit/virt-edit.pod:283 -msgid "There are some known shortcomings:" -msgstr "" - -#. type: textblock -#: ../edit/virt-edit.pod:289 -msgid "Some NTFS symbolic links may not be followed correctly." -msgstr "" - -#. type: textblock -#: ../edit/virt-edit.pod:293 -msgid "NTFS junction points that cross filesystems are not followed." -msgstr "" - -#. type: textblock #: ../edit/virt-edit.pod:299 msgid "" "L is a more powerful, lower level tool which you can use when " @@ -2721,7 +4100,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1086 ../rescue/virt-rescue.pod:257 ../src/guestfs.pod:3080 ../test-tool/libguestfs-test-tool.pod:95 +#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119 ../rescue/virt-rescue.pod:298 ../sparsify/virt-sparsify.pod:232 ../src/guestfs.pod:3209 ../test-tool/libguestfs-test-tool.pod:95 msgid "ENVIRONMENT VARIABLES" msgstr "" @@ -2964,17 +4343,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:397 ../fish/guestfish.pod:1260 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:319 ../inspector/virt-inspector.pod:389 ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:52 ../python/examples/guestfs-python.pod:54 ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3214 ../test-tool/libguestfs-test-tool.pod:106 +#: ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:397 ../examples/guestfs-testing.pod:276 ../fish/guestfish.pod:1296 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:404 ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:52 ../python/examples/guestfs-python.pod:54 ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3349 ../test-tool/libguestfs-test-tool.pod:106 msgid "AUTHORS" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:399 ../fish/guestfish.pod:1262 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:321 ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54 ../python/examples/guestfs-python.pod:56 ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3216 ../test-tool/libguestfs-test-tool.pod:108 +#: ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:399 ../examples/guestfs-testing.pod:278 ../fish/guestfish.pod:1298 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54 ../python/examples/guestfs-python.pod:56 ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3351 ../test-tool/libguestfs-test-tool.pod:108 msgid "Richard W.M. Jones (C)" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:116 ../java/examples/guestfs-java.pod:64 ../perl/examples/guestfs-perl.pod:58 +#: ../erlang/examples/guestfs-erlang.pod:116 ../examples/guestfs-testing.pod:282 ../java/examples/guestfs-java.pod:64 ../perl/examples/guestfs-perl.pod:58 msgid "Copyright (C) 2011 Red Hat Inc. L" msgstr "" @@ -2986,7 +4365,7 @@ msgid "" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:121 ../examples/guestfs-examples.pod:56 ../examples/guestfs-recipes.pod:408 ../java/examples/guestfs-java.pod:69 ../ocaml/examples/guestfs-ocaml.pod:102 ../perl/examples/guestfs-perl.pod:63 ../python/examples/guestfs-python.pod:65 ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3223 +#: ../erlang/examples/guestfs-erlang.pod:121 ../examples/guestfs-examples.pod:56 ../examples/guestfs-recipes.pod:408 ../examples/guestfs-testing.pod:284 ../java/examples/guestfs-java.pod:69 ../ocaml/examples/guestfs-ocaml.pod:102 ../perl/examples/guestfs-perl.pod:63 ../python/examples/guestfs-python.pod:65 ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3358 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 " @@ -2995,7 +4374,7 @@ msgid "" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:126 ../examples/guestfs-examples.pod:61 ../examples/guestfs-recipes.pod:413 ../java/examples/guestfs-java.pod:74 ../ocaml/examples/guestfs-ocaml.pod:107 ../perl/examples/guestfs-perl.pod:68 ../python/examples/guestfs-python.pod:70 ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3228 +#: ../erlang/examples/guestfs-erlang.pod:126 ../examples/guestfs-examples.pod:61 ../examples/guestfs-recipes.pod:413 ../examples/guestfs-testing.pod:289 ../java/examples/guestfs-java.pod:74 ../ocaml/examples/guestfs-ocaml.pod:107 ../perl/examples/guestfs-perl.pod:68 ../python/examples/guestfs-python.pod:70 ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3363 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 " @@ -3004,7 +4383,7 @@ msgid "" msgstr "" #. type: textblock -#: ../erlang/examples/guestfs-erlang.pod:131 ../examples/guestfs-examples.pod:66 ../examples/guestfs-recipes.pod:418 ../java/examples/guestfs-java.pod:79 ../ocaml/examples/guestfs-ocaml.pod:112 ../perl/examples/guestfs-perl.pod:73 ../python/examples/guestfs-python.pod:75 ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3233 +#: ../erlang/examples/guestfs-erlang.pod:131 ../examples/guestfs-examples.pod:66 ../examples/guestfs-recipes.pod:418 ../examples/guestfs-testing.pod:294 ../java/examples/guestfs-java.pod:79 ../ocaml/examples/guestfs-ocaml.pod:112 ../perl/examples/guestfs-perl.pod:73 ../python/examples/guestfs-python.pod:75 ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3368 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, " @@ -3331,7 +4710,7 @@ msgid "To export C from a VM into a local directory use L" msgstr "" +#. type: textblock +#: ../examples/guestfs-testing.pod:5 +msgid "guestfs-testing - manual testing of libguestfs, you can help!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:9 +msgid "" +"This page has manual tests you can try on libguestfs. Everyone has a " +"slightly different combination of platform, hardware and guests, so this " +"testing is very valuable. Thanks for helping out!" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:13 +msgid "These tests require libguestfs E 1.14." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:15 +msgid "" +"Tests marked with a B<*> (asterisk) can B if you're not " +"careful. The others are safe and won't modify anything." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:18 +msgid "You can report bugs you find through this link:" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:20 +msgid "https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:22 +msgid "" +"or post on the mailing list (registration is B required, but if you're " +"not registered then you'll have to wait for a moderator to manually approve " +"your message):" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:26 +msgid "https://www.redhat.com/mailman/listinfo/libguestfs" +msgstr "" + +#. type: =head1 +#: ../examples/guestfs-testing.pod:28 +msgid "TESTS" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:30 +msgid "Check KVM acceleration is being used." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:32 +msgid "" +"If your host has hardware virt acceleration, then with a hot cache " +"libguestfs should be able to start up in a few seconds. Run the following " +"command a few times:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:36 +#, no-wrap +msgid "" +" time guestfish -a /dev/null run\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:38 +msgid "" +"After a few runs, the time should settle down to a few seconds (under 5 " +"seconds on fast 64 bit hardware)." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:41 +msgid "How to check for hardware virt:" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:43 +msgid "http://virt-tools.org/learning/check-hardware-virt/" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:45 +msgid "If the command above does not work at all, use L." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:48 +msgid "Run virt-alignment-scan on all your guests." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:50 +msgid "Run L on guests or disk images:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:52 +#, no-wrap +msgid "" +" virt-alignment-scan -a /path/to/disk.img\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:139 ../examples/guestfs-testing.pod:152 ../examples/guestfs-testing.pod:212 ../src/guestfs.pod:2792 +msgid "or:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:56 +#, no-wrap +msgid "" +" virt-alignment-scan -d Guest\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:58 +msgid "Does the alignment report match how the guest partitions are aligned?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:60 +msgid "Run virt-cat on some files in guests." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:62 +msgid "L can display files from guests. For a Linux guest, try:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:64 +#, no-wrap +msgid "" +" virt-cat LinuxGuest /etc/passwd\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:66 +msgid "A recent feature is support for Windows paths, for example:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:68 +#, no-wrap +msgid "" +" virt-cat WindowsGuest 'c:\\windows\\win.ini'\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:70 +msgid "" +"An even better test is if you have a Windows guest with multiple drives. Do " +"C, C etc paths work correctly?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:73 +msgid "B<*> Copy some files into a B guest." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:75 +msgid "" +"L can recursively copy files and directories into a guest " +"or disk image." +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:78 +#, no-wrap +msgid "" +" virt-copy-in -d Guest /etc /tmp\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:80 +msgid "" +"This should copy local directory C to C in the guest " +"(recursively). If you boot the guest, can you see all of the copied files " +"and directories?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:84 +msgid "Shut the guest down and try copying multiple files and directories:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:86 +#, no-wrap +msgid "" +" virt-copy-in -d Guest /home /etc/issue /tmp\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:88 +msgid "Copy some files out of a guest." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:90 +msgid "" +"L can recursively copy files and directories out of a " +"guest or disk image." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:95 +msgid "Note the final space and period in the command is not a typo." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:97 +msgid "This should copy C from the guest into the current directory." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:99 +msgid "Run virt-df." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:101 +msgid "L lists disk space. Run:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:103 +#, no-wrap +msgid "" +" virt-df\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:105 +msgid "Do the results match what's reported inside the guests?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:107 +msgid "Try importing virt-df CSV output into a spreadsheet or database." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:109 ../src/guestfs.pod:3083 +msgid "Run:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:111 +#, no-wrap +msgid "" +" virt-df --csv > /tmp/report.csv\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:113 +msgid "" +"Now try to load this into your favorite spreadsheet or database. Are the " +"results reproduced faithfully in the spreadsheet/database?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:116 +msgid "" +"http://www.postgresql.org/docs/8.1/static/sql-copy.html " +"http://dev.mysql.com/doc/refman/5.1/en/load-data.html" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:119 +msgid "B<*> Edit a file in a B guest." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:121 +msgid "" +"L can edit files in guests. Try this command on a RHEL or " +"Fedora guest:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:124 +#, no-wrap +msgid "" +" virt-edit LinuxGuest /etc/sysconfig/network\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:126 +msgid "On other Linux guests try editing other files such as:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:128 +#, no-wrap +msgid "" +" virt-edit LinuxGuest /etc/motd\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:130 +msgid "Are the changes seen inside the guest when it is booted?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:132 +msgid "Display the filesystems / partitions / LVs in a guest." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:134 +msgid "" +"L can be used to display filesystems in a guest. Try " +"this command on any disk image or guest:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:137 +#, no-wrap +msgid "" +" virt-filesystems -a /path/to/disk.img --all --long -h\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:141 +#, no-wrap +msgid "" +" virt-filesystems -d Guest --all --long -h\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:143 +msgid "Do the results match what is seen in the guest?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:145 +msgid "Run virt-inspector on all your guests." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:147 +msgid "" +"Use L to get a report on all of your guests or disk " +"images:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:150 +#, no-wrap +msgid "" +" virt-inspector -a /path/to/disk.img | less\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:154 +#, no-wrap +msgid "" +" virt-inspector -d Guest | less\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:156 +msgid "Do the results match what is actually in the guest?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:158 +msgid "Try the auditing features of virt-ls on all your guests." +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:162 +#, no-wrap +msgid "" +" virt-ls -lR -d Guest / | grep '^- [42]'\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:166 +#, no-wrap +msgid "" +" virt-ls -lR -d Guest / | grep '^d ...7'\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:170 +#, no-wrap +msgid "" +" virt-ls -lR -d Guest / | grep '^s'\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:174 +#, no-wrap +msgid "" +" virt-ls -lR -d Guest / | grep -i '^-.*\\.png$'\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:176 +msgid "Display files larger than 10MB in home directories:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:178 +#, no-wrap +msgid "" +" virt-ls -lR -d Guest /home | awk '$3 > 10*1024*1024'\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:182 +#, no-wrap +msgid "" +" virt-ls -lR -d Guest --time-days / | awk '$6 <= 7'\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:186 +#, no-wrap +msgid "" +" virt-ls -lR -d Guest --time-days / | grep '^-' | awk '$6 < 1'\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:188 +msgid "Do the results match what is in the guest?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:190 +msgid "Create a disk image from a tarball." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:192 +msgid "" +"Use L to create a disk image from any tarball that you " +"happen to have:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:195 +#, no-wrap +msgid "" +" virt-make-fs --partition=mbr --type=vfat /any/tarball.tar.gz output.img\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:197 +msgid "" +"Add 'output.img' as a raw disk to an existing guest. Check the guest can " +"see the files. This test is particularly useful if you try it with a " +"Windows guest." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:201 +msgid "Try other partitioning schemes, eg. I<--partition=gpt>." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:203 +msgid "Try other filesystem formats, eg. I<--type=ntfs>, I<--type=ext2>." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:205 +msgid "B<*> Run virt-rescue on a B disk image or guest." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:207 +msgid "" +"Use L to examine, rescue or repair a B guest or " +"disk image:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:210 +#, no-wrap +msgid "" +" virt-rescue -a /path/to/disk.img\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:214 +#, no-wrap +msgid "" +" virt-rescue -d Guest\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:216 +msgid "Can you use ordinary shell commands to examine the guest?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:218 +msgid "B<*> Resize your guests." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:220 +msgid "" +"Use L to give a guest some more disk space. For example, if " +"you have a disk image that is smaller than 30G, increase it to 30G by doing:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:224 +#, no-wrap +msgid "" +" truncate -s 30G newdisk.img\n" +" virt-filesystems -a /path/to/olddisk.img --all --long -h\n" +" virt-resize /path/to/olddisk.img newdisk.img --expand /dev/sda1\n" +" qemu-kvm -m 1024 -hda newdisk.img\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:229 +msgid "Does the guest still boot? Try expanding other partitions." +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:231 +msgid "B<*> Sparsify a guest disk." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:233 +msgid "Using L, make a disk image more sparse:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:235 +#, no-wrap +msgid "" +" virt-sparsify /path/to/olddisk.img newdisk.img\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:237 +msgid "" +"Is C still bootable after sparsifying? Is the resulting disk " +"image smaller (use C to check)?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:240 +msgid "B<*> \"sysprep\" a B Linux guest." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:242 +msgid "" +"Note that this really will mess up an existing guest, so it's better to " +"clone the guest before trying this." +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:245 +#, no-wrap +msgid "" +" virt-sysprep --hostname newhost.example.com -a /path/to/disk.img\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:247 +msgid "" +"Was the sysprep successful? After booting, what changes were made and were " +"they successful?" +msgstr "" + +#. type: =head2 +#: ../examples/guestfs-testing.pod:250 +msgid "Dump the Windows Registry from your Windows guests." +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:252 +msgid "" +"Use L to dump out the Windows Registry from any Windows " +"guests that you have." +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:255 +#, no-wrap +msgid "" +" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\Software' |\n" +" less\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:258 +#, no-wrap +msgid "" +" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\System' |\n" +" less\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:261 +msgid "Does the output match running C inside the guest?" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:263 +msgid "" +"A recent feature is the ability to dump user registries, so try this, " +"replacing I with the name of a local user in the guest:" +msgstr "" + +#. type: verbatim +#: ../examples/guestfs-testing.pod:266 +#, no-wrap +msgid "" +" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKEY_USERS\\username' " +"|\n" +" less\n" +"\n" +msgstr "" + +#. type: textblock +#: ../examples/guestfs-testing.pod:271 +msgid "" +"L, L, L, " +"L." +msgstr "" + #. type: =head2 #: ../fish/guestfish-actions.pod:1 msgid "add-cdrom" @@ -3918,14 +5970,14 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:28 ../fish/guestfish-actions.pod:163 ../fish/guestfish-actions.pod:177 +#: ../fish/guestfish-actions.pod:28 ../fish/guestfish-actions.pod:214 ../fish/guestfish-actions.pod:228 msgid "" "I In new code, use the L call " "instead." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:31 ../fish/guestfish-actions.pod:166 ../fish/guestfish-actions.pod:180 ../fish/guestfish-actions.pod:991 ../fish/guestfish-actions.pod:1351 ../fish/guestfish-actions.pod:1365 ../fish/guestfish-actions.pod:3116 ../fish/guestfish-actions.pod:3323 ../fish/guestfish-actions.pod:3437 ../fish/guestfish-actions.pod:3485 ../fish/guestfish-actions.pod:4386 ../fish/guestfish-actions.pod:4409 ../fish/guestfish-actions.pod:4431 ../fish/guestfish-actions.pod:4469 ../fish/guestfish-actions.pod:5118 ../fish/guestfish-actions.pod:5224 ../src/guestfs-actions.pod:10 ../src/guestfs-actions.pod:252 ../src/guestfs-actions.pod:273 ../src/guestfs-actions.pod:1508 ../src/guestfs-actions.pod:2007 ../src/guestfs-actions.pod:2028 ../src/guestfs-actions.pod:4649 ../src/guestfs-actions.pod:4952 ../src/guestfs-actions.pod:5181 ../src/guestfs-actions.pod:5281 ../src/guestfs-actions.pod:6547 ../src/guestfs-actions.pod:6591 ../src/guestfs-actions.pod:6625 ../src/guestfs-actions.pod:6688 ../src/guestfs-actions.pod:7620 ../src/guestfs-actions.pod:7729 ../src/guestfs-actions.pod:7912 +#: ../fish/guestfish-actions.pod:31 ../fish/guestfish-actions.pod:217 ../fish/guestfish-actions.pod:231 ../fish/guestfish-actions.pod:941 ../fish/guestfish-actions.pod:976 ../fish/guestfish-actions.pod:1149 ../fish/guestfish-actions.pod:1509 ../fish/guestfish-actions.pod:1523 ../fish/guestfish-actions.pod:3381 ../fish/guestfish-actions.pod:3692 ../fish/guestfish-actions.pod:3740 ../fish/guestfish-actions.pod:4658 ../fish/guestfish-actions.pod:4678 ../fish/guestfish-actions.pod:4697 ../fish/guestfish-actions.pod:4735 ../fish/guestfish-actions.pod:5463 ../fish/guestfish-actions.pod:5566 ../src/guestfs-actions.pod:10 ../src/guestfs-actions.pod:305 ../src/guestfs-actions.pod:326 ../src/guestfs-actions.pod:1580 ../src/guestfs-actions.pod:1637 ../src/guestfs-actions.pod:1920 ../src/guestfs-actions.pod:2419 ../src/guestfs-actions.pod:2440 ../src/guestfs-actions.pod:5225 ../src/guestfs-actions.pod:5747 ../src/guestfs-actions.pod:5847 ../src/guestfs-actions.pod:7143 ../src/guestfs-actions.pod:7184 ../src/guestfs-actions.pod:7215 ../src/guestfs-actions.pod:7275 ../src/guestfs-actions.pod:8327 ../src/guestfs-actions.pod:8436 ../src/guestfs-actions.pod:8616 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 " @@ -3946,8 +5998,8 @@ msgstr "" #: ../fish/guestfish-actions.pod:39 #, no-wrap msgid "" -" add-domain dom [libvirturi:..] [readonly:..] [iface:..] [live:..] " -"[allowuuid:..]\n" +" add-domain dom [libvirturi:..] [readonly:true|false] [iface:..] " +"[live:true|false] [allowuuid:true|false] [readonlydisk:..]\n" "\n" msgstr "" @@ -3960,14 +6012,14 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:46 ../src/guestfs-actions.pod:64 +#: ../fish/guestfish-actions.pod:46 ../src/guestfs-actions.pod:65 msgid "" "The number of disks added is returned. This operation is atomic: if an " "error is returned, then no disks are added." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:49 ../src/guestfs-actions.pod:67 +#: ../fish/guestfish-actions.pod:49 ../src/guestfs-actions.pod:68 msgid "" "This function does some minimal checks to make sure the libvirt domain is " "not running (unless C is true). In a future version we will try " @@ -3975,7 +6027,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:53 ../src/guestfs-actions.pod:71 +#: ../fish/guestfish-actions.pod:53 ../src/guestfs-actions.pod:72 msgid "" "Disks must be accessible locally. This often means that adding disks from a " "remote libvirt connection (see L) will fail " @@ -3983,7 +6035,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:58 ../src/guestfs-actions.pod:76 +#: ../fish/guestfish-actions.pod:58 ../src/guestfs-actions.pod:77 msgid "" "The optional C parameter sets the libvirt URI (see " "L). If this is not set then we connect to the " @@ -3992,7 +6044,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:64 ../src/guestfs-actions.pod:82 +#: ../fish/guestfish-actions.pod:64 ../src/guestfs-actions.pod:83 msgid "" "The optional C flag controls whether this call will try to connect to " "a running virtual machine C process if it sees a suitable " @@ -4002,7 +6054,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:71 ../src/guestfs-actions.pod:89 +#: ../fish/guestfish-actions.pod:71 ../src/guestfs-actions.pod:90 msgid "" "If the C flag is true (default is false) then a UUID I be " "passed instead of the domain name. The C string is treated as a UUID " @@ -4011,26 +6063,97 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:76 +#: ../fish/guestfish-actions.pod:76 ../src/guestfs-actions.pod:95 +msgid "" +"The optional C parameter controls what we do for disks which " +"are marked Ereadonly/E in the libvirt XML. Possible values are:" +msgstr "" + +#. type: =item +#: ../fish/guestfish-actions.pod:82 ../src/guestfs-actions.pod:101 +msgid "readonlydisk = \"error\"" +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:84 ../fish/guestfish-actions.pod:95 ../fish/guestfish-actions.pod:106 ../src/guestfs-actions.pod:103 ../src/guestfs-actions.pod:114 ../src/guestfs-actions.pod:125 +msgid "If C is false:" +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:86 ../src/guestfs-actions.pod:105 +msgid "" +"The whole call is aborted with an error if any disk with the " +"Ereadonly/E flag is found." +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:89 ../fish/guestfish-actions.pod:100 ../fish/guestfish-actions.pod:110 ../src/guestfs-actions.pod:108 ../src/guestfs-actions.pod:119 ../src/guestfs-actions.pod:129 +msgid "If C is true:" +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:91 ../fish/guestfish-actions.pod:102 ../fish/guestfish-actions.pod:112 ../src/guestfs-actions.pod:110 ../src/guestfs-actions.pod:121 ../src/guestfs-actions.pod:131 +msgid "Disks with the Ereadonly/E flag are added read-only." +msgstr "" + +#. type: =item +#: ../fish/guestfish-actions.pod:93 ../src/guestfs-actions.pod:112 +msgid "readonlydisk = \"read\"" +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:97 ../src/guestfs-actions.pod:116 +msgid "" +"Disks with the Ereadonly/E flag are added read-only. Other disks " +"are added read/write." +msgstr "" + +#. type: =item +#: ../fish/guestfish-actions.pod:104 ../src/guestfs-actions.pod:123 +msgid "readonlydisk = \"write\" (default)" +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:108 ../src/guestfs-actions.pod:127 +msgid "Disks with the Ereadonly/E flag are added read/write." +msgstr "" + +#. type: =item +#: ../fish/guestfish-actions.pod:114 ../src/guestfs-actions.pod:133 +msgid "readonlydisk = \"ignore\"" +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:116 ../src/guestfs-actions.pod:135 +msgid "If C is true or false:" +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:118 ../src/guestfs-actions.pod:137 +msgid "Disks with the Ereadonly/E flag are skipped." +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:122 msgid "" "The other optional parameters are passed directly through to " "L." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:79 ../fish/guestfish-actions.pod:143 ../fish/guestfish-actions.pod:573 ../fish/guestfish-actions.pod:1999 ../fish/guestfish-actions.pod:3165 ../fish/guestfish-actions.pod:3338 ../fish/guestfish-actions.pod:3473 +#: ../fish/guestfish-actions.pod:125 ../fish/guestfish-actions.pod:194 ../fish/guestfish-actions.pod:624 ../fish/guestfish-actions.pod:835 ../fish/guestfish-actions.pod:856 ../fish/guestfish-actions.pod:894 ../fish/guestfish-actions.pod:903 ../fish/guestfish-actions.pod:912 ../fish/guestfish-actions.pod:926 ../fish/guestfish-actions.pod:2171 ../fish/guestfish-actions.pod:3215 ../fish/guestfish-actions.pod:3430 ../fish/guestfish-actions.pod:3593 ../fish/guestfish-actions.pod:3728 ../fish/guestfish-actions.pod:5099 msgid "" "This command has one or more optional arguments. See L." msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:81 +#: ../fish/guestfish-actions.pod:127 msgid "add-drive" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:83 +#: ../fish/guestfish-actions.pod:129 #, no-wrap msgid "" " add-drive filename\n" @@ -4038,7 +6161,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:85 +#: ../fish/guestfish-actions.pod:131 msgid "" "This function is the equivalent of calling L with no " "optional parameters, so the disk is added writable, with the format being " @@ -4046,7 +6169,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:89 +#: ../fish/guestfish-actions.pod:135 msgid "" "Automatic detection of the format opens you up to a potential security hole " "when dealing with untrusted raw-format images. See CVE-2010-3851 and " @@ -4056,25 +6179,26 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:96 +#: ../fish/guestfish-actions.pod:142 msgid "add-drive-opts" msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:98 +#: ../fish/guestfish-actions.pod:144 msgid "add" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:100 +#: ../fish/guestfish-actions.pod:146 #, no-wrap msgid "" -" add-drive-opts filename [readonly:..] [format:..] [iface:..]\n" +" add-drive-opts filename [readonly:true|false] [format:..] [iface:..] " +"[name:..]\n" "\n" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:102 ../src/guestfs-actions.pod:160 +#: ../fish/guestfish-actions.pod:148 ../src/guestfs-actions.pod:208 msgid "" "This function adds a virtual machine disk image C to libguestfs. " "The first time you call this function, the disk appears as C, the " @@ -4082,7 +6206,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:107 ../src/guestfs-actions.pod:165 +#: ../fish/guestfish-actions.pod:153 ../src/guestfs-actions.pod:213 msgid "" "You don't necessarily need to be root when using libguestfs. However you " "obviously do need sufficient permissions to access the filename for whatever " @@ -4091,22 +6215,22 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:113 ../src/guestfs-actions.pod:171 +#: ../fish/guestfish-actions.pod:159 ../src/guestfs-actions.pod:219 msgid "This call checks that C exists." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:115 ../fish/guestfish-actions.pod:3127 ../src/guestfs-actions.pod:173 ../src/guestfs-actions.pod:4686 +#: ../fish/guestfish-actions.pod:161 ../fish/guestfish-actions.pod:3392 ../src/guestfs-actions.pod:221 ../src/guestfs-actions.pod:5262 msgid "The optional arguments are:" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:119 ../src/guestfs-actions.pod:177 +#: ../fish/guestfish-actions.pod:165 ../src/guestfs-actions.pod:225 msgid "C" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:121 ../src/guestfs-actions.pod:179 +#: ../fish/guestfish-actions.pod:167 ../src/guestfs-actions.pod:227 msgid "" "If true then the image is treated as read-only. Writes are still allowed, " "but they are stored in a temporary snapshot overlay which is discarded at " @@ -4114,12 +6238,12 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:125 ../src/guestfs-actions.pod:183 +#: ../fish/guestfish-actions.pod:171 ../src/guestfs-actions.pod:231 msgid "C" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:127 +#: ../fish/guestfish-actions.pod:173 msgid "" "This forces the image format. If you omit this (or use L or " "L) then the format is automatically detected. Possible " @@ -4127,7 +6251,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:131 ../src/guestfs-actions.pod:189 +#: ../fish/guestfish-actions.pod:177 ../src/guestfs-actions.pod:237 msgid "" "Automatic detection of the format opens you up to a potential security hole " "when dealing with untrusted raw-format images. See CVE-2010-3851 and " @@ -4135,29 +6259,41 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:136 ../src/guestfs-actions.pod:194 +#: ../fish/guestfish-actions.pod:182 ../src/guestfs-actions.pod:242 msgid "C" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:138 +#: ../fish/guestfish-actions.pod:184 msgid "" "This rarely-used option lets you emulate the behaviour of the deprecated " "L call (q.v.)" msgstr "" +#. type: =item +#: ../fish/guestfish-actions.pod:187 ../fish/guestfish-actions.pod:3242 ../src/guestfs-actions.pod:247 ../src/guestfs-actions.pod:4994 +msgid "C" +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:189 ../src/guestfs-actions.pod:249 +msgid "" +"The name the drive had in the original guest, e.g. /dev/sdb. This is used as " +"a hint to the guest inspection process if it is available." +msgstr "" + #. type: =head2 -#: ../fish/guestfish-actions.pod:145 +#: ../fish/guestfish-actions.pod:196 msgid "add-drive-ro" msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:147 +#: ../fish/guestfish-actions.pod:198 msgid "add-ro" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:149 +#: ../fish/guestfish-actions.pod:200 #, no-wrap msgid "" " add-drive-ro filename\n" @@ -4165,7 +6301,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:151 +#: ../fish/guestfish-actions.pod:202 msgid "" "This function is the equivalent of calling L with the " "optional parameter C set to 1, so the disk " @@ -4173,12 +6309,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:156 +#: ../fish/guestfish-actions.pod:207 msgid "add-drive-ro-with-if" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:158 +#: ../fish/guestfish-actions.pod:209 #, no-wrap msgid "" " add-drive-ro-with-if filename iface\n" @@ -4186,19 +6322,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:160 +#: ../fish/guestfish-actions.pod:211 msgid "" "This is the same as L but it allows you to specify the QEMU " "interface emulation to use at run time." msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:170 +#: ../fish/guestfish-actions.pod:221 msgid "add-drive-with-if" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:172 +#: ../fish/guestfish-actions.pod:223 #, no-wrap msgid "" " add-drive-with-if filename iface\n" @@ -4206,19 +6342,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:174 +#: ../fish/guestfish-actions.pod:225 msgid "" "This is the same as L but it allows you to specify the QEMU " "interface emulation to use at run time." msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:184 +#: ../fish/guestfish-actions.pod:235 msgid "aug-clear" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:186 +#: ../fish/guestfish-actions.pod:237 #, no-wrap msgid "" " aug-clear augpath\n" @@ -4226,19 +6362,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:188 ../src/guestfs-actions.pod:290 +#: ../fish/guestfish-actions.pod:239 ../src/guestfs-actions.pod:343 msgid "" "Set the value associated with C to C. This is the same as the " "L C command." msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:191 +#: ../fish/guestfish-actions.pod:242 msgid "aug-close" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:193 +#: ../fish/guestfish-actions.pod:244 #, no-wrap msgid "" " aug-close\n" @@ -4246,7 +6382,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:195 +#: ../fish/guestfish-actions.pod:246 msgid "" "Close the current Augeas handle and free up any resources used by it. After " "calling this, you have to call L again before you can use any " @@ -4254,12 +6390,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:200 +#: ../fish/guestfish-actions.pod:251 msgid "aug-defnode" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:202 +#: ../fish/guestfish-actions.pod:253 #, no-wrap msgid "" " aug-defnode name expr val\n" @@ -4267,12 +6403,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:204 ../src/guestfs-actions.pod:319 +#: ../fish/guestfish-actions.pod:255 ../src/guestfs-actions.pod:372 msgid "Defines a variable C whose value is the result of evaluating C." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:207 +#: ../fish/guestfish-actions.pod:258 msgid "" "If C evaluates to an empty nodeset, a node is created, equivalent to " "calling L C, C. C will be the nodeset " @@ -4280,19 +6416,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:211 ../src/guestfs-actions.pod:326 +#: ../fish/guestfish-actions.pod:262 ../src/guestfs-actions.pod:379 msgid "" "On success this returns a pair containing the number of nodes in the " "nodeset, and a boolean flag if a node was created." msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:215 +#: ../fish/guestfish-actions.pod:266 msgid "aug-defvar" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:217 +#: ../fish/guestfish-actions.pod:268 #, no-wrap msgid "" " aug-defvar name expr\n" @@ -4300,26 +6436,26 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:219 ../src/guestfs-actions.pod:343 +#: ../fish/guestfish-actions.pod:270 ../src/guestfs-actions.pod:396 msgid "" "Defines an Augeas variable C whose value is the result of evaluating " "C. If C is NULL, then C is undefined." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:223 ../src/guestfs-actions.pod:347 +#: ../fish/guestfish-actions.pod:274 ../src/guestfs-actions.pod:400 msgid "" "On success this returns the number of nodes in C, or C<0> if C " "evaluates to something which is not a nodeset." msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:226 +#: ../fish/guestfish-actions.pod:277 msgid "aug-get" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:228 +#: ../fish/guestfish-actions.pod:279 #, no-wrap msgid "" " aug-get augpath\n" @@ -4327,19 +6463,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:230 ../src/guestfs-actions.pod:360 +#: ../fish/guestfish-actions.pod:281 ../src/guestfs-actions.pod:413 msgid "" "Look up the value associated with C. If C matches exactly one " "node, the C is returned." msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:233 +#: ../fish/guestfish-actions.pod:284 msgid "aug-init" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:235 +#: ../fish/guestfish-actions.pod:286 #, no-wrap msgid "" " aug-init root flags\n" @@ -4347,7 +6483,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:237 ../src/guestfs-actions.pod:375 +#: ../fish/guestfish-actions.pod:288 ../src/guestfs-actions.pod:428 msgid "" "Create a new Augeas handle for editing configuration files. If there was " "any previous Augeas handle associated with this guestfs session, then it is " @@ -4355,56 +6491,56 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:241 +#: ../fish/guestfish-actions.pod:292 msgid "You must call this before using any other L commands." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:244 ../src/guestfs-actions.pod:382 +#: ../fish/guestfish-actions.pod:295 ../src/guestfs-actions.pod:435 msgid "C is the filesystem root. C must not be NULL, use C instead." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:247 ../src/guestfs-actions.pod:385 +#: ../fish/guestfish-actions.pod:298 ../src/guestfs-actions.pod:438 msgid "" "The flags are the same as the flags defined in Eaugeas.hE, the " "logical I of the following integers:" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:253 ../src/guestfs-actions.pod:391 +#: ../fish/guestfish-actions.pod:304 ../src/guestfs-actions.pod:444 msgid "C = 1" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:255 ../src/guestfs-actions.pod:393 +#: ../fish/guestfish-actions.pod:306 ../src/guestfs-actions.pod:446 msgid "Keep the original file with a C<.augsave> extension." msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:257 ../src/guestfs-actions.pod:395 +#: ../fish/guestfish-actions.pod:308 ../src/guestfs-actions.pod:448 msgid "C = 2" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:259 ../src/guestfs-actions.pod:397 +#: ../fish/guestfish-actions.pod:310 ../src/guestfs-actions.pod:450 msgid "" "Save changes into a file with extension C<.augnew>, and do not overwrite " "original. Overrides C." msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:262 ../src/guestfs-actions.pod:400 +#: ../fish/guestfish-actions.pod:313 ../src/guestfs-actions.pod:453 msgid "C = 4" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:264 ../src/guestfs-actions.pod:402 +#: ../fish/guestfish-actions.pod:315 ../src/guestfs-actions.pod:455 msgid "Typecheck lenses." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:266 +#: ../fish/guestfish-actions.pod:317 msgid "" "This option is only useful when debugging Augeas lenses. Use of this option " "may require additional memory for the libguestfs appliance. You may need to " @@ -4412,52 +6548,52 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:271 ../src/guestfs-actions.pod:409 +#: ../fish/guestfish-actions.pod:322 ../src/guestfs-actions.pod:462 msgid "C = 8" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:273 ../src/guestfs-actions.pod:411 +#: ../fish/guestfish-actions.pod:324 ../src/guestfs-actions.pod:464 msgid "Do not use standard load path for modules." msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:275 ../src/guestfs-actions.pod:413 +#: ../fish/guestfish-actions.pod:326 ../src/guestfs-actions.pod:466 msgid "C = 16" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:277 ../src/guestfs-actions.pod:415 +#: ../fish/guestfish-actions.pod:328 ../src/guestfs-actions.pod:468 msgid "Make save a no-op, just record what would have been changed." msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:279 ../src/guestfs-actions.pod:417 +#: ../fish/guestfish-actions.pod:330 ../src/guestfs-actions.pod:470 msgid "C = 32" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:281 +#: ../fish/guestfish-actions.pod:332 msgid "Do not load the tree in L." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:285 +#: ../fish/guestfish-actions.pod:336 msgid "To close the handle, you can call L." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:287 ../src/guestfs-actions.pod:425 +#: ../fish/guestfish-actions.pod:338 ../src/guestfs-actions.pod:478 msgid "To find out more about Augeas, see L." msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:289 +#: ../fish/guestfish-actions.pod:340 msgid "aug-insert" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:291 +#: ../fish/guestfish-actions.pod:342 #, no-wrap msgid "" " aug-insert augpath label true|false\n" @@ -4465,26 +6601,26 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:293 ../src/guestfs-actions.pod:439 +#: ../fish/guestfish-actions.pod:344 ../src/guestfs-actions.pod:492 msgid "" "Create a new sibling C