X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=po-docs%2Fja.po;h=97787d7eb4c9f6462f7868bb1ced7f0bdef731cb;hp=27d10639b308820ff37fd7913c34538f2245a4a4;hb=639232f2b0e2b6d537c8947ee51837d5509b1339;hpb=d020350c3131f5d0e422f502b4810025a6fc0f11 diff --git a/po-docs/ja.po b/po-docs/ja.po index 27d1063..97787d7 100644 --- a/po-docs/ja.po +++ b/po-docs/ja.po @@ -2,16 +2,17 @@ # Copyright (C) YEAR Red Hat Inc. # This file is distributed under the same license as the libguestfs package. # +# Translators: # rjones , 2011. +# , 2011. msgid "" msgstr "" "Project-Id-Version: libguestfs\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2011-09-28 21:49+0200\n" -"PO-Revision-Date: 2011-07-17 20:50+0000\n" +"POT-Creation-Date: 2011-10-24 17:16+0200\n" +"PO-Revision-Date: 2011-10-19 15:46+0000\n" "Last-Translator: rjones \n" -"Language-Team: Japanese (http://www.transifex.net/projects/p/fedora/team/" -"ja/)\n" +"Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,8 +20,9 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0\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 +#: ../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 ../fish/guestfish.pod:3 #: ../fish/virt-copy-in.pod:3 ../fish/virt-copy-out.pod:3 @@ -29,8 +31,8 @@ msgstr "" #: ../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 +#: ../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 @@ -38,13 +40,14 @@ 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 +#: ../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 @@ -53,7 +56,8 @@ msgstr "" #: ../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 +#: ../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 @@ -61,46 +65,25 @@ 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 +#: ../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 #: ../fish/guestfish.pod:30 ../fish/virt-copy-in.pod:19 @@ -110,7 +93,8 @@ msgstr "" #: ../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 +#: ../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 @@ -118,128 +102,173 @@ 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 +#: ../align/virt-alignment-scan.pod:32 +msgid "To run this tool on a disk image directly, use the I<-a> option:" +msgstr "" + +#. type: verbatim +#: ../align/virt-alignment-scan.pod:34 +#, no-wrap msgid "" -"Display C file from inside the libvirt VM called C:" +" $ virt-alignment-scan -a winxp.img\n" +" /dev/sda1 32256 512 bad (alignment < 4K)\n" +"\n" msgstr "" #. type: verbatim -#: ../cat/virt-cat.pod:37 +#: ../align/virt-alignment-scan.pod:37 #, no-wrap msgid "" -" virt-cat -d mydomain /etc/fstab\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:39 -msgid "List syslog messages from a VM disk image file:" +#: ../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:41 +#: ../align/virt-alignment-scan.pod:45 #, no-wrap msgid "" -" virt-cat -a disk.img /var/log/messages | 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:43 -msgid "Find out what DHCP IP address a VM acquired:" -msgstr "" - #. type: verbatim -#: ../cat/virt-cat.pod:45 +#: ../align/virt-alignment-scan.pod:49 #, no-wrap msgid "" -" virt-cat -d mydomain /var/log/messages | \\\n" -" grep 'dhclient: bound to' | 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:48 -msgid "Find out what packages were recently installed:" +#: ../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:50 -#, 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/log/yum.log | tail\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:52 -msgid "Find out who is logged on inside a virtual machine:" +#: ../align/virt-alignment-scan.pod:67 +msgid "the start of the partition in bytes" msgstr "" -#. type: verbatim -#: ../cat/virt-cat.pod:54 -#, 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/run/utmp > /tmp/utmp\n" -" who /tmp/utmp\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 -#: ../cat/virt-cat.pod:57 -msgid "or who was logged on:" +#: ../align/virt-alignment-scan.pod:80 +msgid "optional free-text explanation." msgstr "" -#. type: verbatim -#: ../cat/virt-cat.pod:59 -#, no-wrap +#. type: textblock +#: ../align/virt-alignment-scan.pod:84 msgid "" -" virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp\n" -" last -f /tmp/wtmp\n" -"\n" +"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 +#: ../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:83 +#: ../fish/virt-tar-out.pod:36 ../fuse/guestmount.pod:92 #: ../inspector/virt-inspector.pod:55 ../rescue/virt-rescue.pod:84 -#: ../resize/virt-resize.pod:241 ../test-tool/libguestfs-test-tool.pod:36 +#: ../resize/virt-resize.pod:241 ../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 @@ -247,11 +276,13 @@ 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 +#: ../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:88 -#: ../resize/virt-resize.pod:245 ../test-tool/libguestfs-test-tool.pod:40 +#: ../resize/virt-resize.pod:245 ../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 @@ -259,8 +290,9 @@ 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 +#: ../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:90 #: ../tools/virt-list-filesystems.pl:63 ../tools/virt-list-partitions.pl:64 #: ../tools/virt-make-fs.pl:163 ../tools/virt-tar.pl:113 @@ -269,33 +301,31 @@ 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 +#: ../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:92 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 +#: ../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:94 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 +#: ../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:100 msgid "" "The format of the disk image is auto-detected. To override this and force a " @@ -303,20 +333,25 @@ msgid "" 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:107 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:109 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 +#: ../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:111 #: ../tools/virt-list-filesystems.pl:81 ../tools/virt-list-partitions.pl:82 #: ../tools/virt-tar.pl:131 ../tools/virt-win-reg.pl:132 @@ -326,30 +361,35 @@ msgid "" 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:114 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 +#: ../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:117 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 +#: ../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:119 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 +#: ../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:121 msgid "" "Add all the disks from the named libvirt guest. Domain UUIDs can be used " @@ -357,42 +397,30 @@ msgid "" 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:124 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:126 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:128 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 " @@ -401,50 +429,56 @@ 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:2788 +#: ../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:336 +#: ../rescue/virt-rescue.pod:133 ../src/guestfs.pod:2862 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:137 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:141 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:144 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 " @@ -452,210 +486,373 @@ 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:470 +#: ../sparsify/virt-sparsify.pod:153 +msgid "B<-q>" +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:149 ../resize/virt-resize.pod:472 +#: ../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:182 +#: ../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:182 ../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:184 +#: ../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:184 ../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:186 +#: ../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:186 ../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:188 -#: ../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:188 ../resize/virt-resize.pod:540 +#: ../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:190 -#: ../resize/virt-resize.pod:486 ../tools/virt-list-filesystems.pl:69 +#: ../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:190 ../resize/virt-resize.pod:542 +#: ../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:192 -#: ../resize/virt-resize.pod:488 ../tools/virt-list-filesystems.pl:71 +#: ../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:192 ../resize/virt-resize.pod:544 +#: ../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:203 +#: ../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:203 ../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:205 +#: ../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:205 ../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:209 -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: textblock +#: ../align/virt-alignment-scan.pod:183 +msgid "" +"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 +#: ../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:156 +#: ../align/virt-alignment-scan.pod:213 #, no-wrap msgid "" -" virt-cat disk.img [disk.img ...] 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:158 ../cat/virt-ls.pod:449 ../edit/virt-edit.pod:185 -#: ../inspector/virt-inspector.pod:143 ../rescue/virt-rescue.pod:215 -msgid "or" +#: ../align/virt-alignment-scan.pod:222 +msgid "" +"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 +#: ../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: textblock +#: ../align/virt-alignment-scan.pod:232 +msgid "For a typical hard drive with 512 byte sectors:" msgstr "" #. type: verbatim -#: ../cat/virt-cat.pod:160 +#: ../align/virt-alignment-scan.pod:234 #, no-wrap msgid "" -" virt-cat guestname file\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:162 ../cat/virt-ls.pod:453 ../edit/virt-edit.pod:189 -#: ../inspector/virt-inspector.pod:147 ../rescue/virt-rescue.pod:219 +#: ../align/virt-alignment-scan.pod:243 +msgid "For a NetApp LUN:" +msgstr "" + +#. type: verbatim +#: ../align/virt-alignment-scan.pod:245 +#, no-wrap 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." +" $ 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:166 ../cat/virt-ls.pod:457 ../edit/virt-edit.pod:193 -#: ../inspector/virt-inspector.pod:151 ../rescue/virt-rescue.pod:223 -msgid "For compatibility the old style is still supported." +#: ../align/virt-alignment-scan.pod:254 +msgid "" +"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: =head1 -#: ../cat/virt-cat.pod:168 ../edit/virt-edit.pod:297 -msgid "USING GUESTFISH" +#. type: textblock +#: ../align/virt-alignment-scan.pod:258 +msgid "" +"For detailed information about what these numbers mean, see L" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:170 +#: ../align/virt-alignment-scan.pod:261 msgid "" -"L is a more powerful, lower level tool which you can use when " -"C doesn't work." +"[Thanks to Mike Snitzer for providing NetApp data and additional " +"information.]" +msgstr "" + +#. type: =head2 +#: ../align/virt-alignment-scan.pod:264 +msgid "1 MB PARTITION ALIGNMENT" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:173 -msgid "Using C is approximately equivalent to doing:" +#: ../align/virt-alignment-scan.pod:266 +msgid "" +"Microsoft picked 1 MB as the default alignment for all partitions starting " +"with Windows 2008 Server, and Linux has followed this." msgstr "" -#. type: verbatim -#: ../cat/virt-cat.pod:175 -#, no-wrap +#. type: textblock +#: ../align/virt-alignment-scan.pod:269 msgid "" -" guestfish --ro -i -d domname download file -\n" -"\n" +"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 -#: ../cat/virt-cat.pod:177 +#: ../align/virt-alignment-scan.pod:273 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\")." +"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:276 +msgid "SETTING ALIGNMENT" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:181 +#: ../align/virt-alignment-scan.pod:278 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:" +"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: verbatim -#: ../cat/virt-cat.pod:186 -#, no-wrap +#. type: textblock +#: ../align/virt-alignment-scan.pod:284 msgid "" -" guestfish --ro -a disk.img -m /dev/sda1 download file -\n" -"\n" +"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 -#: ../cat/virt-cat.pod:188 +#: ../align/virt-alignment-scan.pod:288 msgid "" -"where C is the disk image, C is the filesystem within " -"the disk image, and C is the full path to the file." +"For older versions of Windows, the following NetApp document contains useful " +"information: L" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:291 +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:266 -#: ../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:296 ../cat/virt-cat.pod:191 +#: ../cat/virt-filesystems.pod:365 ../cat/virt-ls.pod:483 +#: ../clone/virt-sysprep.pod:475 ../df/virt-df.pod:215 +#: ../edit/virt-edit.pod:342 ../inspector/virt-inspector.pod:352 +#: ../rescue/virt-rescue.pod:266 ../resize/virt-resize.pod:655 +#: ../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:268 -#: ../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:298 ../cat/virt-cat.pod:193 +#: ../cat/virt-filesystems.pod:367 ../cat/virt-ls.pod:485 +#: ../clone/virt-sysprep.pod:477 ../df/virt-df.pod:217 +#: ../edit/virt-edit.pod:344 ../inspector/virt-inspector.pod:354 +#: ../rescue/virt-rescue.pod:268 ../resize/virt-resize.pod:657 +#: ../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 " @@ -664,105 +861,237 @@ 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 +#: ../align/virt-alignment-scan.pod:303 ../cat/virt-cat.pod:198 +#: ../cat/virt-filesystems.pod:372 ../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:375 +#: ../resize/virt-resize.pod:662 ../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 +#: ../align/virt-alignment-scan.pod:305 +msgid "This program returns:" +msgstr "" + +#. type: =item +#: ../align/virt-alignment-scan.pod:309 ../align/virt-alignment-scan.pod:315 +#: ../align/virt-alignment-scan.pod:321 ../align/virt-alignment-scan.pod:328 +#: ../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:395 ../fish/guestfish-actions.pod:403 +#: ../fish/guestfish-actions.pod:410 ../fish/guestfish-actions.pod:417 +#: ../fish/guestfish-actions.pod:1144 ../fish/guestfish-actions.pod:1148 +#: ../fish/guestfish-actions.pod:1152 ../fish/guestfish-actions.pod:1156 +#: ../fish/guestfish-actions.pod:1164 ../fish/guestfish-actions.pod:1168 +#: ../fish/guestfish-actions.pod:1172 ../fish/guestfish-actions.pod:1182 +#: ../fish/guestfish-actions.pod:1186 ../fish/guestfish-actions.pod:1190 +#: ../fish/guestfish-actions.pod:1280 ../fish/guestfish-actions.pod:1284 +#: ../fish/guestfish-actions.pod:1289 ../fish/guestfish-actions.pod:1294 +#: ../fish/guestfish-actions.pod:1336 ../fish/guestfish-actions.pod:1340 +#: ../fish/guestfish-actions.pod:1345 ../fish/guestfish-actions.pod:1601 +#: ../fish/guestfish-actions.pod:1608 ../fish/guestfish-actions.pod:1615 +#: ../fish/guestfish-actions.pod:2018 ../fish/guestfish-actions.pod:2024 +#: ../fish/guestfish-actions.pod:2032 ../fish/guestfish-actions.pod:2039 +#: ../fish/guestfish-actions.pod:2046 ../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:338 +#: ../resize/virt-resize.pod:342 ../resize/virt-resize.pod:351 +#: ../resize/virt-resize.pod:357 ../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:594 ../src/guestfs-actions.pod:602 +#: ../src/guestfs-actions.pod:609 ../src/guestfs-actions.pod:616 +#: ../src/guestfs-actions.pod:1784 ../src/guestfs-actions.pod:1788 +#: ../src/guestfs-actions.pod:1792 ../src/guestfs-actions.pod:1796 +#: ../src/guestfs-actions.pod:1804 ../src/guestfs-actions.pod:1808 +#: ../src/guestfs-actions.pod:1812 ../src/guestfs-actions.pod:1822 +#: ../src/guestfs-actions.pod:1826 ../src/guestfs-actions.pod:1830 +#: ../src/guestfs-actions.pod:1968 ../src/guestfs-actions.pod:1972 +#: ../src/guestfs-actions.pod:1977 ../src/guestfs-actions.pod:1982 +#: ../src/guestfs-actions.pod:2043 ../src/guestfs-actions.pod:2047 +#: ../src/guestfs-actions.pod:2052 ../src/guestfs-actions.pod:2467 +#: ../src/guestfs-actions.pod:2474 ../src/guestfs-actions.pod:2481 +#: ../src/guestfs-actions.pod:3026 ../src/guestfs-actions.pod:3032 +#: ../src/guestfs-actions.pod:3040 ../src/guestfs-actions.pod:3047 +#: ../src/guestfs-actions.pod:3054 ../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:1094 ../src/guestfs.pod:1098 +#: ../src/guestfs.pod:1102 ../src/guestfs.pod:1107 ../src/guestfs.pod:1115 +#: ../src/guestfs.pod:1134 ../src/guestfs.pod:1142 ../src/guestfs.pod:1164 +#: ../src/guestfs.pod:1168 ../src/guestfs.pod:1172 ../src/guestfs.pod:1176 +#: ../src/guestfs.pod:1180 ../src/guestfs.pod:1184 ../src/guestfs.pod:1674 +#: ../src/guestfs.pod:1679 ../src/guestfs.pod:1683 ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1790 ../src/guestfs.pod:1794 ../src/guestfs.pod:1804 +#: ../src/guestfs.pod:2093 ../src/guestfs.pod:2098 ../src/guestfs.pod:2104 +#: ../src/guestfs.pod:2112 ../src/guestfs.pod:2630 ../src/guestfs.pod:2636 +#: ../src/guestfs.pod:2641 ../src/guestfs.pod:2647 ../src/guestfs.pod:3047 +#: ../src/guestfs.pod:3052 ../src/guestfs.pod:3056 ../src/guestfs.pod:3060 +#: ../src/guestfs.pod:3064 ../src/guestfs.pod:3078 ../src/guestfs.pod:3083 +#: ../src/guestfs.pod:3314 ../src/guestfs.pod:3318 ../src/guestfs.pod:3322 +#: ../src/guestfs.pod:3326 ../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:311 +msgid "0" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:313 msgid "" -"This program returns 0 if successful, or non-zero if there was an error." +"successful exit, all partitions are aligned E 64K for best performance" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:317 +msgid "1" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:319 +msgid "an error scanning the disk image or guest" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:323 +msgid "2" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:325 +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:330 +msgid "3" +msgstr "" + +#. type: textblock +#: ../align/virt-alignment-scan.pod:332 +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 +#: ../align/virt-alignment-scan.pod:337 ../cat/virt-cat.pod:203 +#: ../cat/virt-filesystems.pod:377 ../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 -#: ../fish/guestfish.pod:1235 ../fish/virt-copy-in.pod:50 +#: ../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:308 +#: ../fish/virt-tar-out.pod:41 ../fuse/guestmount.pod:317 #: ../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:288 -#: ../resize/virt-resize.pod:613 ../ruby/examples/guestfs-ruby.pod:36 -#: ../src/guestfs.pod:3164 ../test-tool/libguestfs-test-tool.pod:100 +#: ../resize/virt-resize.pod:667 ../ruby/examples/guestfs-ruby.pod:36 +#: ../sparsify/virt-sparsify.pod:251 ../src/guestfs.pod:3255 +#: ../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 +#: ../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:339 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:296 ../resize/virt-resize.pod:634 +#: ../align/virt-alignment-scan.pod:346 ../cat/virt-cat.pod:212 +#: ../cat/virt-filesystems.pod:388 ../cat/virt-ls.pod:507 +#: ../clone/virt-sysprep.pod:501 ../df/virt-df.pod:235 +#: ../edit/virt-edit.pod:368 ../rescue/virt-rescue.pod:296 +#: ../resize/virt-resize.pod:690 ../sparsify/virt-sparsify.pod:264 #: ../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 +#: ../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:298 -#: ../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:348 ../cat/virt-cat.pod:214 +#: ../cat/virt-filesystems.pod:390 ../cat/virt-ls.pod:509 +#: ../clone/virt-sysprep.pod:503 ../df/virt-df.pod:237 +#: ../edit/virt-edit.pod:370 ../inspector/virt-inspector.pod:395 +#: ../rescue/virt-rescue.pod:298 ../resize/virt-resize.pod:692 +#: ../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 +#: ../align/virt-alignment-scan.pod:350 ../cat/virt-cat.pod:216 +#: ../cat/virt-filesystems.pod:392 ../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 -#: ../fish/guestfish.pod:1264 ../fish/virt-copy-in.pod:64 +#: ../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:323 +#: ../fish/virt-tar-out.pod:55 ../fuse/guestmount.pod:332 #: ../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:300 -#: ../resize/virt-resize.pod:638 ../ruby/examples/guestfs-ruby.pod:52 -#: ../src/guestfs.pod:3241 ../test-tool/libguestfs-test-tool.pod:110 +#: ../resize/virt-resize.pod:694 ../ruby/examples/guestfs-ruby.pod:52 +#: ../sparsify/virt-sparsify.pod:268 ../src/guestfs.pod:3337 +#: ../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 +#: ../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:352 ../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:304 -#: ../resize/virt-resize.pod:642 ../test-tool/libguestfs-test-tool.pod:115 +#: ../align/virt-alignment-scan.pod:354 ../cat/virt-cat.pod:220 +#: ../cat/virt-filesystems.pod:396 ../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:407 +#: ../rescue/virt-rescue.pod:304 ../resize/virt-resize.pod:698 +#: ../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:572 ../tools/virt-tar.pl:319 -#: ../tools/virt-win-reg.pl:780 +#: ../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 " @@ -771,16 +1100,18 @@ 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:309 -#: ../resize/virt-resize.pod:647 ../test-tool/libguestfs-test-tool.pod:120 +#: ../align/virt-alignment-scan.pod:359 ../cat/virt-cat.pod:225 +#: ../cat/virt-filesystems.pod:401 ../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:412 +#: ../rescue/virt-rescue.pod:309 ../resize/virt-resize.pod:703 +#: ../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:577 ../tools/virt-tar.pl:324 -#: ../tools/virt-win-reg.pl:785 +#: ../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 " @@ -789,16 +1120,18 @@ 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:314 -#: ../resize/virt-resize.pod:652 ../test-tool/libguestfs-test-tool.pod:125 +#: ../align/virt-alignment-scan.pod:364 ../cat/virt-cat.pod:230 +#: ../cat/virt-filesystems.pod:406 ../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:417 +#: ../rescue/virt-rescue.pod:314 ../resize/virt-resize.pod:708 +#: ../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:582 ../tools/virt-tar.pl:329 -#: ../tools/virt-win-reg.pl:790 +#: ../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 " @@ -806,204 +1139,546 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:5 -msgid "" -"virt-filesystems - List filesystems, partitions, block devices, LVM in a " -"virtual machine or disk image" +#: ../cat/virt-cat.pod:5 +msgid "virt-cat - Display files in a virtual machine" msgstr "" #. type: verbatim -#: ../cat/virt-filesystems.pod:9 +#: ../cat/virt-cat.pod:9 #, no-wrap msgid "" -" virt-filesystems [--options] -d domname\n" +" virt-cat [--options] -d domname file [file ...]\n" "\n" msgstr "" #. type: verbatim -#: ../cat/virt-filesystems.pod:11 +#: ../cat/virt-cat.pod:11 #, no-wrap msgid "" -" virt-filesystems [--options] -a disk.img [-a disk.img ...]\n" +" virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]\n" "\n" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:15 -msgid "" -"This tool allows you to discover filesystems, partitions, logical volumes, " -"and their sizes in a disk image or virtual machine. It is a replacement for " -"L and L." +#: ../cat/virt-cat.pod:13 ../edit/virt-edit.pod:15 +#: ../inspector/virt-inspector.pod:13 +msgid "Old-style:" msgstr "" -#. type: textblock -#: ../cat/virt-filesystems.pod:20 +#. type: verbatim +#: ../cat/virt-cat.pod:15 +#, no-wrap msgid "" -"One use for this tool is from shell scripts to iterate over all filesystems " -"from a disk image:" +" virt-cat domname file\n" +"\n" msgstr "" #. type: verbatim -#: ../cat/virt-filesystems.pod:23 +#: ../cat/virt-cat.pod:17 #, no-wrap msgid "" -" for fs in $(virt-filesystems -a disk.img); do\n" -" # ...\n" -" done\n" +" virt-cat disk.img file\n" "\n" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:27 +#: ../cat/virt-cat.pod:21 msgid "" -"Another use is to list partitions before using another tool to modify those " -"partitions (such as L). If you are curious about what an " -"unknown disk image contains, use this tool along with L." +"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-filesystems.pod:32 +#: ../cat/virt-cat.pod:24 msgid "" -"Various command line options control what this program displays. You need " -"to give either I<-a> or I<-d> options to specify the disk image or libvirt " -"guest respectively. If you just specify that then the program shows " -"filesystems found, one per line, like this:" +"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: verbatim -#: ../cat/virt-filesystems.pod:37 -#, no-wrap +#. type: textblock +#: ../cat/virt-cat.pod:28 msgid "" -" $ virt-filesystems -a disk.img\n" -" /dev/sda1\n" -" /dev/vg_guest/lv_root\n" -"\n" +"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-filesystems.pod:41 +#: ../cat/virt-cat.pod:34 msgid "" -"If you add I<-l> or I<--long> then the output includes extra information:" +"Display C file from inside the libvirt VM called C:" msgstr "" #. type: verbatim -#: ../cat/virt-filesystems.pod:44 +#: ../cat/virt-cat.pod:37 #, no-wrap msgid "" -" $ virt-filesystems -a disk.img -l\n" -" Name Type VFS Label Size\n" -" /dev/sda1 filesystem ext4 boot 524288000\n" -" /dev/vg_guest/lv_root filesystem ext4 root 10212081664\n" +" virt-cat -d mydomain /etc/fstab\n" "\n" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:49 -msgid "" -"If you add I<--extra> then non-mountable (swap, unknown) filesystems are " -"shown as well:" +#: ../cat/virt-cat.pod:39 +msgid "List syslog messages from a VM disk image file:" msgstr "" #. type: verbatim -#: ../cat/virt-filesystems.pod:52 +#: ../cat/virt-cat.pod:41 #, no-wrap msgid "" -" $ virt-filesystems -a disk.img --extra\n" -" /dev/sda1\n" -" /dev/vg_guest/lv_root\n" -" /dev/vg_guest/lv_swap\n" -" /dev/vg_guest/lv_data\n" +" virt-cat -a disk.img /var/log/messages | tail\n" "\n" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:58 -msgid "" -"If you add I<--partitions> then partitions are shown instead of filesystems:" +#: ../cat/virt-cat.pod:43 +msgid "Find out what DHCP IP address a VM acquired:" msgstr "" #. type: verbatim -#: ../cat/virt-filesystems.pod:60 +#: ../cat/virt-cat.pod:45 #, no-wrap msgid "" -" $ virt-filesystems -a disk.img --partitions\n" -" /dev/sda1\n" -" /dev/sda2\n" +" virt-cat -d mydomain /var/log/messages | \\\n" +" grep 'dhclient: bound to' | tail\n" "\n" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:64 -msgid "" -"Similarly you can use I<--logical-volumes>, I<--volume-groups>, I<--physical-" -"volumes>, I<--block-devices> to list those items." +#: ../cat/virt-cat.pod:48 +msgid "Find out what packages were recently installed:" msgstr "" -#. type: textblock -#: ../cat/virt-filesystems.pod:67 +#. type: verbatim +#: ../cat/virt-cat.pod:50 +#, no-wrap msgid "" -"You can use these options in combination as well (if you want a combination " -"including filesystems, you have to add I<--filesystems>). Notice that some " -"items fall into several categories (eg. C might be both a " -"partition and a filesystem). These items are listed several times. To get " -"a list which includes absolutely everything that virt-filesystems knows " -"about, use the I<--all> option." +" virt-cat -d mydomain /var/log/yum.log | tail\n" +"\n" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:74 +#: ../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 "" -"UUIDs (because they are quite long) are not shown by default. Add the I<--" -"uuid> option to display device and filesystem UUIDs in the long output." +" virt-cat -d mydomain /var/run/utmp > /tmp/utmp\n" +" who /tmp/utmp\n" +"\n" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:78 -msgid "" -"I<--all --long --uuid> is a useful combination to display all possible " -"information about everything." +#: ../cat/virt-cat.pod:57 +msgid "or who was logged on:" msgstr "" #. type: verbatim -#: ../cat/virt-filesystems.pod:81 +#: ../cat/virt-cat.pod:59 #, no-wrap msgid "" -" $ virt-filesystems -a win.img --all --long --uuid -h\n" -" Name Type VFS Label Size Parent UUID\n" -" /dev/sda1 filesystem ntfs System Reserved 100M - F81C92571C92112C\n" -" /dev/sda2 filesystem ntfs - 20G - F2E8996AE8992E3B\n" -" /dev/sda1 partition - - 100M /dev/sda -\n" -" /dev/sda2 partition - - 20G /dev/sda -\n" -" /dev/sda device - - 20G - -\n" +" virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp\n" +" last -f /tmp/wtmp\n" "\n" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:89 +#: ../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 "" -"For machine-readable output, use I<--csv> to get Comma-Separated Values." +"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-filesystems.pod:110 ../tools/virt-list-filesystems.pl:121 -msgid "B<--all>" +#: ../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-filesystems.pod:112 +#: ../cat/virt-cat.pod:100 msgid "" -"Display everything. This is currently the same as specifying these options: " -"I<--filesystems>, I<--extra>, I<--partitions>, I<--block-devices>, I<--" -"logical-volumes>, I<--volume-groups>, I<--physical-volumes>. (More may be " -"added to this list in future)." +"When prompting for keys and passphrases, virt-cat normally turns echoing off " +"so you cannot see what you are typing. If you are not worried about Tempest " +"attacks and there is no one else in the room you can specify this flag to " +"see what you are typing." msgstr "" -#. type: textblock -#: ../cat/virt-filesystems.pod:117 -msgid "See also I<--long>." +#. type: verbatim +#: ../cat/virt-cat.pod:116 +#, no-wrap +msgid "" +" virt-cat --format=raw -a disk.img file\n" +"\n" msgstr "" -#. type: =item +#. 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:137 ../rescue/virt-rescue.pod:209 +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:143 ../rescue/virt-rescue.pod:215 +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:147 ../rescue/virt-rescue.pod:219 +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:151 ../rescue/virt-rescue.pod:223 +msgid "For compatibility the old style is still supported." +msgstr "" + +#. type: =head1 +#: ../cat/virt-cat.pod:168 ../edit/virt-edit.pod:297 +msgid "USING GUESTFISH" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:170 +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:173 +msgid "Using C is approximately equivalent to doing:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-cat.pod:175 +#, no-wrap +msgid "" +" guestfish --ro -i -d domname download file -\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:177 +msgid "" +"where C is the name of the libvirt guest, and C is the full " +"path to the file. Note the final C<-> (meaning \"output to stdout\")." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:181 +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:186 +#, no-wrap +msgid "" +" guestfish --ro -a disk.img -m /dev/sda1 download file -\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:188 +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:200 ../cat/virt-filesystems.pod:374 +#: ../cat/virt-ls.pod:492 ../df/virt-df.pod:224 ../edit/virt-edit.pod:351 +#: ../fuse/guestmount.pod:314 ../inspector/virt-inspector.pod:377 +#: ../resize/virt-resize.pod:664 ../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:205 +msgid "" +"L, L, L, L, L, L." +msgstr "" + +#. type: textblock +#: ../cat/virt-cat.pod:218 ../inspector/virt-inspector.pod:405 +#: ../resize/virt-resize.pod:696 ../tools/virt-make-fs.pl:588 +msgid "Copyright (C) 2010-2011 Red Hat Inc." +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:5 +msgid "" +"virt-filesystems - List filesystems, partitions, block devices, LVM in a " +"virtual machine or disk image" +msgstr "" + +#. type: verbatim +#: ../cat/virt-filesystems.pod:9 +#, no-wrap +msgid "" +" virt-filesystems [--options] -d domname\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../cat/virt-filesystems.pod:11 +#, no-wrap +msgid "" +" virt-filesystems [--options] -a disk.img [-a disk.img ...]\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:15 +msgid "" +"This tool allows you to discover filesystems, partitions, logical volumes, " +"and their sizes in a disk image or virtual machine. It is a replacement for " +"L and L." +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:20 +msgid "" +"One use for this tool is from shell scripts to iterate over all filesystems " +"from a disk image:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-filesystems.pod:23 +#, no-wrap +msgid "" +" for fs in $(virt-filesystems -a disk.img); do\n" +" # ...\n" +" done\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:27 +msgid "" +"Another use is to list partitions before using another tool to modify those " +"partitions (such as L). If you are curious about what an " +"unknown disk image contains, use this tool along with L." +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:32 +msgid "" +"Various command line options control what this program displays. You need " +"to give either I<-a> or I<-d> options to specify the disk image or libvirt " +"guest respectively. If you just specify that then the program shows " +"filesystems found, one per line, like this:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-filesystems.pod:37 +#, no-wrap +msgid "" +" $ virt-filesystems -a disk.img\n" +" /dev/sda1\n" +" /dev/vg_guest/lv_root\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:41 +msgid "" +"If you add I<-l> or I<--long> then the output includes extra information:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-filesystems.pod:44 +#, no-wrap +msgid "" +" $ virt-filesystems -a disk.img -l\n" +" Name Type VFS Label Size\n" +" /dev/sda1 filesystem ext4 boot 524288000\n" +" /dev/vg_guest/lv_root filesystem ext4 root 10212081664\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:49 +msgid "" +"If you add I<--extra> then non-mountable (swap, unknown) filesystems are " +"shown as well:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-filesystems.pod:52 +#, no-wrap +msgid "" +" $ virt-filesystems -a disk.img --extra\n" +" /dev/sda1\n" +" /dev/vg_guest/lv_root\n" +" /dev/vg_guest/lv_swap\n" +" /dev/vg_guest/lv_data\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:58 +msgid "" +"If you add I<--partitions> then partitions are shown instead of filesystems:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-filesystems.pod:60 +#, no-wrap +msgid "" +" $ virt-filesystems -a disk.img --partitions\n" +" /dev/sda1\n" +" /dev/sda2\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:64 +msgid "" +"Similarly you can use I<--logical-volumes>, I<--volume-groups>, I<--physical-" +"volumes>, I<--block-devices> to list those items." +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:67 +msgid "" +"You can use these options in combination as well (if you want a combination " +"including filesystems, you have to add I<--filesystems>). Notice that some " +"items fall into several categories (eg. C might be both a " +"partition and a filesystem). These items are listed several times. To get " +"a list which includes absolutely everything that virt-filesystems knows " +"about, use the I<--all> option." +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:74 +msgid "" +"UUIDs (because they are quite long) are not shown by default. Add the I<--" +"uuid> option to display device and filesystem UUIDs in the long output." +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:78 +msgid "" +"I<--all --long --uuid> is a useful combination to display all possible " +"information about everything." +msgstr "" + +#. type: verbatim +#: ../cat/virt-filesystems.pod:81 +#, no-wrap +msgid "" +" $ virt-filesystems -a win.img --all --long --uuid -h\n" +" Name Type VFS Label Size Parent UUID\n" +" /dev/sda1 filesystem ntfs System Reserved 100M - F81C92571C92112C\n" +" /dev/sda2 filesystem ntfs - 20G - F2E8996AE8992E3B\n" +" /dev/sda1 partition - - 100M /dev/sda -\n" +" /dev/sda2 partition - - 20G /dev/sda -\n" +" /dev/sda device - - 20G - -\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:89 +msgid "" +"For machine-readable output, use I<--csv> to get Comma-Separated Values." +msgstr "" + +#. type: =item +#: ../cat/virt-filesystems.pod:110 ../tools/virt-list-filesystems.pl:121 +msgid "B<--all>" +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:112 +msgid "" +"Display everything. This is currently the same as specifying these options: " +"I<--filesystems>, I<--extra>, I<--partitions>, I<--block-devices>, I<--" +"logical-volumes>, I<--volume-groups>, I<--physical-volumes>. (More may be " +"added to this list in future)." +msgstr "" + +#. type: textblock +#: ../cat/virt-filesystems.pod:117 +msgid "See also I<--long>." +msgstr "" + +#. type: =item #: ../cat/virt-filesystems.pod:119 msgid "B<--blkdevs>" msgstr "" @@ -1458,8 +2133,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:394 ../tools/virt-win-reg.pl:789 msgid "Copyright (C) 2010 Red Hat Inc." msgstr "" @@ -1661,560 +2335,1362 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:78 +#: ../cat/virt-ls.pod:78 +msgid "" +"The commands above won't find files where the content has changed but the " +"metadata (eg. file size and modification date) is the same. To do that, you " +"need to add the I<--checksum> parameter to both C commands. I<--" +"checksum> can be quite slow since it has to read and compute a checksum of " +"every regular file in the virtual machine." +msgstr "" + +#. type: =head1 +#: ../cat/virt-ls.pod:84 +msgid "OUTPUT MODES" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:86 +msgid "" +"C has four output modes, controlled by different combinations of " +"the I<-l> and I<-R> options." +msgstr "" + +#. type: =head2 +#: ../cat/virt-ls.pod:89 +msgid "SIMPLE LISTING" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:91 +msgid "A simple listing is like the ordinary L command:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-ls.pod:93 +#, no-wrap +msgid "" +" $ virt-ls -d guest /\n" +" bin\n" +" boot\n" +" [etc.]\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../cat/virt-ls.pod:98 +msgid "LONG LISTING" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:100 +msgid "" +"With the I<-l> (I<--long>) option, the output is like the C command " +"(more specifically, like the C function)." +msgstr "" + +#. type: verbatim +#: ../cat/virt-ls.pod:103 +#, no-wrap +msgid "" +" $ virt-ls -l -d guest /\n" +" total 204\n" +" dr-xr-xr-x. 2 root root 4096 2009-08-25 19:06 bin\n" +" dr-xr-xr-x. 5 root root 3072 2009-08-25 19:06 boot\n" +" [etc.]\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:109 +msgid "" +"Note that while this is useful for displaying a directory, do not try " +"parsing this output in another program. Use L " +"instead." +msgstr "" + +#. type: =head2 +#: ../cat/virt-ls.pod:113 +msgid "RECURSIVE LISTING" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:115 +msgid "" +"With the I<-R> (I<--recursive>) option, C lists the names of files " +"and directories recursively:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-ls.pod:118 +#, no-wrap +msgid "" +" $ virt-ls -R -d guest /tmp\n" +" foo\n" +" foo/bar\n" +" [etc.]\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:123 +msgid "" +"To generate this output, C runs the C function and " +"converts C<\\0> characters to C<\\n>." +msgstr "" + +#. type: =head2 +#: ../cat/virt-ls.pod:126 +msgid "RECURSIVE LONG LISTING" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:128 +msgid "" +"Using I<-lR> options together changes the output to display directories " +"recursively, with file stats, and optionally other features such as " +"checksums and extended attributes." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:132 +msgid "" +"Most of the interesting features of C are only available when using " +"I<-lR> mode." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:135 +msgid "" +"The fields are normally space-separated. Filenames are B quoted, so " +"you cannot use the output in another program (because filenames can contain " +"spaces and other unsafe characters). If the guest was untrusted and someone " +"knew you were using C to analyze the guest, they could play tricks " +"on you by creating filenames with embedded newline characters. To B " +"parse the output in another program, use the I<--csv> (Comma-Separated " +"Values) option." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:143 +msgid "" +"Note that this output format is completely unrelated to the C " +"command." +msgstr "" + +#. type: verbatim +#: ../cat/virt-ls.pod:146 +#, no-wrap +msgid "" +" $ virt-ls -lR -d guest /bin\n" +" d 0555 4096 /bin\n" +" - 0755 123 /bin/alsaunmute\n" +" - 0755 28328 /bin/arch\n" +" l 0777 4 /bin/awk -> gawk\n" +" - 0755 27216 /bin/basename\n" +" - 0755 943360 /bin/bash\n" +" [etc.]\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:155 +msgid "These basic fields are always shown:" +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:159 +msgid "type" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:161 +msgid "" +"The file type, one of: C<-> (regular file), C (directory), C " +"(character device), C (block device), C

(named pipe), C (symbolic " +"link), C (socket) or C (unknown)." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:171 +msgid "permissions" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:173 +msgid "The Unix permissions, displayed as a 4 digit octal number." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:175 +msgid "size" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:177 +msgid "" +"The size of the file. This is shown in bytes unless I<-h> or I<--human-" +"readable> option is given, in which case this is shown as a human-readable " +"number." +msgstr "" + +#. type: =head2 +#: ../cat/virt-ls.pod:181 ../fish/guestfish-actions.pod:4263 +msgid "path" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:183 +msgid "The full path of the file or directory." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:185 +msgid "link" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:187 +msgid "For symbolic links only, the link target." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:191 +msgid "" +"In I<-lR> mode, additional command line options enable the display of more " +"fields." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:194 +msgid "" +"With the I<--uids> flag, these additional fields are displayed before the " +"path:" +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:199 +msgid "uid" +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:201 +msgid "gid" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:203 +msgid "" +"The UID and GID of the owner of the file (displayed numerically). Note " +"these only make sense in the context of a Unix-like guest." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:208 +msgid "With the I<--times> flag, these additional fields are displayed:" +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:212 +msgid "atime" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:214 +msgid "The time of last access." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:216 +msgid "mtime" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:218 +msgid "The time of last modification." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:220 +msgid "ctime" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:222 +msgid "The time of last status change." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:226 +msgid "" +"The time fields are displayed as string dates and times, unless one of the " +"I<--time-t>, I<--time-relative> or I<--time-days> flags is given." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:229 +msgid "With the I<--extra-stats> flag, these additional fields are displayed:" +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:233 +msgid "device" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:235 +msgid "" +"The device containing the file (displayed as major:minor). This may not " +"match devices as known to the guest." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:238 +msgid "inode" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:240 +msgid "The inode number." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:242 +msgid "nlink" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:244 +msgid "The number of hard links." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:246 +msgid "rdev" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:248 +msgid "" +"For block and char special files, the device (displayed as major:minor)." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:251 +msgid "blocks" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:253 +msgid "The number of 512 byte blocks allocated to the file." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:257 +msgid "" +"With the I<--checksum> flag, the checksum of the file contents is shown " +"(only for regular files). Computing file checksums can take a considerable " +"amount of time." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:280 +msgid "B<--checksum>" +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:282 +msgid "B<--checksum=crc|md5|sha1|sha224|sha256|sha384|sha512>" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:284 +msgid "" +"Display checksum over file contents for regular files. With no argument, " +"this defaults to using I. Using an argument, you can select the " +"checksum type to use." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:288 ../cat/virt-ls.pod:325 ../cat/virt-ls.pod:358 +#: ../cat/virt-ls.pod:391 ../cat/virt-ls.pod:401 ../cat/virt-ls.pod:408 +#: ../cat/virt-ls.pod:415 ../cat/virt-ls.pod:422 +msgid "" +"This option only has effect in I<-lR> output mode. See L above." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:316 +msgid "" +"When prompting for keys and passphrases, virt-ls 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-ls.pod:321 +msgid "B<--extra-stats>" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:323 +msgid "Display extra stats." +msgstr "" + +#. type: verbatim +#: ../cat/virt-ls.pod:339 +#, no-wrap +msgid "" +" virt-ls --format=raw -a disk.img /dir\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../cat/virt-ls.pod:343 +#, no-wrap +msgid "" +" virt-ls --format=raw -a disk.img --format -a another.img /dir\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:356 +msgid "Display file sizes in human-readable format." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:370 +msgid "B<-R>" +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:372 +msgid "B<--recursive>" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:374 +msgid "" +"Select the mode. With neither of these options, C produces a " +"simple, flat list of the files in the named directory. See L." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:378 +msgid "" +"C produces a \"long listing\", which shows more detail. See L." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:381 +msgid "" +"C produces a recursive list of files starting at the named " +"directory. See L." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:384 +msgid "" +"C produces a recursive long listing which can be more easily " +"parsed. See L." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:387 +msgid "B<--times>" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:389 +msgid "Display time fields." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:394 +msgid "B<--time-days>" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:396 +msgid "Display time fields as days before now (negative if in the future)." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:398 +msgid "" +"Note that C<0> in output means \"up to 1 day before now\", or that the age " +"of the file is between 0 and 86399 seconds." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:404 +msgid "B<--time-relative>" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:406 +msgid "Display time fields as seconds before now (negative if in the future)." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:411 +msgid "B<--time-t>" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:413 +msgid "Display time fields as seconds since the Unix epoch." +msgstr "" + +#. type: =item +#: ../cat/virt-ls.pod:418 +msgid "B<--uids>" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:420 +msgid "Display UID and GID fields." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:445 +msgid "Previous versions of virt-ls allowed you to write either:" +msgstr "" + +#. type: verbatim +#: ../cat/virt-ls.pod:447 +#, no-wrap +msgid "" +" virt-ls disk.img [disk.img ...] /dir\n" +"\n" +msgstr "" + +#. type: verbatim +#: ../cat/virt-ls.pod:451 +#, no-wrap +msgid "" +" virt-ls guestname /dir\n" +"\n" +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:497 +msgid "" +"L, L, L, L, L, L, L, L, " +"L." +msgstr "" + +#. type: textblock +#: ../cat/virt-ls.pod:513 ../df/virt-df.pod:241 ../edit/virt-edit.pod:374 +#: ../rescue/virt-rescue.pod:302 +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 commands above won't find files where the content has changed but the " -"metadata (eg. file size and modification date) is the same. To do that, you " -"need to add the I<--checksum> parameter to both C commands. I<--" -"checksum> can be quite slow since it has to read and compute a checksum of " -"every regular file in the virtual machine." +"The default is to try to detect if SELinux relabelling is required. See L below for more details." msgstr "" #. type: =head1 -#: ../cat/virt-ls.pod:84 -msgid "OUTPUT MODES" +#: ../clone/virt-sysprep.pod:156 +msgid "OPERATIONS" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:86 +#: ../clone/virt-sysprep.pod:158 msgid "" -"C has four output modes, controlled by different combinations of " -"the I<-l> and I<-R> options." -msgstr "" - -#. type: =head2 -#: ../cat/virt-ls.pod:89 -msgid "SIMPLE LISTING" +"If the I<--enable> option is I given, then I, although some are skipped depending on the type of guest." msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:91 -msgid "A simple listing is like the ordinary L command:" +#: ../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 -#: ../cat/virt-ls.pod:93 +#: ../clone/virt-sysprep.pod:165 #, no-wrap msgid "" -" $ virt-ls -d guest /\n" -" bin\n" -" boot\n" -" [etc.]\n" +" virt-sysprep --enable=ssh-hostkeys,udev-persistent-net [etc..]\n" "\n" msgstr "" -#. type: =head2 -#: ../cat/virt-ls.pod:98 -msgid "LONG LISTING" +#. 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 -#: ../cat/virt-ls.pod:100 +#: ../clone/virt-sysprep.pod:170 msgid "" -"With the I<-l> (I<--long>) option, the output is like the C command " -"(more specifically, like the C function)." +"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: verbatim -#: ../cat/virt-ls.pod:103 -#, no-wrap -msgid "" -" $ virt-ls -l -d guest /\n" -" total 204\n" -" dr-xr-xr-x. 2 root root 4096 2009-08-25 19:06 bin\n" -" dr-xr-xr-x. 5 root root 3072 2009-08-25 19:06 boot\n" -" [etc.]\n" -"\n" +#. type: =head2 +#: ../clone/virt-sysprep.pod:174 +msgid "cron-spool" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:109 -msgid "" -"Note that while this is useful for displaying a directory, do not try " -"parsing this output in another program. Use L " -"instead." +#: ../clone/virt-sysprep.pod:176 +msgid "Remove user at-jobs and cron-jobs." msgstr "" #. type: =head2 -#: ../cat/virt-ls.pod:113 -msgid "RECURSIVE LISTING" +#: ../clone/virt-sysprep.pod:178 +msgid "dhcp-client-state" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:115 -msgid "" -"With the I<-R> (I<--recursive>) option, C lists the names of files " -"and directories recursively:" +#: ../clone/virt-sysprep.pod:180 +msgid "Remove DHCP client leases." msgstr "" -#. type: verbatim -#: ../cat/virt-ls.pod:118 -#, no-wrap -msgid "" -" $ virt-ls -R -d guest /tmp\n" -" foo\n" -" foo/bar\n" -" [etc.]\n" -"\n" +#. type: =head2 +#: ../clone/virt-sysprep.pod:182 +msgid "dhcp-server-state" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:123 -msgid "" -"To generate this output, C runs the C function and " -"converts C<\\0> characters to C<\\n>." +#: ../clone/virt-sysprep.pod:184 +msgid "Remove DHCP server leases." msgstr "" #. type: =head2 -#: ../cat/virt-ls.pod:126 -msgid "RECURSIVE LONG LISTING" +#: ../clone/virt-sysprep.pod:186 +msgid "hostname" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:128 +#: ../clone/virt-sysprep.pod:188 msgid "" -"Using I<-lR> options together changes the output to display directories " -"recursively, with file stats, and optionally other features such as " -"checksums and extended attributes." +"Changes the hostname of the guest to the value given in the I<--hostname> " +"parameter." msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:132 +#: ../clone/virt-sysprep.pod:191 msgid "" -"Most of the interesting features of C are only available when using " -"I<-lR> mode." +"If the I<--hostname> parameter is not given, then the hostname is changed to " +"C." msgstr "" -#. type: textblock -#: ../cat/virt-ls.pod:135 -msgid "" -"The fields are normally space-separated. Filenames are B quoted, so " -"you cannot use the output in another program (because filenames can contain " -"spaces and other unsafe characters). If the guest was untrusted and someone " -"knew you were using C to analyze the guest, they could play tricks " -"on you by creating filenames with embedded newline characters. To B " -"parse the output in another program, use the I<--csv> (Comma-Separated " -"Values) option." +#. type: =head2 +#: ../clone/virt-sysprep.pod:194 +msgid "logfiles" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:143 -msgid "" -"Note that this output format is completely unrelated to the C " -"command." +#: ../clone/virt-sysprep.pod:196 +msgid "Remove many log files." msgstr "" -#. type: verbatim -#: ../cat/virt-ls.pod:146 -#, no-wrap -msgid "" -" $ virt-ls -lR -d guest /bin\n" -" d 0555 4096 /bin\n" -" - 0755 123 /bin/alsaunmute\n" -" - 0755 28328 /bin/arch\n" -" l 0777 4 /bin/awk -> gawk\n" -" - 0755 27216 /bin/basename\n" -" - 0755 943360 /bin/bash\n" -" [etc.]\n" -"\n" +#. type: =head2 +#: ../clone/virt-sysprep.pod:198 +msgid "mail-spool" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:155 -msgid "These basic fields are always shown:" +#: ../clone/virt-sysprep.pod:200 +msgid "Remove email from the local mail spool directory." msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:159 -msgid "type" +#. type: =head2 +#: ../clone/virt-sysprep.pod:202 +msgid "net-hwaddr" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:161 +#: ../clone/virt-sysprep.pod:204 msgid "" -"The file type, one of: C<-> (regular file), C (directory), C " -"(character device), C (block device), C

(named pipe), C (symbolic " -"link), C (socket) or C (unknown)." +"Remove HWADDR (hard-coded MAC address) configuration. For Fedora and Red " +"Hat Enterprise Linux, this is removed from C files." msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:171 -msgid "permissions" +#. type: =head2 +#: ../clone/virt-sysprep.pod:207 +msgid "random-seed" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:173 -msgid "The Unix permissions, displayed as a 4 digit octal number." +#: ../clone/virt-sysprep.pod:209 +msgid "" +"Write some random bytes from the host into the random seed file of the guest." msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:175 -msgid "size" +#. 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 -#: ../cat/virt-ls.pod:177 -msgid "" -"The size of the file. This is shown in bytes unless I<-h> or I<--human-" -"readable> option is given, in which case this is shown as a human-readable " -"number." +#: ../clone/virt-sysprep.pod:216 +msgid "Remove the RHN system ID." msgstr "" #. type: =head2 -#: ../cat/virt-ls.pod:181 ../fish/guestfish-actions.pod:4255 -msgid "path" +#: ../clone/virt-sysprep.pod:218 +msgid "smolt-uuid" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:183 -msgid "The full path of the file or directory." +#: ../clone/virt-sysprep.pod:220 +msgid "Remove the Smolt hardware UUID." msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:185 -msgid "link" +#. type: =head2 +#: ../clone/virt-sysprep.pod:222 +msgid "ssh-hostkeys" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:187 -msgid "For symbolic links only, the link target." +#: ../clone/virt-sysprep.pod:224 +msgid "Remove the SSH host keys in the guest." msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:191 +#: ../clone/virt-sysprep.pod:226 msgid "" -"In I<-lR> mode, additional command line options enable the display of more " -"fields." +"The SSH host keys are regenerated (differently) next time the guest is " +"booted." msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:194 +#: ../clone/virt-sysprep.pod:229 msgid "" -"With the I<--uids> flag, these additional fields are displayed before the " -"path:" +"If, after cloning, the guest gets the same IP address, ssh will give you a " +"stark warning about the host key changing:" msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:199 -msgid "uid" +#. 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: =item -#: ../cat/virt-ls.pod:201 -msgid "gid" +#. type: =head2 +#: ../clone/virt-sysprep.pod:237 +msgid "udev-persistent-net" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:203 +#: ../clone/virt-sysprep.pod:239 msgid "" -"The UID and GID of the owner of the file (displayed numerically). Note " -"these only make sense in the context of a Unix-like guest." +"Remove udev persistent net rules which map the guest's existing MAC address " +"to a fixed ethernet device (eg. eth0)." msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:208 -msgid "With the I<--times> flag, these additional fields are displayed:" +#: ../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: =item -#: ../cat/virt-ls.pod:212 -msgid "atime" +#. type: =head2 +#: ../clone/virt-sysprep.pod:247 +msgid "utmp" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:214 -msgid "The time of last access." +#: ../clone/virt-sysprep.pod:249 +msgid "Remove the utmp file." msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:216 -msgid "mtime" +#. 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: textblock -#: ../cat/virt-ls.pod:218 -msgid "The time of last modification." +#. type: =head2 +#: ../clone/virt-sysprep.pod:255 +msgid "yum-uuid" msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:220 -msgid "ctime" +#. type: textblock +#: ../clone/virt-sysprep.pod:257 +msgid "Remove the yum UUID." msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:222 -msgid "The time of last status change." +#: ../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 -#: ../cat/virt-ls.pod:226 +#: ../clone/virt-sysprep.pod:264 msgid "" -"The time fields are displayed as string dates and times, unless one of the " -"I<--time-t>, I<--time-relative> or I<--time-days> flags is given." +"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 -#: ../cat/virt-ls.pod:229 -msgid "With the I<--extra-stats> flag, these additional fields are displayed:" +#: ../clone/virt-sysprep.pod:269 +msgid "A virtual machine (when switched off) consists of two parts:" msgstr "" #. type: =item -#: ../cat/virt-ls.pod:233 -msgid "device" +#: ../clone/virt-sysprep.pod:273 +msgid "I" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:235 +#: ../clone/virt-sysprep.pod:275 msgid "" -"The device containing the file (displayed as major:minor). This may not " -"match devices as known to the guest." +"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: =item -#: ../cat/virt-ls.pod:238 -msgid "inode" +#. type: textblock +#: ../clone/virt-sysprep.pod:279 +msgid "Some configuration items that might need to be changed:" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:240 -msgid "The inode number." +#: ../clone/virt-sysprep.pod:285 +msgid "name" msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:242 -msgid "nlink" +#. type: textblock +#: ../clone/virt-sysprep.pod:289 ../clone/virt-sysprep.pod:316 +msgid "UUID" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:244 -msgid "The number of hard links." +#: ../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 -#: ../cat/virt-ls.pod:246 -msgid "rdev" +#: ../clone/virt-sysprep.pod:301 +msgid "I" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:248 +#: ../clone/virt-sysprep.pod:303 msgid "" -"For block and char special files, the device (displayed as major:minor)." +"One or more hard disk images, themselves containing files, directories, " +"applications, kernels, configuration, etc." msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:251 -msgid "blocks" +#. type: textblock +#: ../clone/virt-sysprep.pod:306 +msgid "Some things inside the block devices that might need to be changed:" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:253 -msgid "The number of 512 byte blocks allocated to the file." +#: ../clone/virt-sysprep.pod:312 +msgid "hostname and other net configuration" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:257 -msgid "" -"With the I<--checksum> flag, the checksum of the file contents is shown " -"(only for regular files). Computing file checksums can take a considerable " -"amount of time." +#: ../clone/virt-sysprep.pod:320 +msgid "SSH host keys" msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:280 -msgid "B<--checksum>" +#. type: textblock +#: ../clone/virt-sysprep.pod:324 +msgid "Windows unique security ID (SID)" msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:282 -msgid "B<--checksum=crc|md5|sha1|sha224|sha256|sha384|sha512>" +#. 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 -#: ../cat/virt-ls.pod:284 +#: ../clone/virt-sysprep.pod:336 msgid "" -"Display checksum over file contents for regular files. With no argument, " -"this defaults to using I. Using an argument, you can select the " -"checksum type to use." +"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: textblock -#: ../cat/virt-ls.pod:288 ../cat/virt-ls.pod:325 ../cat/virt-ls.pod:358 -#: ../cat/virt-ls.pod:391 ../cat/virt-ls.pod:401 ../cat/virt-ls.pod:408 -#: ../cat/virt-ls.pod:415 ../cat/virt-ls.pod:422 +#. type: verbatim +#: ../clone/virt-sysprep.pod:341 +#, no-wrap msgid "" -"This option only has effect in I<-lR> output mode. See L above." +" virt-sysprep\n" +" |\n" +" v\n" +" original guest --------> template ---------->\n" +" \\------> cloned\n" +" \\-----> guests\n" +" \\---->\n" +"\n" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:316 +#: ../clone/virt-sysprep.pod:349 msgid "" -"When prompting for keys and passphrases, virt-ls 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." +"You can, of course, just copy the block device on the host using L or " +"L." msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:321 -msgid "B<--extra-stats>" +#. 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 -#: ../cat/virt-ls.pod:323 -msgid "Display extra stats." +#: ../clone/virt-sysprep.pod:358 +msgid "There are some smarter (and faster) ways too:" msgstr "" #. type: verbatim -#: ../cat/virt-ls.pod:339 +#: ../clone/virt-sysprep.pod:364 #, no-wrap msgid "" -" virt-ls --format=raw -a disk.img /dir\n" +" snapshot\n" +" template ---------->\n" +" \\------> cloned\n" +" \\-----> guests\n" +" \\---->\n" "\n" msgstr "" -#. type: verbatim -#: ../cat/virt-ls.pod:343 -#, no-wrap +#. type: textblock +#: ../clone/virt-sysprep.pod:370 msgid "" -" virt-ls --format=raw -a disk.img --format -a another.img /dir\n" -"\n" +"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 -#: ../cat/virt-ls.pod:356 -msgid "Display file sizes in human-readable format." +#: ../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: =item -#: ../cat/virt-ls.pod:370 -msgid "B<-R>" +#. 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: =item -#: ../cat/virt-ls.pod:372 -msgid "B<--recursive>" +#. type: textblock +#: ../clone/virt-sysprep.pod:386 +msgid "Get your NAS to snapshot and/or duplicate the LUN." msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:374 -msgid "" -"Select the mode. With neither of these options, C produces a " -"simple, flat list of the files in the named directory. See L." +#: ../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 -#: ../cat/virt-ls.pod:378 +#: ../clone/virt-sysprep.pod:396 msgid "" -"C produces a \"long listing\", which shows more detail. See L." +"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 -#: ../cat/virt-ls.pod:381 +#: ../clone/virt-sysprep.pod:401 msgid "" -"C produces a recursive list of files starting at the named " -"directory. See L." +"L does not use libguestfs and cannot look inside the disk " +"image. This was the original motivation to write virt-sysprep." msgstr "" -#. type: textblock -#: ../cat/virt-ls.pod:384 +#. type: =head2 +#: ../clone/virt-sysprep.pod:404 +msgid "SPARSIFY" +msgstr "" + +#. type: verbatim +#: ../clone/virt-sysprep.pod:406 +#, no-wrap msgid "" -"C produces a recursive long listing which can be more easily " -"parsed. See L." +" virt-sparsify\n" +" original guest --------> template\n" +"\n" msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:387 -msgid "B<--times>" +#. 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 -#: ../cat/virt-ls.pod:389 -msgid "Display time fields." +#: ../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: =item -#: ../cat/virt-ls.pod:394 -msgid "B<--time-days>" +#. type: =head2 +#: ../clone/virt-sysprep.pod:415 +msgid "RESIZE" msgstr "" -#. type: textblock -#: ../cat/virt-ls.pod:396 -msgid "Display time fields as days before now (negative if in the future)." +#. type: verbatim +#: ../clone/virt-sysprep.pod:417 +#, no-wrap +msgid "" +" virt-resize\n" +" template ---------->\n" +" \\------> cloned\n" +" \\-----> guests\n" +" \\---->\n" +"\n" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:398 +#: ../clone/virt-sysprep.pod:423 msgid "" -"Note that C<0> in output means \"up to 1 day before now\", or that the age " -"of the file is between 0 and 86399 seconds." +"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: =item -#: ../cat/virt-ls.pod:404 -msgid "B<--time-relative>" +#. type: =head1 +#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1149 +msgid "SECURITY" msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:406 -msgid "Display time fields as seconds before now (negative if in the future)." +#: ../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: =item -#: ../cat/virt-ls.pod:411 -msgid "B<--time-t>" +#. 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 -#: ../cat/virt-ls.pod:413 -msgid "Display time fields as seconds since the Unix epoch." +#: ../clone/virt-sysprep.pod:444 +msgid "I<(This section applies to Linux guests only)>" msgstr "" -#. type: =item -#: ../cat/virt-ls.pod:418 -msgid "B<--uids>" +#. 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 -#: ../cat/virt-ls.pod:420 -msgid "Display UID and GID fields." +#: ../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 -#: ../cat/virt-ls.pod:445 -msgid "Previous versions of virt-ls allowed you to write either:" +#: ../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 -#: ../cat/virt-ls.pod:447 +#: ../clone/virt-sysprep.pod:457 #, no-wrap msgid "" -" virt-ls disk.img [disk.img ...] /dir\n" +" cp template.img newguest.img\n" +" virt-sysprep --enable=random-seed -a newguest.img\n" "\n" msgstr "" -#. type: verbatim -#: ../cat/virt-ls.pod:451 -#, no-wrap +#. 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 "" -" virt-ls guestname /dir\n" -"\n" +"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 -#: ../cat/virt-ls.pod:497 +#: ../clone/virt-sysprep.pod:469 msgid "" -"L, L, L, L, L, L, L, L, " -"L." +"You can force relabelling for all guests by supplying the I<--selinux-" +"relabel> option." msgstr "" #. type: textblock -#: ../cat/virt-ls.pod:513 ../df/virt-df.pod:241 ../edit/virt-edit.pod:374 -#: ../rescue/virt-rescue.pod:302 -msgid "Copyright (C) 2009-2011 Red Hat Inc." +#: ../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 @@ -2357,7 +3833,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 "" @@ -2388,73 +3864,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:1139 ../fish/guestfish-actions.pod:1143 -#: ../fish/guestfish-actions.pod:1147 ../fish/guestfish-actions.pod:1151 -#: ../fish/guestfish-actions.pod:1159 ../fish/guestfish-actions.pod:1163 -#: ../fish/guestfish-actions.pod:1167 ../fish/guestfish-actions.pod:1177 -#: ../fish/guestfish-actions.pod:1181 ../fish/guestfish-actions.pod:1185 -#: ../fish/guestfish-actions.pod:1275 ../fish/guestfish-actions.pod:1279 -#: ../fish/guestfish-actions.pod:1284 ../fish/guestfish-actions.pod:1289 -#: ../fish/guestfish-actions.pod:1331 ../fish/guestfish-actions.pod:1335 -#: ../fish/guestfish-actions.pod:1340 ../fish/guestfish-actions.pod:1596 -#: ../fish/guestfish-actions.pod:1603 ../fish/guestfish-actions.pod:1610 -#: ../fish/guestfish-actions.pod:2005 ../fish/guestfish-actions.pod:2011 -#: ../fish/guestfish-actions.pod:2019 ../fish/guestfish-actions.pod:2026 -#: ../fish/guestfish-actions.pod:2033 ../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:1774 -#: ../src/guestfs-actions.pod:1778 ../src/guestfs-actions.pod:1782 -#: ../src/guestfs-actions.pod:1786 ../src/guestfs-actions.pod:1794 -#: ../src/guestfs-actions.pod:1798 ../src/guestfs-actions.pod:1802 -#: ../src/guestfs-actions.pod:1812 ../src/guestfs-actions.pod:1816 -#: ../src/guestfs-actions.pod:1820 ../src/guestfs-actions.pod:1958 -#: ../src/guestfs-actions.pod:1962 ../src/guestfs-actions.pod:1967 -#: ../src/guestfs-actions.pod:1972 ../src/guestfs-actions.pod:2033 -#: ../src/guestfs-actions.pod:2037 ../src/guestfs-actions.pod:2042 -#: ../src/guestfs-actions.pod:2455 ../src/guestfs-actions.pod:2462 -#: ../src/guestfs-actions.pod:2469 ../src/guestfs-actions.pod:3006 -#: ../src/guestfs-actions.pod:3012 ../src/guestfs-actions.pod:3020 -#: ../src/guestfs-actions.pod:3027 ../src/guestfs-actions.pod:3034 -#: ../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:1091 -#: ../src/guestfs.pod:1095 ../src/guestfs.pod:1099 ../src/guestfs.pod:1104 -#: ../src/guestfs.pod:1112 ../src/guestfs.pod:1131 ../src/guestfs.pod:1139 -#: ../src/guestfs.pod:1161 ../src/guestfs.pod:1165 ../src/guestfs.pod:1169 -#: ../src/guestfs.pod:1173 ../src/guestfs.pod:1177 ../src/guestfs.pod:1181 -#: ../src/guestfs.pod:1671 ../src/guestfs.pod:1676 ../src/guestfs.pod:1680 -#: ../src/guestfs.pod:1782 ../src/guestfs.pod:1787 ../src/guestfs.pod:1791 -#: ../src/guestfs.pod:1801 ../src/guestfs.pod:2090 ../src/guestfs.pod:2095 -#: ../src/guestfs.pod:2101 ../src/guestfs.pod:2109 ../src/guestfs.pod:2556 -#: ../src/guestfs.pod:2562 ../src/guestfs.pod:2567 ../src/guestfs.pod:2573 -#: ../src/guestfs.pod:2956 ../src/guestfs.pod:2961 ../src/guestfs.pod:2965 -#: ../src/guestfs.pod:2969 ../src/guestfs.pod:2973 ../src/guestfs.pod:2987 -#: ../src/guestfs.pod:2992 ../src/guestfs.pod:3218 ../src/guestfs.pod:3222 -#: ../src/guestfs.pod:3226 ../src/guestfs.pod:3230 -#: ../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 "" @@ -2677,7 +4086,7 @@ msgstr "" #. type: =item #: ../edit/virt-edit.pod:95 ../fish/guestfish.pod:181 -#: ../fuse/guestmount.pod:96 ../inspector/virt-inspector.pod:74 +#: ../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>" @@ -2685,7 +4094,7 @@ msgstr "" #. type: =item #: ../edit/virt-edit.pod:97 ../fish/guestfish.pod:183 -#: ../fuse/guestmount.pod:98 ../inspector/virt-inspector.pod:76 +#: ../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>" @@ -3048,9 +4457,9 @@ msgid "" msgstr "" #. type: =head1 -#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1086 -#: ../rescue/virt-rescue.pod:261 ../src/guestfs.pod:3103 -#: ../test-tool/libguestfs-test-tool.pod:95 +#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119 +#: ../rescue/virt-rescue.pod:261 ../sparsify/virt-sparsify.pod:232 +#: ../src/guestfs.pod:3194 ../test-tool/libguestfs-test-tool.pod:95 msgid "ENVIRONMENT VARIABLES" msgstr "" @@ -3310,13 +4719,13 @@ 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/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:319 +#: ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:328 #: ../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:3237 +#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3333 #: ../test-tool/libguestfs-test-tool.pod:106 msgid "AUTHORS" msgstr "" @@ -3324,13 +4733,13 @@ 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/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:321 +#: ../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:3239 +#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3335 #: ../test-tool/libguestfs-test-tool.pod:108 msgid "Richard W.M. Jones (C)" msgstr "" @@ -3360,7 +4769,7 @@ msgstr "" #: ../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:3246 +#: ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3342 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 " @@ -3375,7 +4784,7 @@ msgstr "" #: ../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:3251 +#: ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3347 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 " @@ -3390,7 +4799,7 @@ msgstr "" #: ../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:3256 +#: ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3352 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, " @@ -3408,7 +4817,7 @@ msgstr "" msgid "" " #include \n" " \n" -msgstr "" +msgstr "#include \n" #. type: verbatim #: ../examples/guestfs-examples.pod:11 @@ -3429,6 +4838,10 @@ msgid "" " cc prog.c -o prog `pkg-config libguestfs --cflags --libs`\n" "\n" msgstr "" +" cc prog.c -o prog -lguestfs\n" +"or:\n" +" cc prog.c -o prog `pkg-config libguestfs --cflags --libs`\n" +"\n" #. type: textblock #: ../examples/guestfs-examples.pod:21 @@ -3735,11 +5148,11 @@ msgstr "" #. type: textblock #: ../examples/guestfs-recipes.pod:128 ../fish/guestfish-actions.pod:9 -#: ../fish/guestfish-actions.pod:1327 ../fish/guestfish-actions.pod:1592 -#: ../fish/guestfish-actions.pod:2001 ../src/guestfs-actions.pod:18 -#: ../src/guestfs-actions.pod:2029 ../src/guestfs-actions.pod:2451 -#: ../src/guestfs-actions.pod:3002 ../src/guestfs.pod:1667 -#: ../tools/virt-win-reg.pl:706 +#: ../fish/guestfish-actions.pod:1332 ../fish/guestfish-actions.pod:1597 +#: ../fish/guestfish-actions.pod:2014 ../src/guestfs-actions.pod:18 +#: ../src/guestfs-actions.pod:2039 ../src/guestfs-actions.pod:2463 +#: ../src/guestfs-actions.pod:3022 ../src/guestfs.pod:1670 +#: ../tools/virt-win-reg.pl:717 msgid "Notes:" msgstr "" @@ -3813,7 +5226,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:164 +#: ../examples/guestfs-recipes.pod:164 ../fish/guestfish.pod:984 #, no-wrap msgid "" " set -e\n" @@ -4333,31 +5746,30 @@ 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:168 +#: ../fish/guestfish-actions.pod:182 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:1026 -#: ../fish/guestfish-actions.pod:1386 ../fish/guestfish-actions.pod:1400 -#: ../fish/guestfish-actions.pod:3157 ../fish/guestfish-actions.pod:3364 -#: ../fish/guestfish-actions.pod:3478 ../fish/guestfish-actions.pod:3526 -#: ../fish/guestfish-actions.pod:4439 ../fish/guestfish-actions.pod:4462 -#: ../fish/guestfish-actions.pod:4484 ../fish/guestfish-actions.pod:4522 -#: ../fish/guestfish-actions.pod:5171 ../fish/guestfish-actions.pod:5277 -#: ../src/guestfs-actions.pod:10 ../src/guestfs-actions.pod:252 -#: ../src/guestfs-actions.pod:273 ../src/guestfs-actions.pod:1615 -#: ../src/guestfs-actions.pod:2114 ../src/guestfs-actions.pod:2135 -#: ../src/guestfs-actions.pod:4765 ../src/guestfs-actions.pod:5068 -#: ../src/guestfs-actions.pod:5297 ../src/guestfs-actions.pod:5397 -#: ../src/guestfs-actions.pod:6677 ../src/guestfs-actions.pod:6721 -#: ../src/guestfs-actions.pod:6755 ../src/guestfs-actions.pod:6818 -#: ../src/guestfs-actions.pod:7750 ../src/guestfs-actions.pod:7859 -#: ../src/guestfs-actions.pod:8042 +#: ../fish/guestfish-actions.pod:31 ../fish/guestfish-actions.pod:171 +#: ../fish/guestfish-actions.pod:185 ../fish/guestfish-actions.pod:1031 +#: ../fish/guestfish-actions.pod:1391 ../fish/guestfish-actions.pod:1405 +#: ../fish/guestfish-actions.pod:3175 ../fish/guestfish-actions.pod:3486 +#: ../fish/guestfish-actions.pod:3534 ../fish/guestfish-actions.pod:4447 +#: ../fish/guestfish-actions.pod:4470 ../fish/guestfish-actions.pod:4492 +#: ../fish/guestfish-actions.pod:4530 ../fish/guestfish-actions.pod:5179 +#: ../fish/guestfish-actions.pod:5285 ../src/guestfs-actions.pod:10 +#: ../src/guestfs-actions.pod:258 ../src/guestfs-actions.pod:279 +#: ../src/guestfs-actions.pod:1625 ../src/guestfs-actions.pod:2124 +#: ../src/guestfs-actions.pod:2145 ../src/guestfs-actions.pod:4790 +#: ../src/guestfs-actions.pod:5312 ../src/guestfs-actions.pod:5412 +#: ../src/guestfs-actions.pod:6694 ../src/guestfs-actions.pod:6738 +#: ../src/guestfs-actions.pod:6772 ../src/guestfs-actions.pod:6835 +#: ../src/guestfs-actions.pod:7767 ../src/guestfs-actions.pod:7876 +#: ../src/guestfs-actions.pod:8059 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 " @@ -4449,11 +5861,11 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:79 ../fish/guestfish-actions.pod:143 -#: ../fish/guestfish-actions.pod:573 ../fish/guestfish-actions.pod:784 -#: ../fish/guestfish-actions.pod:805 ../fish/guestfish-actions.pod:2040 -#: ../fish/guestfish-actions.pod:3206 ../fish/guestfish-actions.pod:3379 -#: ../fish/guestfish-actions.pod:3514 +#: ../fish/guestfish-actions.pod:79 ../fish/guestfish-actions.pod:148 +#: ../fish/guestfish-actions.pod:578 ../fish/guestfish-actions.pod:789 +#: ../fish/guestfish-actions.pod:810 ../fish/guestfish-actions.pod:2053 +#: ../fish/guestfish-actions.pod:3224 ../fish/guestfish-actions.pod:3387 +#: ../fish/guestfish-actions.pod:3522 msgid "" "This command has one or more optional arguments. See L." msgstr "" @@ -4503,12 +5915,12 @@ msgstr "" #: ../fish/guestfish-actions.pod:100 #, no-wrap msgid "" -" add-drive-opts filename [readonly:..] [format:..] [iface:..]\n" +" add-drive-opts filename [readonly:..] [format:..] [iface:..] [name:..]\n" "\n" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:102 ../src/guestfs-actions.pod:160 +#: ../fish/guestfish-actions.pod:102 ../src/guestfs-actions.pod:161 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 " @@ -4516,7 +5928,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:107 ../src/guestfs-actions.pod:165 +#: ../fish/guestfish-actions.pod:107 ../src/guestfs-actions.pod:166 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 " @@ -4525,23 +5937,23 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:113 ../src/guestfs-actions.pod:171 +#: ../fish/guestfish-actions.pod:113 ../src/guestfs-actions.pod:172 msgid "This call checks that C exists." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:115 ../fish/guestfish-actions.pod:3168 -#: ../src/guestfs-actions.pod:173 ../src/guestfs-actions.pod:4802 +#: ../fish/guestfish-actions.pod:115 ../fish/guestfish-actions.pod:3186 +#: ../src/guestfs-actions.pod:174 ../src/guestfs-actions.pod:4827 msgid "The optional arguments are:" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:119 ../src/guestfs-actions.pod:177 +#: ../fish/guestfish-actions.pod:119 ../src/guestfs-actions.pod:178 msgid "C" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:121 ../src/guestfs-actions.pod:179 +#: ../fish/guestfish-actions.pod:121 ../src/guestfs-actions.pod:180 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 " @@ -4549,7 +5961,7 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:125 ../src/guestfs-actions.pod:183 +#: ../fish/guestfish-actions.pod:125 ../src/guestfs-actions.pod:184 msgid "C" msgstr "" @@ -4562,7 +5974,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:131 ../src/guestfs-actions.pod:189 +#: ../fish/guestfish-actions.pod:131 ../src/guestfs-actions.pod:190 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 " @@ -4570,7 +5982,7 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:136 ../src/guestfs-actions.pod:194 +#: ../fish/guestfish-actions.pod:136 ../src/guestfs-actions.pod:195 msgid "C" msgstr "" @@ -4581,18 +5993,30 @@ msgid "" "add-drive-with-if> call (q.v.)" msgstr "" +#. type: =item +#: ../fish/guestfish-actions.pod:141 ../src/guestfs-actions.pod:200 +msgid "C" +msgstr "" + +#. type: textblock +#: ../fish/guestfish-actions.pod:143 ../src/guestfs-actions.pod:202 +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:150 msgid "add-drive-ro" msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:147 +#: ../fish/guestfish-actions.pod:152 msgid "add-ro" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:149 +#: ../fish/guestfish-actions.pod:154 #, no-wrap msgid "" " add-drive-ro filename\n" @@ -4600,7 +6024,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:151 +#: ../fish/guestfish-actions.pod:156 msgid "" "This function is the equivalent of calling L with the " "optional parameter C set to 1, so the disk " @@ -4608,12 +6032,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:156 +#: ../fish/guestfish-actions.pod:161 msgid "add-drive-ro-with-if" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:158 +#: ../fish/guestfish-actions.pod:163 #, no-wrap msgid "" " add-drive-ro-with-if filename iface\n" @@ -4621,19 +6045,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:160 +#: ../fish/guestfish-actions.pod:165 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:175 msgid "add-drive-with-if" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:172 +#: ../fish/guestfish-actions.pod:177 #, no-wrap msgid "" " add-drive-with-if filename iface\n" @@ -4641,19 +6065,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:174 +#: ../fish/guestfish-actions.pod:179 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:189 msgid "aug-clear" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:186 +#: ../fish/guestfish-actions.pod:191 #, no-wrap msgid "" " aug-clear augpath\n" @@ -4661,19 +6085,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:188 ../src/guestfs-actions.pod:290 +#: ../fish/guestfish-actions.pod:193 ../src/guestfs-actions.pod:296 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:196 msgid "aug-close" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:193 +#: ../fish/guestfish-actions.pod:198 #, no-wrap msgid "" " aug-close\n" @@ -4681,7 +6105,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:195 +#: ../fish/guestfish-actions.pod:200 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 " @@ -4689,12 +6113,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:200 +#: ../fish/guestfish-actions.pod:205 msgid "aug-defnode" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:202 +#: ../fish/guestfish-actions.pod:207 #, no-wrap msgid "" " aug-defnode name expr val\n" @@ -4702,13 +6126,13 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:204 ../src/guestfs-actions.pod:319 +#: ../fish/guestfish-actions.pod:209 ../src/guestfs-actions.pod:325 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:212 msgid "" "If C evaluates to an empty nodeset, a node is created, equivalent to " "calling L C, C. C will be the nodeset " @@ -4716,19 +6140,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:211 ../src/guestfs-actions.pod:326 +#: ../fish/guestfish-actions.pod:216 ../src/guestfs-actions.pod:332 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:220 msgid "aug-defvar" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:217 +#: ../fish/guestfish-actions.pod:222 #, no-wrap msgid "" " aug-defvar name expr\n" @@ -4736,26 +6160,26 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:219 ../src/guestfs-actions.pod:343 +#: ../fish/guestfish-actions.pod:224 ../src/guestfs-actions.pod:349 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:228 ../src/guestfs-actions.pod:353 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:231 msgid "aug-get" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:228 +#: ../fish/guestfish-actions.pod:233 #, no-wrap msgid "" " aug-get augpath\n" @@ -4763,19 +6187,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:230 ../src/guestfs-actions.pod:360 +#: ../fish/guestfish-actions.pod:235 ../src/guestfs-actions.pod:366 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:238 msgid "aug-init" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:235 +#: ../fish/guestfish-actions.pod:240 #, no-wrap msgid "" " aug-init root flags\n" @@ -4783,7 +6207,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:237 ../src/guestfs-actions.pod:375 +#: ../fish/guestfish-actions.pod:242 ../src/guestfs-actions.pod:381 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 " @@ -4791,57 +6215,57 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:241 +#: ../fish/guestfish-actions.pod:246 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:249 ../src/guestfs-actions.pod:388 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:252 ../src/guestfs-actions.pod:391 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:258 ../src/guestfs-actions.pod:397 msgid "C = 1" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:255 ../src/guestfs-actions.pod:393 +#: ../fish/guestfish-actions.pod:260 ../src/guestfs-actions.pod:399 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:262 ../src/guestfs-actions.pod:401 msgid "C = 2" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:259 ../src/guestfs-actions.pod:397 +#: ../fish/guestfish-actions.pod:264 ../src/guestfs-actions.pod:403 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:267 ../src/guestfs-actions.pod:406 msgid "C = 4" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:264 ../src/guestfs-actions.pod:402 +#: ../fish/guestfish-actions.pod:269 ../src/guestfs-actions.pod:408 msgid "Typecheck lenses." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:266 +#: ../fish/guestfish-actions.pod:271 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 " @@ -4849,52 +6273,52 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:271 ../src/guestfs-actions.pod:409 +#: ../fish/guestfish-actions.pod:276 ../src/guestfs-actions.pod:415 msgid "C = 8" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:273 ../src/guestfs-actions.pod:411 +#: ../fish/guestfish-actions.pod:278 ../src/guestfs-actions.pod:417 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:280 ../src/guestfs-actions.pod:419 msgid "C = 16" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:277 ../src/guestfs-actions.pod:415 +#: ../fish/guestfish-actions.pod:282 ../src/guestfs-actions.pod:421 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:284 ../src/guestfs-actions.pod:423 msgid "C = 32" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:281 +#: ../fish/guestfish-actions.pod:286 msgid "Do not load the tree in L." msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:285 +#: ../fish/guestfish-actions.pod:290 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:292 ../src/guestfs-actions.pod:431 msgid "To find out more about Augeas, see L." msgstr "" #. type: =head2 -#: ../fish/guestfish-actions.pod:289 +#: ../fish/guestfish-actions.pod:294 msgid "aug-insert" msgstr "" #. type: verbatim -#: ../fish/guestfish-actions.pod:291 +#: ../fish/guestfish-actions.pod:296 #, no-wrap msgid "" " aug-insert augpath label true|false\n" @@ -4902,26 +6326,26 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish-actions.pod:293 ../src/guestfs-actions.pod:439 +#: ../fish/guestfish-actions.pod:298 ../src/guestfs-actions.pod:445 msgid "" "Create a new sibling C