# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Red Hat Inc. # This file is distributed under the same license as the libguestfs package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: libguestfs 1.43.1\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" "POT-Creation-Date: 2020-08-12 15:34+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: =head1 #: align/virt-alignment-scan.pod:1 #: appliance/libguestfs-make-fixed-appliance.pod:1 #: builder/virt-builder-repository.pod:8 builder/virt-builder.pod:8 #: builder/virt-index-validate.pod:1 cat/virt-cat.pod:1 #: cat/virt-filesystems.pod:1 cat/virt-log.pod:1 cat/virt-ls.pod:1 #: cat/virt-tail.pod:1 customize/virt-customize.pod:1 daemon/guestfsd.pod:1 #: df/virt-df.pod:1 dib/virt-dib.pod:1 diff/virt-diff.pod:1 #: docs/guestfs-building.pod:1 docs/guestfs-faq.pod:1 #: docs/guestfs-hacking.pod:1 docs/guestfs-internals.pod:1 #: docs/guestfs-performance.pod:1 docs/guestfs-recipes.pod:8 #: docs/guestfs-release-notes-1.10.pod:1 docs/guestfs-release-notes-1.12.pod:1 #: docs/guestfs-release-notes-1.14.pod:1 docs/guestfs-release-notes-1.16.pod:1 #: docs/guestfs-release-notes-1.18.pod:1 docs/guestfs-release-notes-1.20.pod:1 #: docs/guestfs-release-notes-1.22.pod:1 docs/guestfs-release-notes-1.24.pod:1 #: docs/guestfs-release-notes-1.26.pod:1 docs/guestfs-release-notes-1.28.pod:1 #: docs/guestfs-release-notes-1.30.pod:1 docs/guestfs-release-notes-1.32.pod:1 #: docs/guestfs-release-notes-1.34.pod:1 docs/guestfs-release-notes-1.36.pod:1 #: docs/guestfs-release-notes-1.38.pod:1 docs/guestfs-release-notes-1.4.pod:1 #: docs/guestfs-release-notes-1.40.pod:1 docs/guestfs-release-notes-1.42.pod:1 #: docs/guestfs-release-notes-1.6.pod:1 docs/guestfs-release-notes-1.8.pod:1 #: docs/guestfs-release-notes-historical.pod:1 docs/guestfs-security.pod:1 #: docs/guestfs-testing.pod:1 edit/virt-edit.pod:1 #: erlang/examples/guestfs-erlang.pod:1 examples/guestfs-examples.pod:1 #: fish/guestfish.pod:1 fish/libguestfs-tools.conf.pod:1 #: fish/virt-copy-in.pod:1 fish/virt-copy-out.pod:1 fish/virt-tar-in.pod:1 #: fish/virt-tar-out.pod:1 format/virt-format.pod:1 fuse/guestmount.pod:1 #: fuse/guestunmount.pod:1 get-kernel/virt-get-kernel.pod:1 #: gobject/guestfs-gobject.pod:1 golang/examples/guestfs-golang.pod:1 #: inspector/virt-inspector.pod:1 java/examples/guestfs-java.pod:1 #: lib/guestfs.pod:1 lua/examples/guestfs-lua.pod:1 make-fs/virt-make-fs.pod:1 #: ocaml/examples/guestfs-ocaml.pod:1 perl/examples/guestfs-perl.pod:1 #: python/examples/guestfs-python.pod:1 rescue/virt-rescue.pod:1 #: resize/virt-resize.pod:1 ruby/examples/guestfs-ruby.pod:1 #: sparsify/virt-sparsify.pod:1 sysprep/virt-sysprep.pod:1 #: test-tool/libguestfs-test-tool.pod:1 tools/virt-list-filesystems:27 #: tools/virt-list-partitions:27 tools/virt-tar:28 tools/virt-win-reg:32 msgid "NAME" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:3 msgid "virt-alignment-scan - Check alignment of virtual machine partitions" msgstr "" #. type: =head1 #: align/virt-alignment-scan.pod:5 #: appliance/libguestfs-make-fixed-appliance.pod:5 #: builder/virt-builder-repository.pod:12 builder/virt-builder.pod:12 #: builder/virt-index-validate.pod:5 cat/virt-cat.pod:5 #: cat/virt-filesystems.pod:5 cat/virt-log.pod:5 cat/virt-ls.pod:5 #: cat/virt-tail.pod:5 customize/virt-customize.pod:5 daemon/guestfsd.pod:5 #: df/virt-df.pod:5 dib/virt-dib.pod:5 diff/virt-diff.pod:5 #: edit/virt-edit.pod:5 erlang/examples/guestfs-erlang.pod:5 #: examples/guestfs-examples.pod:5 fish/guestfish.pod:5 #: fish/libguestfs-tools.conf.pod:5 fish/virt-copy-in.pod:5 #: fish/virt-copy-out.pod:5 fish/virt-tar-in.pod:5 fish/virt-tar-out.pod:5 #: format/virt-format.pod:5 fuse/guestmount.pod:5 fuse/guestunmount.pod:5 #: get-kernel/virt-get-kernel.pod:5 gobject/guestfs-gobject.pod:5 #: golang/examples/guestfs-golang.pod:5 inspector/virt-inspector.pod:5 #: java/examples/guestfs-java.pod:5 lib/guestfs.pod:5 #: lua/examples/guestfs-lua.pod:5 make-fs/virt-make-fs.pod:5 #: ocaml/examples/guestfs-ocaml.pod:5 perl/examples/guestfs-perl.pod:5 #: python/examples/guestfs-python.pod:5 rescue/virt-rescue.pod:5 #: resize/virt-resize.pod:5 ruby/examples/guestfs-ruby.pod:5 #: sparsify/virt-sparsify.pod:5 sysprep/virt-sysprep.pod:5 #: test-tool/libguestfs-test-tool.pod:5 tools/virt-list-filesystems:31 #: tools/virt-list-partitions:31 tools/virt-tar:32 tools/virt-win-reg:36 msgid "SYNOPSIS" msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:7 #, no-wrap msgid "" " virt-alignment-scan [--options] -d domname\n" "\n" msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:9 #, no-wrap msgid "" " virt-alignment-scan [--options] -a disk.img [-a disk.img ...]\n" "\n" msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:11 #, no-wrap msgid "" " virt-alignment-scan [--options]\n" "\n" msgstr "" #. type: =head1 #: align/virt-alignment-scan.pod:13 #: appliance/libguestfs-make-fixed-appliance.pod:11 #: builder/virt-builder-repository.pod:17 builder/virt-builder.pod:32 #: builder/virt-index-validate.pod:9 cat/virt-cat.pod:17 #: cat/virt-filesystems.pod:11 cat/virt-log.pod:11 cat/virt-ls.pod:17 #: cat/virt-tail.pod:11 customize/virt-customize.pod:18 daemon/guestfsd.pod:9 #: df/virt-df.pod:23 dib/virt-dib.pod:9 diff/virt-diff.pod:11 #: docs/guestfs-building.pod:5 docs/guestfs-hacking.pod:5 #: docs/guestfs-internals.pod:5 docs/guestfs-performance.pod:5 #: docs/guestfs-recipes.pod:12 docs/guestfs-security.pod:5 #: docs/guestfs-testing.pod:5 edit/virt-edit.pod:19 #: erlang/examples/guestfs-erlang.pod:14 examples/guestfs-examples.pod:17 #: fish/guestfish.pod:21 fish/libguestfs-tools.conf.pod:15 #: fish/virt-copy-in.pod:11 fish/virt-copy-out.pod:11 fish/virt-tar-in.pod:13 #: fish/virt-tar-out.pod:13 format/virt-format.pod:9 fuse/guestmount.pod:13 #: fuse/guestunmount.pod:11 get-kernel/virt-get-kernel.pod:11 #: gobject/guestfs-gobject.pod:15 golang/examples/guestfs-golang.pod:24 #: inspector/virt-inspector.pod:17 java/examples/guestfs-java.pod:19 #: lib/guestfs.pod:22 lua/examples/guestfs-lua.pod:14 #: make-fs/virt-make-fs.pod:13 ocaml/examples/guestfs-ocaml.pod:23 #: perl/examples/guestfs-perl.pod:17 python/examples/guestfs-python.pod:12 #: rescue/virt-rescue.pod:17 resize/virt-resize.pod:11 #: ruby/examples/guestfs-ruby.pod:13 sparsify/virt-sparsify.pod:11 #: sysprep/virt-sysprep.pod:11 test-tool/libguestfs-test-tool.pod:9 #: tools/virt-list-filesystems:42 tools/virt-list-partitions:42 #: tools/virt-tar:74 tools/virt-win-reg:60 msgid "DESCRIPTION" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:15 msgid "" "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 #: align/virt-alignment-scan.pod:21 msgid "" "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 #: align/virt-alignment-scan.pod:25 msgid "" "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 #: align/virt-alignment-scan.pod:30 msgid "OUTPUT" msgstr "" #. type: textblock #: 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 "" " $ virt-alignment-scan -a winxp.img\n" " /dev/sda1 32256 512 bad (alignment < 4K)\n" "\n" msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:37 #, no-wrap msgid "" " $ 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 #: 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 #: align/virt-alignment-scan.pod:45 #, no-wrap msgid "" " # 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: verbatim #: align/virt-alignment-scan.pod:49 #, no-wrap msgid "" " $ 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 #: align/virt-alignment-scan.pod:54 msgid "" "Run virt-alignment-scan without any I<-a> or I<-d> options to scan all " "libvirt domains." msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:57 #, no-wrap msgid "" " # virt-alignment-scan\n" " F16x64:/dev/sda1 1048576 1024K ok\n" " F16x64:/dev/sda2 2097152 2048K ok\n" " F16x64:/dev/sda3 526385152 2048K ok\n" "\n" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:62 msgid "" "The output consists of 4 or more whitespace-separated columns. Only the " "first 4 columns are significant if you want to parse this from a program. " "The columns are:" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:68 msgid "col 1" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:70 msgid "" "The device and partition name (eg. F meaning the first partition " "on the first block device)." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:73 msgid "" "When listing all libvirt domains (no I<-a> or I<-d> option given) this " "column is prefixed by the libvirt name or UUID (if I<--uuid> is given). eg: " "C" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:77 msgid "col 2" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:79 msgid "the start of the partition in bytes" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:81 msgid "col 3" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:83 msgid "the alignment in bytes or Kbytes (eg. C<512> or C<4K>)" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:85 msgid "col 4" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:87 msgid "" "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:90 msgid "cols 5+" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:92 msgid "optional free-text explanation." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:96 msgid "" "The exit code from the program changes depending on whether poorly aligned " "partitions were found. See L below." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:99 msgid "If you just want the exit code with no output, use the I<-q> option." msgstr "" #. type: =head1 #: align/virt-alignment-scan.pod:101 #: appliance/libguestfs-make-fixed-appliance.pod:97 #: builder/virt-builder-repository.pod:87 builder/virt-builder.pod:176 #: builder/virt-index-validate.pod:19 cat/virt-cat.pod:51 #: cat/virt-filesystems.pod:89 cat/virt-log.pod:35 cat/virt-ls.pod:249 #: cat/virt-tail.pod:46 customize/virt-customize.pod:32 daemon/guestfsd.pod:43 #: df/virt-df.pod:71 dib/virt-dib.pod:48 diff/virt-diff.pod:35 #: edit/virt-edit.pod:54 fish/guestfish.pod:145 fish/virt-copy-in.pod:37 #: fish/virt-copy-out.pod:32 fish/virt-tar-in.pod:34 fish/virt-tar-out.pod:34 #: format/virt-format.pod:57 fuse/guestmount.pod:156 fuse/guestunmount.pod:70 #: get-kernel/virt-get-kernel.pod:23 inspector/virt-inspector.pod:52 #: make-fs/virt-make-fs.pod:117 rescue/virt-rescue.pod:86 #: resize/virt-resize.pod:268 sparsify/virt-sparsify.pod:114 #: sysprep/virt-sysprep.pod:38 test-tool/libguestfs-test-tool.pod:34 #: tools/virt-list-filesystems:52 tools/virt-list-partitions:53 #: tools/virt-tar:100 tools/virt-win-reg:93 msgid "OPTIONS" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:105 #: appliance/libguestfs-make-fixed-appliance.pod:101 #: builder/virt-builder-repository.pod:91 builder/virt-builder.pod:180 #: builder/virt-index-validate.pod:62 cat/virt-cat.pod:55 #: cat/virt-filesystems.pod:93 cat/virt-log.pod:39 cat/virt-ls.pod:253 #: cat/virt-tail.pod:50 customize/virt-customize.pod:36 daemon/guestfsd.pod:49 #: df/virt-df.pod:75 dib/virt-dib.pod:52 diff/virt-diff.pod:39 #: edit/virt-edit.pod:58 fish/guestfish.pod:149 format/virt-format.pod:61 #: fuse/guestmount.pod:239 fuse/guestunmount.pod:79 #: get-kernel/virt-get-kernel.pod:27 inspector/virt-inspector.pod:56 #: make-fs/virt-make-fs.pod:121 rescue/virt-rescue.pod:90 #: resize/virt-resize.pod:272 sparsify/virt-sparsify.pod:118 #: sysprep/virt-sysprep.pod:42 test-tool/libguestfs-test-tool.pod:38 #: tools/virt-list-filesystems:60 tools/virt-list-partitions:61 #: tools/virt-tar:108 tools/virt-win-reg:101 msgid "B<--help>" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:107 cat/virt-cat.pod:57 #: cat/virt-filesystems.pod:95 cat/virt-log.pod:41 cat/virt-ls.pod:255 #: cat/virt-tail.pod:52 customize/virt-customize.pod:38 daemon/guestfsd.pod:51 #: df/virt-df.pod:77 diff/virt-diff.pod:41 edit/virt-edit.pod:60 #: format/virt-format.pod:63 inspector/virt-inspector.pod:58 #: make-fs/virt-make-fs.pod:123 rescue/virt-rescue.pod:92 #: sysprep/virt-sysprep.pod:44 tools/virt-list-filesystems:62 #: tools/virt-list-partitions:63 tools/virt-tar:110 tools/virt-win-reg:103 msgid "Display brief help." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:109 cat/virt-cat.pod:59 #: cat/virt-filesystems.pod:97 cat/virt-log.pod:43 cat/virt-ls.pod:257 #: cat/virt-tail.pod:54 customize/virt-customize.pod:40 diff/virt-diff.pod:43 #: edit/virt-edit.pod:62 format/virt-format.pod:65 #: get-kernel/virt-get-kernel.pod:31 inspector/virt-inspector.pod:60 #: sysprep/virt-sysprep.pod:46 msgid "B<-a> file" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:111 cat/virt-cat.pod:61 #: cat/virt-filesystems.pod:99 cat/virt-log.pod:45 cat/virt-ls.pod:259 #: cat/virt-tail.pod:56 customize/virt-customize.pod:42 diff/virt-diff.pod:45 #: edit/virt-edit.pod:64 format/virt-format.pod:67 #: get-kernel/virt-get-kernel.pod:33 inspector/virt-inspector.pod:62 #: sysprep/virt-sysprep.pod:48 msgid "B<--add> file" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:113 customize/virt-customize.pod:44 #: get-kernel/virt-get-kernel.pod:35 sysprep/virt-sysprep.pod:50 msgid "Add I which should be a disk image from a virtual machine." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:115 cat/virt-cat.pod:67 #: cat/virt-filesystems.pod:105 cat/virt-log.pod:51 cat/virt-ls.pod:265 #: cat/virt-tail.pod:62 df/virt-df.pod:87 diff/virt-diff.pod:51 #: edit/virt-edit.pod:70 fish/guestfish.pod:171 format/virt-format.pod:71 #: fuse/guestmount.pod:166 inspector/virt-inspector.pod:68 #: rescue/virt-rescue.pod:102 msgid "" "The format of the disk image is auto-detected. To override this and force a " "particular format use the I<--format=..> option." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:118 cat/virt-cat.pod:70 #: cat/virt-filesystems.pod:108 cat/virt-log.pod:54 cat/virt-ls.pod:268 #: cat/virt-tail.pod:65 msgid "B<-a URI>" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:120 cat/virt-cat.pod:72 #: cat/virt-filesystems.pod:110 cat/virt-log.pod:56 cat/virt-ls.pod:270 #: cat/virt-tail.pod:67 msgid "B<--add URI>" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:122 cat/virt-cat.pod:74 #: cat/virt-filesystems.pod:112 cat/virt-log.pod:58 cat/virt-ls.pod:272 #: cat/virt-tail.pod:69 df/virt-df.pod:94 diff/virt-diff.pod:58 #: edit/virt-edit.pod:77 format/virt-format.pod:80 fuse/guestmount.pod:173 #: inspector/virt-inspector.pod:75 rescue/virt-rescue.pod:109 msgid "Add a remote disk. See L." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:124 cat/virt-cat.pod:76 #: cat/virt-filesystems.pod:129 cat/virt-log.pod:60 cat/virt-ls.pod:274 #: cat/virt-tail.pod:71 df/virt-df.pod:96 diff/virt-diff.pod:76 #: edit/virt-edit.pod:93 fish/guestfish.pod:184 format/virt-format.pod:82 #: fuse/guestmount.pod:175 inspector/virt-inspector.pod:77 #: rescue/virt-rescue.pod:115 msgid "__INCLUDE:blocksize-option.pod__" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:126 cat/virt-cat.pod:78 #: cat/virt-filesystems.pod:131 cat/virt-log.pod:62 cat/virt-ls.pod:287 #: cat/virt-tail.pod:73 customize/virt-customize.pod:86 df/virt-df.pod:98 #: diff/virt-diff.pod:89 edit/virt-edit.pod:95 fish/guestfish.pod:186 #: fuse/guestmount.pod:177 get-kernel/virt-get-kernel.pod:64 #: inspector/virt-inspector.pod:79 rescue/virt-rescue.pod:117 #: sysprep/virt-sysprep.pod:71 msgid "B<-c> URI" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:128 cat/virt-cat.pod:80 #: cat/virt-filesystems.pod:133 cat/virt-log.pod:64 cat/virt-ls.pod:289 #: cat/virt-tail.pod:75 customize/virt-customize.pod:88 df/virt-df.pod:100 #: diff/virt-diff.pod:91 edit/virt-edit.pod:97 fish/guestfish.pod:188 #: fuse/guestmount.pod:179 get-kernel/virt-get-kernel.pod:66 #: inspector/virt-inspector.pod:81 rescue/virt-rescue.pod:119 #: sysprep/virt-sysprep.pod:73 msgid "B<--connect> URI" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:130 cat/virt-cat.pod:82 #: cat/virt-filesystems.pod:135 cat/virt-log.pod:66 cat/virt-ls.pod:291 #: cat/virt-tail.pod:77 customize/virt-customize.pod:90 df/virt-df.pod:102 #: diff/virt-diff.pod:93 edit/virt-edit.pod:99 #: get-kernel/virt-get-kernel.pod:68 inspector/virt-inspector.pod:83 #: rescue/virt-rescue.pod:121 sysprep/virt-sysprep.pod:75 #: tools/virt-list-filesystems:80 tools/virt-list-partitions:81 #: tools/virt-tar:128 tools/virt-win-reg:129 msgid "" "If using libvirt, connect to the given I. If omitted, then we connect " "to the default libvirt hypervisor." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:133 cat/virt-cat.pod:85 #: cat/virt-filesystems.pod:138 cat/virt-log.pod:69 cat/virt-ls.pod:294 #: cat/virt-tail.pod:80 customize/virt-customize.pod:93 df/virt-df.pod:105 #: diff/virt-diff.pod:96 get-kernel/virt-get-kernel.pod:71 #: rescue/virt-rescue.pod:124 sysprep/virt-sysprep.pod:78 msgid "" "If you specify guest block devices directly (I<-a>), then libvirt is not " "used at all." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:136 cat/virt-cat.pod:88 #: cat/virt-filesystems.pod:147 cat/virt-log.pod:72 cat/virt-ls.pod:303 #: cat/virt-tail.pod:83 customize/virt-customize.pod:96 df/virt-df.pod:114 #: diff/virt-diff.pod:117 get-kernel/virt-get-kernel.pod:74 #: inspector/virt-inspector.pod:90 rescue/virt-rescue.pod:127 #: sysprep/virt-sysprep.pod:81 msgid "B<-d> guest" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:138 cat/virt-cat.pod:90 #: cat/virt-filesystems.pod:149 cat/virt-log.pod:74 cat/virt-ls.pod:305 #: cat/virt-tail.pod:85 customize/virt-customize.pod:98 df/virt-df.pod:116 #: diff/virt-diff.pod:119 get-kernel/virt-get-kernel.pod:76 #: inspector/virt-inspector.pod:92 rescue/virt-rescue.pod:129 #: sysprep/virt-sysprep.pod:83 msgid "B<--domain> guest" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:140 cat/virt-cat.pod:92 #: cat/virt-filesystems.pod:151 cat/virt-log.pod:76 cat/virt-ls.pod:307 #: cat/virt-tail.pod:87 customize/virt-customize.pod:100 df/virt-df.pod:118 #: edit/virt-edit.pod:109 get-kernel/virt-get-kernel.pod:78 #: inspector/virt-inspector.pod:94 rescue/virt-rescue.pod:131 #: sysprep/virt-sysprep.pod:85 msgid "" "Add all the disks from the named libvirt guest. Domain UUIDs can be used " "instead of names." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:143 cat/virt-cat.pod:102 #: cat/virt-filesystems.pod:176 cat/virt-log.pod:86 cat/virt-ls.pod:324 #: cat/virt-tail.pod:104 df/virt-df.pod:121 diff/virt-diff.pod:140 #: edit/virt-edit.pod:134 fish/guestfish.pod:229 format/virt-format.pod:93 #: fuse/guestmount.pod:221 inspector/virt-inspector.pod:104 #: rescue/virt-rescue.pod:157 msgid "B<--format=raw|qcow2|..>" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:145 cat/virt-cat.pod:104 #: cat/virt-filesystems.pod:178 cat/virt-log.pod:88 cat/virt-ls.pod:326 #: cat/virt-tail.pod:106 df/virt-df.pod:123 diff/virt-diff.pod:142 #: edit/virt-edit.pod:136 fish/guestfish.pod:231 format/virt-format.pod:95 #: fuse/guestmount.pod:223 inspector/virt-inspector.pod:106 #: rescue/virt-rescue.pod:159 msgid "B<--format>" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:147 cat/virt-cat.pod:106 #: cat/virt-filesystems.pod:180 cat/virt-log.pod:90 cat/virt-ls.pod:328 #: cat/virt-tail.pod:108 df/virt-df.pod:125 edit/virt-edit.pod:138 #: fish/guestfish.pod:233 format/virt-format.pod:97 fuse/guestmount.pod:225 #: rescue/virt-rescue.pod:161 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 " "the command line. Using I<--format> with no argument switches back to " "auto-detection for subsequent I<-a> options." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:152 builder/virt-builder.pod:150 #: cat/virt-cat.pod:111 cat/virt-filesystems.pod:185 cat/virt-log.pod:95 #: cat/virt-ls.pod:333 cat/virt-tail.pod:113 customize/virt-customize.pod:126 #: df/virt-df.pod:130 diff/virt-diff.pod:150 docs/guestfs-building.pod:469 #: docs/guestfs-hacking.pod:866 docs/guestfs-recipes.pod:508 #: docs/internal-documentation.pod:3112 edit/virt-edit.pod:143 #: fish/guestfish.pod:238 fish/guestfish.pod:704 format/virt-format.pod:102 #: inspector/virt-inspector.pod:347 rescue/virt-rescue.pod:166 #: sysprep/virt-sysprep.pod:174 sysprep/virt-sysprep.pod:224 msgid "For example:" msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:154 #, no-wrap msgid "" " virt-alignment-scan --format=raw -a disk.img\n" "\n" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:156 cat/virt-cat.pod:115 #: cat/virt-filesystems.pod:189 cat/virt-log.pod:99 cat/virt-ls.pod:337 #: cat/virt-tail.pod:117 customize/virt-customize.pod:130 df/virt-df.pod:134 #: diff/virt-diff.pod:154 edit/virt-edit.pod:147 fish/guestfish.pod:242 #: format/virt-format.pod:106 rescue/virt-rescue.pod:170 #: sysprep/virt-sysprep.pod:178 msgid "forces raw format (no auto-detection) for F." msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:158 #, no-wrap msgid "" " virt-alignment-scan --format=raw -a disk.img --format -a another.img\n" "\n" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:160 cat/virt-cat.pod:119 #: cat/virt-filesystems.pod:193 cat/virt-log.pod:103 cat/virt-ls.pod:341 #: cat/virt-tail.pod:121 customize/virt-customize.pod:134 df/virt-df.pod:138 #: diff/virt-diff.pod:158 edit/virt-edit.pod:151 fish/guestfish.pod:246 #: format/virt-format.pod:110 rescue/virt-rescue.pod:174 #: sysprep/virt-sysprep.pod:182 msgid "" "forces raw format (no auto-detection) for F and reverts to " "auto-detection for F." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:163 cat/virt-cat.pod:122 #: cat/virt-filesystems.pod:196 cat/virt-log.pod:106 cat/virt-ls.pod:344 #: cat/virt-tail.pod:124 customize/virt-customize.pod:137 df/virt-df.pod:141 #: diff/virt-diff.pod:161 edit/virt-edit.pod:154 format/virt-format.pod:113 #: get-kernel/virt-get-kernel.pod:96 rescue/virt-rescue.pod:177 #: sysprep/virt-sysprep.pod:185 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 " "with malicious guests (CVE-2010-3851)." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:167 df/virt-df.pod:164 msgid "B<-P> nr_threads" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:169 msgid "" "Since libguestfs 1.22, virt-alignment-scan is multithreaded and examines " "guests in parallel. By default the number of threads to use is chosen based " "on the amount of free memory available at the time that virt-alignment-scan " "is started. You can force virt-alignment-scan to use at most C " "by using the I<-P> option." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:176 df/virt-df.pod:172 msgid "" "Note that I<-P 0> means to autodetect, and I<-P 1> means to use a single " "thread." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:179 builder/virt-builder-repository.pod:151 #: builder/virt-builder.pod:477 customize/virt-customize.pod:203 #: dib/virt-dib.pod:370 fuse/guestunmount.pod:83 #: get-kernel/virt-get-kernel.pod:132 resize/virt-resize.pod:530 #: sparsify/virt-sparsify.pod:259 sysprep/virt-sysprep.pod:234 msgid "B<-q>" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:181 builder/virt-builder-repository.pod:153 #: builder/virt-builder.pod:479 customize/virt-customize.pod:205 #: dib/virt-dib.pod:372 fuse/guestunmount.pod:85 #: get-kernel/virt-get-kernel.pod:134 resize/virt-resize.pod:532 #: sparsify/virt-sparsify.pod:261 sysprep/virt-sysprep.pod:236 msgid "B<--quiet>" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:183 msgid "" "Don’t produce any output. Just set the exit code (see L " "below)." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:186 cat/virt-filesystems.pod:258 #: df/virt-df.pod:175 msgid "B<--uuid>" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:188 df/virt-df.pod:177 msgid "" "Print UUIDs instead of names. This is useful for following a guest even " "when the guest is migrated or renamed, or when two guests happen to have the " "same name." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:192 msgid "" "This option only applies when listing all libvirt domains (when no I<-a> or " "I<-d> options are specified)." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:195 builder/virt-builder-repository.pod:157 #: builder/virt-builder.pod:524 cat/virt-cat.pod:166 #: cat/virt-filesystems.pod:264 cat/virt-log.pod:114 cat/virt-ls.pod:456 #: cat/virt-tail.pod:168 customize/virt-customize.pod:215 #: daemon/guestfsd.pod:88 df/virt-df.pod:185 dib/virt-dib.pod:439 #: diff/virt-diff.pod:198 edit/virt-edit.pod:198 fish/guestfish.pod:415 #: format/virt-format.pod:155 fuse/guestmount.pod:371 #: get-kernel/virt-get-kernel.pod:149 inspector/virt-inspector.pod:137 #: make-fs/virt-make-fs.pod:207 rescue/virt-rescue.pod:271 #: resize/virt-resize.pod:622 sparsify/virt-sparsify.pod:308 #: sysprep/virt-sysprep.pod:255 msgid "B<-v>" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:197 builder/virt-builder-repository.pod:159 #: builder/virt-builder.pod:526 cat/virt-cat.pod:168 #: cat/virt-filesystems.pod:266 cat/virt-log.pod:116 cat/virt-ls.pod:458 #: cat/virt-tail.pod:170 customize/virt-customize.pod:217 #: daemon/guestfsd.pod:90 df/virt-df.pod:187 dib/virt-dib.pod:441 #: diff/virt-diff.pod:200 edit/virt-edit.pod:200 fish/guestfish.pod:417 #: format/virt-format.pod:157 fuse/guestmount.pod:373 #: get-kernel/virt-get-kernel.pod:151 inspector/virt-inspector.pod:139 #: make-fs/virt-make-fs.pod:209 rescue/virt-rescue.pod:273 #: resize/virt-resize.pod:624 sparsify/virt-sparsify.pod:310 #: sysprep/virt-sysprep.pod:257 msgid "B<--verbose>" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:199 cat/virt-cat.pod:170 #: cat/virt-filesystems.pod:268 cat/virt-log.pod:118 cat/virt-ls.pod:460 #: cat/virt-tail.pod:172 customize/virt-customize.pod:219 #: daemon/guestfsd.pod:92 df/virt-df.pod:189 diff/virt-diff.pod:202 #: edit/virt-edit.pod:202 format/virt-format.pod:159 #: get-kernel/virt-get-kernel.pod:153 inspector/virt-inspector.pod:141 #: rescue/virt-rescue.pod:275 sparsify/virt-sparsify.pod:312 #: sysprep/virt-sysprep.pod:259 msgid "Enable verbose messages for debugging." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:201 #: appliance/libguestfs-make-fixed-appliance.pod:105 #: builder/virt-builder-repository.pod:166 builder/virt-builder.pod:533 #: builder/virt-index-validate.pod:66 cat/virt-cat.pod:172 #: cat/virt-filesystems.pod:270 cat/virt-log.pod:120 cat/virt-ls.pod:462 #: cat/virt-tail.pod:174 customize/virt-customize.pod:221 df/virt-df.pod:191 #: dib/virt-dib.pod:445 diff/virt-diff.pod:204 edit/virt-edit.pod:204 #: fish/guestfish.pod:422 format/virt-format.pod:161 fuse/guestmount.pod:377 #: fuse/guestunmount.pod:105 get-kernel/virt-get-kernel.pod:155 #: inspector/virt-inspector.pod:143 make-fs/virt-make-fs.pod:213 #: rescue/virt-rescue.pod:277 resize/virt-resize.pod:628 #: sparsify/virt-sparsify.pod:314 sysprep/virt-sysprep.pod:261 #: test-tool/libguestfs-test-tool.pod:59 msgid "B<-V>" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:203 #: appliance/libguestfs-make-fixed-appliance.pod:107 #: builder/virt-builder-repository.pod:168 builder/virt-builder.pod:535 #: builder/virt-index-validate.pod:68 cat/virt-cat.pod:174 #: cat/virt-filesystems.pod:272 cat/virt-log.pod:122 cat/virt-ls.pod:464 #: cat/virt-tail.pod:176 customize/virt-customize.pod:223 df/virt-df.pod:193 #: dib/virt-dib.pod:447 diff/virt-diff.pod:206 edit/virt-edit.pod:206 #: fish/guestfish.pod:424 format/virt-format.pod:163 fuse/guestmount.pod:379 #: fuse/guestunmount.pod:107 get-kernel/virt-get-kernel.pod:157 #: inspector/virt-inspector.pod:145 make-fs/virt-make-fs.pod:215 #: rescue/virt-rescue.pod:279 resize/virt-resize.pod:630 #: sparsify/virt-sparsify.pod:316 sysprep/virt-sysprep.pod:263 #: test-tool/libguestfs-test-tool.pod:61 tools/virt-list-filesystems:68 #: tools/virt-list-partitions:69 tools/virt-tar:116 tools/virt-win-reg:109 msgid "B<--version>" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:205 builder/virt-builder-repository.pod:170 #: builder/virt-builder.pod:537 builder/virt-index-validate.pod:70 #: cat/virt-cat.pod:176 cat/virt-filesystems.pod:274 cat/virt-log.pod:124 #: cat/virt-ls.pod:466 cat/virt-tail.pod:178 customize/virt-customize.pod:225 #: df/virt-df.pod:195 dib/virt-dib.pod:449 diff/virt-diff.pod:208 #: edit/virt-edit.pod:208 format/virt-format.pod:165 #: get-kernel/virt-get-kernel.pod:159 inspector/virt-inspector.pod:147 #: make-fs/virt-make-fs.pod:217 rescue/virt-rescue.pod:281 #: resize/virt-resize.pod:632 sparsify/virt-sparsify.pod:318 #: sysprep/virt-sysprep.pod:265 tools/virt-list-filesystems:70 #: tools/virt-list-partitions:71 tools/virt-tar:118 tools/virt-win-reg:111 msgid "Display version number and exit." msgstr "" #. type: =item #: align/virt-alignment-scan.pod:207 builder/virt-builder-repository.pod:172 #: builder/virt-builder.pod:539 cat/virt-cat.pod:178 #: cat/virt-filesystems.pod:284 cat/virt-log.pod:126 cat/virt-ls.pod:468 #: cat/virt-tail.pod:180 customize/virt-customize.pod:227 df/virt-df.pod:197 #: dib/virt-dib.pod:451 diff/virt-diff.pod:210 edit/virt-edit.pod:210 #: fish/guestfish.pod:437 format/virt-format.pod:177 fuse/guestmount.pod:392 #: get-kernel/virt-get-kernel.pod:161 inspector/virt-inspector.pod:149 #: make-fs/virt-make-fs.pod:219 rescue/virt-rescue.pod:292 #: resize/virt-resize.pod:634 sparsify/virt-sparsify.pod:320 #: sysprep/virt-sysprep.pod:267 tools/virt-tar:155 msgid "B<-x>" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:209 builder/virt-builder-repository.pod:174 #: builder/virt-builder.pod:541 cat/virt-cat.pod:180 #: cat/virt-filesystems.pod:286 cat/virt-log.pod:128 cat/virt-ls.pod:470 #: cat/virt-tail.pod:182 customize/virt-customize.pod:229 df/virt-df.pod:199 #: dib/virt-dib.pod:453 diff/virt-diff.pod:212 edit/virt-edit.pod:212 #: format/virt-format.pod:179 get-kernel/virt-get-kernel.pod:163 #: inspector/virt-inspector.pod:151 rescue/virt-rescue.pod:294 #: resize/virt-resize.pod:636 sparsify/virt-sparsify.pod:322 #: sysprep/virt-sysprep.pod:269 msgid "Enable tracing of libguestfs API calls." msgstr "" #. type: =head1 #: align/virt-alignment-scan.pod:213 msgid "RECOMMENDED ALIGNMENT" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:215 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:224 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:229 msgid "* 512 bytes" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:231 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:234 msgid "* 4 Kbytes" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:236 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:240 msgid "* 64 Kbytes" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:242 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:245 msgid "* 1 Mbyte" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:247 msgid "see L below." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:251 msgid "" "Partitions which are not aligned correctly to the underlying storage cause " "extra I/O. For example:" msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:254 #, no-wrap msgid "" " sect#63\n" " ┌──────────────────────────┬ ─ ─ ─ ─\n" " │ guest │\n" " │ filesystem block │\n" " ─ ┬──────────────────┴──────┬───────────────────┴─────┬ ─ ─\n" " │ host block │ host block │\n" " │ │ │\n" " ─ ┴─────────────────────────┴─────────────────────────┴ ─ ─\n" "\n" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:263 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:268 msgid "LINUX HOST BLOCK AND I/O SIZE" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:270 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:273 msgid "For a typical consumer hard drive with 512 byte sectors:" msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:275 #, no-wrap msgid "" " $ cat /sys/block/sda/queue/hw_sector_size\n" " 512\n" " $ cat /sys/block/sda/queue/physical_block_size\n" " 512\n" " $ cat /sys/block/sda/queue/logical_block_size\n" " 512\n" " $ cat /sys/block/sda/queue/minimum_io_size\n" " 512\n" " $ cat /sys/block/sda/queue/optimal_io_size\n" " 0\n" "\n" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:286 msgid "For a new consumer hard drive with 4Kbyte sectors:" msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:288 #, no-wrap msgid "" " $ cat /sys/block/sda/queue/hw_sector_size\n" " 4096\n" " $ cat /sys/block/sda/queue/physical_block_size\n" " 4096\n" " $ cat /sys/block/sda/queue/logical_block_size\n" " 4096\n" " $ cat /sys/block/sda/queue/minimum_io_size\n" " 4096\n" " $ cat /sys/block/sda/queue/optimal_io_size\n" " 0\n" "\n" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:299 msgid "For a NetApp LUN:" msgstr "" #. type: verbatim #: align/virt-alignment-scan.pod:301 #, no-wrap msgid "" " $ 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 #: align/virt-alignment-scan.pod:310 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: textblock #: align/virt-alignment-scan.pod:314 msgid "" "For detailed information about what these numbers mean, see " "L" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:317 msgid "" "[Thanks to Matt Booth for providing 4K drive data. Thanks to Mike Snitzer " "for providing NetApp data and additional information.]" msgstr "" #. type: =head2 #: align/virt-alignment-scan.pod:320 msgid "1 MB PARTITION ALIGNMENT" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:322 msgid "" "Microsoft picked 1 MB as the default alignment for all partitions starting " "with Windows 2008 Server, and Linux has followed this." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:325 msgid "" "Assuming 512 byte sectors in the guest, you will now see the first partition " "starting at sector 2048, and subsequent partitions (if any) will start at a " "multiple of 2048 sectors." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:329 msgid "" "1 MB alignment is compatible with all current alignment requirements (4K, " "64K) and provides room for future growth in physical block sizes." msgstr "" #. type: =head2 #: align/virt-alignment-scan.pod:332 msgid "SETTING ALIGNMENT" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:334 msgid "" "L can change the alignment of the partitions of some " "guests. Currently it can fully align all the partitions of all Windows " "guests, and it will fix the bootloader where necessary. For Linux guests, " "it can align the second and subsequent partitions, so the majority of OS " "accesses except at boot will be aligned." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:340 msgid "" "Another way to correct partition alignment problems is to reinstall your " "guest operating systems. If you install operating systems from templates, " "ensure these have correct partition alignment too." msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:344 msgid "" "For older versions of Windows, the following NetApp document contains useful " "information: L" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:347 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 #: align/virt-alignment-scan.pod:352 #: appliance/libguestfs-make-fixed-appliance.pod:130 #: builder/virt-builder-repository.pod:196 builder/virt-builder.pod:1876 #: builder/virt-index-validate.pod:74 cat/virt-cat.pod:271 #: cat/virt-filesystems.pod:380 cat/virt-log.pod:132 cat/virt-ls.pod:514 #: cat/virt-tail.pod:232 customize/virt-customize.pod:245 #: daemon/guestfsd.pod:99 df/virt-df.pod:253 dib/virt-dib.pod:703 #: diff/virt-diff.pod:244 edit/virt-edit.pod:379 fish/guestfish.pod:1396 #: format/virt-format.pod:183 fuse/guestmount.pod:422 fuse/guestunmount.pod:124 #: get-kernel/virt-get-kernel.pod:190 inspector/virt-inspector.pod:486 #: resize/virt-resize.pod:837 sparsify/virt-sparsify.pod:445 #: sysprep/virt-sysprep.pod:558 test-tool/libguestfs-test-tool.pod:168 msgid "EXIT STATUS" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:354 msgid "This program returns:" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:358 align/virt-alignment-scan.pod:364 #: align/virt-alignment-scan.pod:370 align/virt-alignment-scan.pod:377 #: appliance/libguestfs-make-fixed-appliance.pod:22 #: appliance/libguestfs-make-fixed-appliance.pod:28 #: appliance/libguestfs-make-fixed-appliance.pod:34 #: appliance/libguestfs-make-fixed-appliance.pod:52 #: appliance/libguestfs-make-fixed-appliance.pod:73 #: builder/virt-builder.pod:934 builder/virt-builder.pod:941 #: builder/virt-builder.pod:945 builder/virt-builder.pod:949 #: builder/virt-builder.pod:954 builder/virt-builder.pod:958 #: builder/virt-builder.pod:962 builder/virt-builder.pod:967 #: builder/virt-builder.pod:1142 builder/virt-builder.pod:1147 #: builder/virt-builder.pod:1720 builder/virt-builder.pod:1724 #: builder/virt-builder.pod:1728 builder/virt-index-validate.pod:32 #: builder/virt-index-validate.pod:37 builder/virt-index-validate.pod:51 #: builder/virt-index-validate.pod:56 cat/virt-cat.pod:217 cat/virt-cat.pod:222 #: cat/virt-cat.pod:227 cat/virt-cat.pod:238 cat/virt-cat.pod:242 #: cat/virt-tail.pod:25 cat/virt-tail.pod:29 cat/virt-tail.pod:34 #: cat/virt-tail.pod:201 cat/virt-tail.pod:206 cat/virt-tail.pod:211 #: cat/virt-tail.pod:222 cat/virt-tail.pod:226 #: common/mlcustomize/customize-options.pod:290 #: common/mlcustomize/customize-options.pod:294 docs/guestfs-building.pod:13 #: docs/guestfs-building.pod:17 docs/guestfs-building.pod:21 #: docs/guestfs-building.pod:25 docs/guestfs-building.pod:766 #: docs/guestfs-building.pod:771 docs/guestfs-faq.pod:188 #: docs/guestfs-faq.pod:194 docs/guestfs-faq.pod:198 docs/guestfs-faq.pod:203 #: docs/guestfs-faq.pod:761 docs/guestfs-faq.pod:767 docs/guestfs-faq.pod:806 #: docs/guestfs-faq.pod:812 docs/guestfs-faq.pod:1374 docs/guestfs-faq.pod:1385 #: docs/guestfs-faq.pod:1390 docs/guestfs-hacking.pod:699 #: docs/guestfs-hacking.pod:704 docs/guestfs-hacking.pod:711 #: docs/guestfs-hacking.pod:716 docs/guestfs-hacking.pod:735 #: docs/guestfs-hacking.pod:740 docs/guestfs-hacking.pod:746 #: docs/guestfs-hacking.pod:751 docs/guestfs-hacking.pod:771 #: docs/guestfs-hacking.pod:775 docs/guestfs-hacking.pod:779 #: docs/guestfs-hacking.pod:783 docs/guestfs-hacking.pod:787 #: docs/guestfs-hacking.pod:931 docs/guestfs-hacking.pod:935 #: docs/guestfs-hacking.pod:942 docs/guestfs-hacking.pod:1002 #: docs/guestfs-hacking.pod:1022 docs/guestfs-hacking.pod:1026 #: docs/guestfs-hacking.pod:1030 docs/guestfs-hacking.pod:1044 #: docs/guestfs-hacking.pod:1048 docs/guestfs-hacking.pod:1053 #: docs/guestfs-hacking.pod:1057 docs/guestfs-hacking.pod:1069 #: docs/guestfs-hacking.pod:1076 docs/guestfs-hacking.pod:1080 #: docs/guestfs-performance.pod:111 docs/guestfs-performance.pod:117 #: docs/guestfs-performance.pod:122 docs/guestfs-performance.pod:249 #: docs/guestfs-performance.pod:254 docs/guestfs-performance.pod:259 #: docs/guestfs-performance.pod:379 docs/guestfs-performance.pod:383 #: docs/guestfs-performance.pod:389 docs/guestfs-performance.pod:395 #: docs/guestfs-recipes.pod:280 docs/guestfs-recipes.pod:284 #: docs/guestfs-recipes.pod:288 docs/guestfs-recipes.pod:314 #: docs/guestfs-recipes.pod:319 docs/guestfs-recipes.pod:426 #: docs/guestfs-recipes.pod:430 docs/guestfs-recipes.pod:434 #: docs/guestfs-recipes.pod:438 docs/guestfs-recipes.pod:442 #: docs/guestfs-release-notes-1.20.pod:20 #: docs/guestfs-release-notes-1.20.pod:24 #: docs/guestfs-release-notes-1.20.pod:28 #: docs/guestfs-release-notes-1.20.pod:90 #: docs/guestfs-release-notes-1.20.pod:94 #: docs/guestfs-release-notes-1.20.pod:98 #: docs/guestfs-release-notes-1.20.pod:102 #: docs/guestfs-release-notes-1.20.pod:106 #: docs/guestfs-release-notes-1.20.pod:110 #: docs/guestfs-release-notes-1.20.pod:115 #: docs/guestfs-release-notes-1.20.pod:119 #: docs/guestfs-release-notes-1.20.pod:123 #: docs/guestfs-release-notes-1.20.pod:127 #: docs/guestfs-release-notes-1.20.pod:323 #: docs/guestfs-release-notes-1.20.pod:328 #: docs/guestfs-release-notes-1.20.pod:333 #: docs/guestfs-release-notes-1.22.pod:19 #: docs/guestfs-release-notes-1.22.pod:23 #: docs/guestfs-release-notes-1.22.pod:27 #: docs/guestfs-release-notes-1.22.pod:31 #: docs/guestfs-release-notes-1.22.pod:35 #: docs/guestfs-release-notes-1.22.pod:39 #: docs/guestfs-release-notes-1.22.pod:43 #: docs/guestfs-release-notes-1.22.pod:48 #: docs/guestfs-release-notes-1.22.pod:52 #: docs/guestfs-release-notes-1.26.pod:227 #: docs/guestfs-release-notes-1.26.pod:232 #: docs/guestfs-release-notes-1.32.pod:129 #: docs/guestfs-release-notes-1.32.pod:134 #: docs/guestfs-release-notes-1.42.pod:13 #: docs/guestfs-release-notes-1.42.pod:17 #: docs/guestfs-release-notes-1.42.pod:21 docs/guestfs-security.pod:81 #: docs/guestfs-security.pod:85 docs/guestfs-security.pod:89 #: docs/guestfs-security.pod:93 docs/guestfs-security.pod:97 #: docs/guestfs-security.pod:101 docs/guestfs-security.pod:311 #: docs/guestfs-security.pod:316 docs/guestfs-testing.pod:62 #: docs/guestfs-testing.pod:69 docs/guestfs-testing.pod:80 #: docs/guestfs-testing.pod:86 docs/guestfs-testing.pod:194 #: docs/guestfs-testing.pod:198 docs/guestfs-testing.pod:202 #: docs/internal-documentation.pod:41 docs/internal-documentation.pod:46 #: docs/internal-documentation.pod:1432 docs/internal-documentation.pod:1436 #: docs/internal-documentation.pod:1653 docs/internal-documentation.pod:1657 #: docs/internal-documentation.pod:2584 docs/internal-documentation.pod:2592 #: docs/internal-documentation.pod:2598 docs/internal-documentation.pod:2605 #: docs/internal-documentation.pod:2863 docs/internal-documentation.pod:2870 #: docs/internal-documentation.pod:2874 docs/internal-documentation.pod:2903 #: docs/internal-documentation.pod:2910 docs/internal-documentation.pod:2914 #: docs/internal-documentation.pod:2945 docs/internal-documentation.pod:2950 #: docs/internal-documentation.pod:2957 docs/internal-documentation.pod:3137 #: docs/internal-documentation.pod:3142 docs/internal-documentation.pod:3258 #: docs/internal-documentation.pod:3262 docs/internal-documentation.pod:3481 #: docs/internal-documentation.pod:3485 docs/internal-documentation.pod:3489 #: docs/internal-documentation.pod:3494 docs/internal-documentation.pod:4121 #: docs/internal-documentation.pod:4126 edit/virt-edit.pod:303 #: edit/virt-edit.pod:308 edit/virt-edit.pod:313 edit/virt-edit.pod:324 #: edit/virt-edit.pod:328 fish/guestfish-actions.pod:786 #: fish/guestfish-actions.pod:792 fish/guestfish-actions.pod:800 #: fish/guestfish-actions.pod:807 fish/guestfish-actions.pod:814 #: fish/guestfish-actions.pod:2542 fish/guestfish-actions.pod:2546 #: fish/guestfish-actions.pod:2550 fish/guestfish-actions.pod:2554 #: fish/guestfish-actions.pod:2562 fish/guestfish-actions.pod:2566 #: fish/guestfish-actions.pod:2570 fish/guestfish-actions.pod:2580 #: fish/guestfish-actions.pod:2584 fish/guestfish-actions.pod:2588 #: fish/guestfish-actions.pod:2850 fish/guestfish-actions.pod:2854 #: fish/guestfish-actions.pod:2859 fish/guestfish-actions.pod:2913 #: fish/guestfish-actions.pod:2917 fish/guestfish-actions.pod:2922 #: fish/guestfish-actions.pod:3546 fish/guestfish-actions.pod:3553 #: fish/guestfish-actions.pod:3560 fish/guestfish-actions.pod:4296 #: fish/guestfish-actions.pod:4302 fish/guestfish-actions.pod:4310 #: fish/guestfish-actions.pod:4317 fish/guestfish-actions.pod:4324 #: fish/guestfish.pod:477 fish/guestfish.pod:481 fish/guestfish.pod:485 #: fish/guestfish.pod:489 fish/guestfish.pod:1343 fish/guestfish.pod:1349 #: fish/libguestfs-tools.conf.pod:22 fish/libguestfs-tools.conf.pod:26 #: fish/libguestfs-tools.conf.pod:30 fish/libguestfs-tools.conf.pod:60 #: fish/libguestfs-tools.conf.pod:65 fish/libguestfs-tools.conf.pod:69 #: fish/libguestfs-tools.conf.pod:75 golang/examples/guestfs-golang.pod:58 #: golang/examples/guestfs-golang.pod:62 inspector/virt-inspector.pod:504 #: inspector/virt-inspector.pod:508 lib/guestfs-actions.pod:1194 #: lib/guestfs-actions.pod:1200 lib/guestfs-actions.pod:1208 #: lib/guestfs-actions.pod:1215 lib/guestfs-actions.pod:1222 #: lib/guestfs-actions.pod:4362 lib/guestfs-actions.pod:4366 #: lib/guestfs-actions.pod:4370 lib/guestfs-actions.pod:4374 #: lib/guestfs-actions.pod:4382 lib/guestfs-actions.pod:4386 #: lib/guestfs-actions.pod:4390 lib/guestfs-actions.pod:4400 #: lib/guestfs-actions.pod:4404 lib/guestfs-actions.pod:4408 #: lib/guestfs-actions.pod:4744 lib/guestfs-actions.pod:4748 #: lib/guestfs-actions.pod:4753 lib/guestfs-actions.pod:4840 #: lib/guestfs-actions.pod:4844 lib/guestfs-actions.pod:4849 #: lib/guestfs-actions.pod:5858 lib/guestfs-actions.pod:5865 #: lib/guestfs-actions.pod:5872 lib/guestfs-actions.pod:6905 #: lib/guestfs-actions.pod:6911 lib/guestfs-actions.pod:6919 #: lib/guestfs-actions.pod:6926 lib/guestfs-actions.pod:6933 #: lib/guestfs.pod:436 lib/guestfs.pod:441 lib/guestfs.pod:446 #: lib/guestfs.pod:450 lib/guestfs.pod:455 lib/guestfs.pod:459 #: lib/guestfs.pod:464 lib/guestfs.pod:469 lib/guestfs.pod:799 #: lib/guestfs.pod:806 lib/guestfs.pod:812 lib/guestfs.pod:818 #: lib/guestfs.pod:824 lib/guestfs.pod:829 lib/guestfs.pod:835 #: lib/guestfs.pod:1054 lib/guestfs.pod:1058 lib/guestfs.pod:1064 #: lib/guestfs.pod:1149 lib/guestfs.pod:1154 lib/guestfs.pod:1158 #: lib/guestfs.pod:1164 lib/guestfs.pod:1168 lib/guestfs.pod:1172 #: lib/guestfs.pod:1177 lib/guestfs.pod:1738 lib/guestfs.pod:1743 #: lib/guestfs.pod:1747 lib/guestfs.pod:2382 lib/guestfs.pod:2387 #: lib/guestfs.pod:2391 lib/guestfs.pod:2495 lib/guestfs.pod:2500 #: lib/guestfs.pod:2504 lib/guestfs.pod:2514 lib/guestfs.pod:2945 #: lib/guestfs.pod:2950 lib/guestfs.pod:2956 lib/guestfs.pod:2964 #: lib/guestfs.pod:3121 lib/guestfs.pod:3127 lib/guestfs.pod:3132 #: lib/guestfs.pod:3138 resize/virt-resize.pod:376 resize/virt-resize.pod:380 #: resize/virt-resize.pod:389 resize/virt-resize.pod:395 #: resize/virt-resize.pod:399 resize/virt-resize.pod:403 #: resize/virt-resize.pod:411 sparsify/virt-sparsify.pod:46 #: sparsify/virt-sparsify.pod:50 sparsify/virt-sparsify.pod:59 #: sparsify/virt-sparsify.pod:64 sparsify/virt-sparsify.pod:69 #: sparsify/virt-sparsify.pod:75 sparsify/virt-sparsify.pod:137 #: sparsify/virt-sparsify.pod:141 sparsify/virt-sparsify.pod:145 #: sparsify/virt-sparsify.pod:150 sparsify/virt-sparsify.pod:289 #: sparsify/virt-sparsify.pod:294 sparsify/virt-sparsify.pod:299 #: sysprep/sysprep-extra-options.pod:334 sysprep/sysprep-extra-options.pod:338 #: sysprep/virt-sysprep.pod:321 sysprep/virt-sysprep.pod:325 #: sysprep/virt-sysprep.pod:329 sysprep/virt-sysprep.pod:333 #: sysprep/virt-sysprep.pod:348 sysprep/virt-sysprep.pod:352 #: sysprep/virt-sysprep.pod:356 sysprep/virt-sysprep.pod:360 #: sysprep/virt-sysprep.pod:364 sysprep/virt-sysprep.pod:417 #: sysprep/virt-sysprep.pod:429 sysprep/virt-sysprep.pod:433 #: sysprep/virt-sysprep.pod:441 sysprep/virt-sysprep.pod:447 #: tools/virt-win-reg:194 tools/virt-win-reg:199 tools/virt-win-reg:205 #: tools/virt-win-reg:773 tools/virt-win-reg:779 tools/virt-win-reg:785 msgid "*" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:360 msgid "0" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:362 msgid "successful exit, all partitions are aligned E 64K for best performance" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:366 lib/guestfs.pod:1985 msgid "1" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:368 msgid "an error scanning the disk image or guest" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:372 lib/guestfs.pod:1989 msgid "2" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:374 msgid "" "successful exit, some partitions have alignment E 64K which can result " "in poor performance on high end network storage" msgstr "" #. type: =item #: align/virt-alignment-scan.pod:379 lib/guestfs.pod:1993 msgid "3" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:381 msgid "" "successful exit, some partitions have alignment E 4K which can result in " "poor performance on most hypervisors" msgstr "" #. type: =head1 #: align/virt-alignment-scan.pod:386 #: appliance/libguestfs-make-fixed-appliance.pod:140 #: builder/virt-builder-repository.pod:201 builder/virt-builder.pod:1881 #: builder/virt-index-validate.pod:79 cat/virt-cat.pod:276 #: cat/virt-filesystems.pod:385 cat/virt-log.pod:137 cat/virt-ls.pod:519 #: cat/virt-tail.pod:237 customize/virt-customize.pod:285 #: daemon/guestfsd.pod:143 df/virt-df.pod:258 dib/virt-dib.pod:708 #: diff/virt-diff.pod:249 docs/guestfs-building.pod:787 #: docs/guestfs-faq.pod:1404 docs/guestfs-hacking.pod:1100 #: docs/guestfs-internals.pod:400 docs/guestfs-performance.pod:603 #: docs/guestfs-recipes.pod:719 docs/guestfs-release-notes-1.10.pod:145 #: docs/guestfs-release-notes-1.12.pod:136 #: docs/guestfs-release-notes-1.14.pod:172 #: docs/guestfs-release-notes-1.16.pod:143 #: docs/guestfs-release-notes-1.18.pod:241 #: docs/guestfs-release-notes-1.20.pod:595 #: docs/guestfs-release-notes-1.22.pod:360 #: docs/guestfs-release-notes-1.24.pod:315 #: docs/guestfs-release-notes-1.26.pod:375 #: docs/guestfs-release-notes-1.28.pod:498 #: docs/guestfs-release-notes-1.30.pod:826 #: docs/guestfs-release-notes-1.32.pod:490 #: docs/guestfs-release-notes-1.34.pod:715 #: docs/guestfs-release-notes-1.36.pod:544 #: docs/guestfs-release-notes-1.38.pod:598 #: docs/guestfs-release-notes-1.4.pod:199 #: docs/guestfs-release-notes-1.40.pod:389 #: docs/guestfs-release-notes-1.42.pod:272 #: docs/guestfs-release-notes-1.6.pod:170 #: docs/guestfs-release-notes-1.8.pod:145 #: docs/guestfs-release-notes-historical.pod:35 docs/guestfs-security.pod:409 #: docs/guestfs-testing.pod:395 edit/virt-edit.pod:384 #: erlang/examples/guestfs-erlang.pod:95 examples/guestfs-examples.pod:55 #: fish/guestfish.pod:1622 fish/libguestfs-tools.conf.pod:88 #: fish/virt-copy-in.pod:42 fish/virt-copy-out.pod:37 fish/virt-tar-in.pod:39 #: fish/virt-tar-out.pod:39 format/virt-format.pod:187 fuse/guestmount.pod:427 #: fuse/guestunmount.pod:147 get-kernel/virt-get-kernel.pod:195 #: gobject/guestfs-gobject.pod:44 golang/examples/guestfs-golang.pod:76 #: inspector/virt-inspector.pod:491 java/examples/guestfs-java.pod:159 #: lib/guestfs.pod:3443 lua/examples/guestfs-lua.pod:136 #: make-fs/virt-make-fs.pod:225 ocaml/examples/guestfs-ocaml.pod:80 #: perl/examples/guestfs-perl.pod:38 python/examples/guestfs-python.pod:63 #: rescue/virt-rescue.pod:496 resize/virt-resize.pod:842 #: ruby/examples/guestfs-ruby.pod:34 sparsify/virt-sparsify.pod:456 #: sysprep/virt-sysprep.pod:598 test-tool/libguestfs-test-tool.pod:178 #: tools/virt-list-filesystems:181 tools/virt-list-partitions:263 #: tools/virt-tar:292 tools/virt-win-reg:804 msgid "SEE ALSO" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:388 msgid "" "L, L, L, L, " "L, L." msgstr "" #. type: =head1 #: align/virt-alignment-scan.pod:395 builder/virt-builder-repository.pod:206 #: builder/virt-builder.pod:1902 builder/virt-index-validate.pod:84 #: cat/virt-cat.pod:287 cat/virt-filesystems.pod:396 cat/virt-log.pod:148 #: cat/virt-ls.pod:529 cat/virt-tail.pod:248 daemon/guestfsd.pod:148 #: df/virt-df.pod:266 dib/virt-dib.pod:715 diff/virt-diff.pod:259 #: docs/guestfs-release-notes-1.10.pod:156 #: docs/guestfs-release-notes-1.12.pod:147 #: docs/guestfs-release-notes-1.14.pod:183 #: docs/guestfs-release-notes-1.16.pod:154 #: docs/guestfs-release-notes-1.18.pod:252 #: docs/guestfs-release-notes-1.20.pod:606 #: docs/guestfs-release-notes-1.22.pod:371 #: docs/guestfs-release-notes-1.24.pod:326 #: docs/guestfs-release-notes-1.26.pod:386 #: docs/guestfs-release-notes-1.28.pod:509 #: docs/guestfs-release-notes-1.30.pod:837 #: docs/guestfs-release-notes-1.32.pod:501 #: docs/guestfs-release-notes-1.34.pod:726 #: docs/guestfs-release-notes-1.36.pod:555 #: docs/guestfs-release-notes-1.38.pod:609 #: docs/guestfs-release-notes-1.4.pod:210 #: docs/guestfs-release-notes-1.40.pod:400 #: docs/guestfs-release-notes-1.6.pod:181 #: docs/guestfs-release-notes-1.8.pod:156 #: docs/guestfs-release-notes-historical.pod:46 edit/virt-edit.pod:395 #: format/virt-format.pod:197 get-kernel/virt-get-kernel.pod:203 #: make-fs/virt-make-fs.pod:239 rescue/virt-rescue.pod:506 #: resize/virt-resize.pod:867 sparsify/virt-sparsify.pod:469 #: tools/virt-list-filesystems:193 tools/virt-list-partitions:274 #: tools/virt-tar:306 tools/virt-win-reg:819 msgid "AUTHOR" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:397 builder/virt-builder.pod:1904 #: builder/virt-index-validate.pod:86 cat/virt-cat.pod:289 #: cat/virt-filesystems.pod:398 cat/virt-log.pod:150 cat/virt-ls.pod:531 #: cat/virt-tail.pod:250 customize/virt-customize.pod:304 #: daemon/guestfsd.pod:150 df/virt-df.pod:268 diff/virt-diff.pod:261 #: edit/virt-edit.pod:397 format/virt-format.pod:199 #: get-kernel/virt-get-kernel.pod:205 inspector/virt-inspector.pod:506 #: make-fs/virt-make-fs.pod:241 rescue/virt-rescue.pod:508 #: resize/virt-resize.pod:869 sparsify/virt-sparsify.pod:471 #: sysprep/virt-sysprep.pod:617 tools/virt-list-filesystems:195 #: tools/virt-list-partitions:276 tools/virt-tar:308 tools/virt-win-reg:821 msgid "Richard W.M. Jones L" msgstr "" #. type: =head1 #: align/virt-alignment-scan.pod:399 #: appliance/libguestfs-make-fixed-appliance.pod:152 #: builder/virt-builder-repository.pod:210 builder/virt-builder.pod:1906 #: builder/virt-index-validate.pod:88 cat/virt-cat.pod:291 #: cat/virt-filesystems.pod:400 cat/virt-log.pod:152 cat/virt-ls.pod:533 #: cat/virt-tail.pod:252 customize/virt-customize.pod:306 #: daemon/guestfsd.pod:152 df/virt-df.pod:270 dib/virt-dib.pod:719 #: diff/virt-diff.pod:263 docs/guestfs-building.pod:804 #: docs/guestfs-faq.pod:1414 docs/guestfs-hacking.pod:1117 #: docs/guestfs-internals.pod:413 docs/guestfs-performance.pod:620 #: docs/guestfs-recipes.pod:739 docs/guestfs-release-notes-1.10.pod:160 #: docs/guestfs-release-notes-1.12.pod:151 #: docs/guestfs-release-notes-1.14.pod:187 #: docs/guestfs-release-notes-1.16.pod:158 #: docs/guestfs-release-notes-1.18.pod:256 #: docs/guestfs-release-notes-1.20.pod:610 #: docs/guestfs-release-notes-1.22.pod:375 #: docs/guestfs-release-notes-1.24.pod:330 #: docs/guestfs-release-notes-1.26.pod:390 #: docs/guestfs-release-notes-1.28.pod:513 #: docs/guestfs-release-notes-1.30.pod:841 #: docs/guestfs-release-notes-1.32.pod:505 #: docs/guestfs-release-notes-1.34.pod:730 #: docs/guestfs-release-notes-1.36.pod:559 #: docs/guestfs-release-notes-1.38.pod:613 #: docs/guestfs-release-notes-1.4.pod:214 #: docs/guestfs-release-notes-1.40.pod:404 #: docs/guestfs-release-notes-1.42.pod:307 #: docs/guestfs-release-notes-1.6.pod:185 #: docs/guestfs-release-notes-1.8.pod:160 #: docs/guestfs-release-notes-historical.pod:50 docs/guestfs-security.pod:421 #: docs/guestfs-testing.pod:406 edit/virt-edit.pod:399 #: erlang/examples/guestfs-erlang.pod:115 examples/guestfs-examples.pod:73 #: fish/guestfish.pod:1663 fish/libguestfs-tools.conf.pod:100 #: fish/virt-copy-in.pod:56 fish/virt-copy-out.pod:51 fish/virt-tar-in.pod:54 #: fish/virt-tar-out.pod:53 format/virt-format.pod:201 fuse/guestmount.pod:445 #: fuse/guestunmount.pod:160 get-kernel/virt-get-kernel.pod:207 #: gobject/guestfs-gobject.pod:62 golang/examples/guestfs-golang.pod:96 #: inspector/virt-inspector.pod:514 java/examples/guestfs-java.pod:179 #: lib/guestfs.pod:3525 lua/examples/guestfs-lua.pod:156 #: make-fs/virt-make-fs.pod:243 ocaml/examples/guestfs-ocaml.pod:100 #: perl/examples/guestfs-perl.pod:58 python/examples/guestfs-python.pod:82 #: rescue/virt-rescue.pod:510 resize/virt-resize.pod:871 #: ruby/examples/guestfs-ruby.pod:53 sparsify/virt-sparsify.pod:473 #: sysprep/virt-sysprep.pod:621 test-tool/libguestfs-test-tool.pod:188 #: tools/virt-list-filesystems:197 tools/virt-list-partitions:278 #: tools/virt-tar:310 tools/virt-win-reg:823 msgid "COPYRIGHT" msgstr "" #. type: textblock #: align/virt-alignment-scan.pod:401 msgid "Copyright (C) 2011 Red Hat Inc." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:3 msgid "libguestfs-make-fixed-appliance - Make a \"fixed appliance\" for libguestfs" msgstr "" #. type: verbatim #: appliance/libguestfs-make-fixed-appliance.pod:7 #, no-wrap msgid "" " libguestfs-make-fixed-appliance [--options] OUTPUTDIR\n" "\n" msgstr "" #. type: verbatim #: appliance/libguestfs-make-fixed-appliance.pod:9 #, no-wrap msgid "" " libguestfs-make-fixed-appliance [--options] --xz\n" "\n" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:13 msgid "" "libguestfs-make-fixed-appliance lets you make a pre-built binary appliance " "for libguestfs." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:16 msgid "B." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:18 msgid "Some reasons why you I want to use this include:" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:24 msgid "" "You want to make a self-contained libguestfs appliance that can be copied to " "another machine or platform that doesn't support L." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:30 msgid "" "You have multiple users on the same machine and want to avoid the storage " "duplication and start-up overhead of having multiple cached copies of the " "appliance." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:36 msgid "" "You want to have very predictable performance from libguestfs (see " "L)." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:41 msgid "" "For deeper understanding of why you might need this tool, read " "L." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:44 msgid "" "Instead of running this tool, you can download fixed appliances from " "L. These appliances " "were made using this tool." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:48 msgid "There are two ways to use this tool." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:54 msgid "Specify an output directory, for example:" msgstr "" #. type: verbatim #: appliance/libguestfs-make-fixed-appliance.pod:56 #, no-wrap msgid "" " libguestfs-make-fixed-appliance /usr/local/lib/guestfs/appliance\n" "\n" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:58 msgid "" "The output directory is created if it does not exist. Four files are " "created in this directory:" msgstr "" #. type: verbatim #: appliance/libguestfs-make-fixed-appliance.pod:61 #, no-wrap msgid "" " /kernel\n" " /initrd\n" " /root\n" " /README.fixed\n" "\n" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:66 msgid "" "Note that C/root> is a sparse file, so take care when copying " "it." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:69 msgid "" "You can then run libguestfs (possibly after copying this directory to " "another machine) by setting the environment variable LIBGUESTFS_PATH to " "C." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:75 msgid "" "The alternative method is to use the I<--xz> option to create a compressed " "tarball:" msgstr "" #. type: verbatim #: appliance/libguestfs-make-fixed-appliance.pod:78 #, no-wrap msgid "" " libguestfs-make-fixed-appliance --xz\n" "\n" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:80 msgid "This creates a tarball in the I directory called:" msgstr "" #. type: verbatim #: appliance/libguestfs-make-fixed-appliance.pod:82 #, no-wrap msgid "" " appliance-.tar.xz\n" "\n" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:84 msgid "" "(where C is the version of libguestfs). The tarball contains the " "four files:" msgstr "" #. type: verbatim #: appliance/libguestfs-make-fixed-appliance.pod:87 #, no-wrap msgid "" " appliance/kernel\n" " appliance/initrd\n" " appliance/root\n" " appliance/README.fixed\n" "\n" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:92 msgid "Note that C is a sparse file, so take care when copying it." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:103 #: test-tool/libguestfs-test-tool.pod:40 msgid "Display short usage information and exit." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:109 msgid "Display the version number and exit." msgstr "" #. type: =item #: appliance/libguestfs-make-fixed-appliance.pod:111 msgid "B<--xz>" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:113 msgid "" "Instead of creating the appliance in an output directory, create a " "compressed tarball of the appliance in the current directory called " "F.tar.xz> where C is the version of " "libguestfs." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:118 msgid "" "Using I<--xz> can take some time. If working normally, the tool is " "completely silent when it is running." msgstr "" #. type: =head1 #: appliance/libguestfs-make-fixed-appliance.pod:123 msgid "LICENSING" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:125 msgid "" "The fixed appliance is a complete Linux binary distro. If you distribute " "it, you may need to distribute corresponding source files to remain in legal " "compliance with the licenses of the software in the appliance (such as the " "GNU General Public License)." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:132 msgid "" "libguestfs-make-fixed-appliance returns I<0> if the appliance was built " "without errors." msgstr "" #. type: =head1 #: appliance/libguestfs-make-fixed-appliance.pod:135 #: builder/virt-builder.pod:1811 customize/virt-customize.pod:249 #: dib/virt-dib.pod:457 edit/virt-edit.pod:366 fish/guestfish.pod:1401 #: fuse/guestunmount.pod:113 get-kernel/virt-get-kernel.pod:185 #: lib/guestfs.pod:3330 rescue/virt-rescue.pod:472 #: sparsify/virt-sparsify.pod:412 sysprep/virt-sysprep.pod:562 #: test-tool/libguestfs-test-tool.pod:173 msgid "ENVIRONMENT VARIABLES" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:137 #: test-tool/libguestfs-test-tool.pod:175 msgid "" "For the full list of environment variables which may affect libguestfs, " "please see the L manual page." msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:142 msgid "" "L, L, L, L, " "L." msgstr "" #. type: =head1 #: appliance/libguestfs-make-fixed-appliance.pod:148 #: customize/virt-customize.pod:302 docs/guestfs-building.pod:800 #: docs/guestfs-faq.pod:1410 docs/guestfs-hacking.pod:1113 #: docs/guestfs-internals.pod:409 docs/guestfs-performance.pod:616 #: docs/guestfs-recipes.pod:735 docs/guestfs-release-notes-1.42.pod:283 #: docs/guestfs-security.pod:417 docs/guestfs-testing.pod:402 #: erlang/examples/guestfs-erlang.pod:111 examples/guestfs-examples.pod:69 #: fish/guestfish.pod:1659 fish/libguestfs-tools.conf.pod:96 #: fish/virt-copy-in.pod:52 fish/virt-copy-out.pod:47 fish/virt-tar-in.pod:50 #: fish/virt-tar-out.pod:49 fuse/guestmount.pod:441 fuse/guestunmount.pod:156 #: gobject/guestfs-gobject.pod:58 golang/examples/guestfs-golang.pod:92 #: inspector/virt-inspector.pod:500 java/examples/guestfs-java.pod:175 #: lib/guestfs.pod:3521 lua/examples/guestfs-lua.pod:152 #: ocaml/examples/guestfs-ocaml.pod:96 perl/examples/guestfs-perl.pod:54 #: python/examples/guestfs-python.pod:78 ruby/examples/guestfs-ruby.pod:49 #: sysprep/virt-sysprep.pod:615 test-tool/libguestfs-test-tool.pod:184 msgid "AUTHORS" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:150 #: docs/guestfs-building.pod:802 docs/guestfs-faq.pod:1412 #: docs/guestfs-hacking.pod:1115 docs/guestfs-internals.pod:411 #: docs/guestfs-performance.pod:618 docs/guestfs-recipes.pod:737 #: docs/guestfs-security.pod:419 docs/guestfs-testing.pod:404 #: erlang/examples/guestfs-erlang.pod:113 examples/guestfs-examples.pod:71 #: fish/guestfish.pod:1661 fish/libguestfs-tools.conf.pod:98 #: fish/virt-copy-in.pod:54 fish/virt-copy-out.pod:49 fish/virt-tar-in.pod:52 #: fish/virt-tar-out.pod:51 fuse/guestmount.pod:443 fuse/guestunmount.pod:158 #: gobject/guestfs-gobject.pod:60 golang/examples/guestfs-golang.pod:94 #: java/examples/guestfs-java.pod:177 lib/guestfs.pod:3523 #: lua/examples/guestfs-lua.pod:154 ocaml/examples/guestfs-ocaml.pod:98 #: perl/examples/guestfs-perl.pod:56 python/examples/guestfs-python.pod:80 #: ruby/examples/guestfs-ruby.pod:51 test-tool/libguestfs-test-tool.pod:186 msgid "Richard W.M. Jones (C)" msgstr "" #. type: textblock #: appliance/libguestfs-make-fixed-appliance.pod:154 cat/virt-ls.pod:535 #: daemon/guestfsd.pod:154 df/virt-df.pod:272 diff/virt-diff.pod:265 #: docs/guestfs-building.pod:806 docs/guestfs-hacking.pod:1119 #: docs/guestfs-internals.pod:415 docs/guestfs-recipes.pod:741 #: docs/guestfs-release-notes-1.10.pod:162 #: docs/guestfs-release-notes-1.12.pod:153 #: docs/guestfs-release-notes-1.14.pod:189 #: docs/guestfs-release-notes-1.16.pod:160 #: docs/guestfs-release-notes-1.18.pod:258 #: docs/guestfs-release-notes-1.20.pod:612 #: docs/guestfs-release-notes-1.22.pod:377 #: docs/guestfs-release-notes-1.24.pod:332 #: docs/guestfs-release-notes-1.26.pod:392 #: docs/guestfs-release-notes-1.28.pod:515 #: docs/guestfs-release-notes-1.30.pod:843 #: docs/guestfs-release-notes-1.32.pod:507 #: docs/guestfs-release-notes-1.34.pod:732 #: docs/guestfs-release-notes-1.36.pod:561 #: docs/guestfs-release-notes-1.38.pod:615 #: docs/guestfs-release-notes-1.4.pod:216 #: docs/guestfs-release-notes-1.40.pod:406 #: docs/guestfs-release-notes-1.42.pod:309 #: docs/guestfs-release-notes-1.6.pod:187 #: docs/guestfs-release-notes-1.8.pod:162 #: docs/guestfs-release-notes-historical.pod:52 docs/guestfs-security.pod:423 #: edit/virt-edit.pod:401 fish/guestfish.pod:1665 fuse/guestmount.pod:447 #: lib/guestfs.pod:3527 rescue/virt-rescue.pod:512 #: test-tool/libguestfs-test-tool.pod:190 tools/virt-list-partitions:280 msgid "Copyright (C) 2009-2020 Red Hat Inc." msgstr "" #. type: =end #: builder/virt-builder-repository.pod:1 builder/virt-builder-repository.pod:6 #: builder/virt-builder.pod:1 builder/virt-builder.pod:6 #: docs/guestfs-faq.pod:248 docs/guestfs-faq.pod:253 docs/guestfs-faq.pod:898 #: docs/guestfs-faq.pod:903 docs/guestfs-faq.pod:1090 docs/guestfs-faq.pod:1095 #: lib/guestfs.pod:1428 lib/guestfs.pod:1433 msgid "html" msgstr "" #. type: verbatim #: builder/virt-builder-repository.pod:3 builder/virt-builder.pod:3 #, no-wrap msgid "" "\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:10 msgid "virt-builder-repository - Build virt-builder source repository easily" msgstr "" #. type: verbatim #: builder/virt-builder-repository.pod:14 #, no-wrap msgid "" " virt-builder-repository /path/to/repository\n" " [-i|--interactive] [--gpg-key KEYID]\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:19 msgid "" "Virt-builder is a tool for quickly building new virtual machines. It can be " "configured to use template repositories. However creating and maintaining a " "repository involves many tasks which can be automated. " "virt-builder-repository is a tool helping to manage these repositories." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:24 msgid "" "Virt-builder-repository loops over the files in the directory specified as " "argument, compresses the files with a name ending by C, C, " "C or without extension, extracts data from them and creates or updates " "the C file." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:29 msgid "" "Some of the image-related data needed for the index file can’t be computed " "from the image file. virt-builder-repository first tries to find them in the " "existing index file. If data are still missing after this, they are prompted " "in interactive mode, otherwise an error will be triggered." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:35 msgid "" "If a C is provided, the generated index file will be signed with this " "GPG key." msgstr "" #. type: =head1 #: builder/virt-builder-repository.pod:38 builder/virt-builder.pod:49 #: cat/virt-cat.pod:30 cat/virt-log.pod:25 cat/virt-ls.pod:33 df/virt-df.pod:45 #: dib/virt-dib.pod:22 edit/virt-edit.pod:36 fish/guestfish.pod:32 #: fish/guestfish.pod:1100 fish/virt-copy-in.pod:21 fish/virt-copy-out.pod:19 #: fish/virt-tar-in.pod:22 fish/virt-tar-out.pod:22 fuse/guestmount.pod:32 #: resize/virt-resize.pod:25 sparsify/virt-sparsify.pod:85 tools/virt-tar:47 msgid "EXAMPLES" msgstr "" #. type: =head2 #: builder/virt-builder-repository.pod:40 msgid "Create the initial repository" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:42 msgid "" "Create a folder and copy the disk image template files in it. Then run a " "command like the following one:" msgstr "" #. type: verbatim #: builder/virt-builder-repository.pod:45 #: builder/virt-builder-repository.pod:81 #, no-wrap msgid "" " virt-builder-repository --gpg-key \"joe@hacker.org\" -i /path/to/folder\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:47 msgid "" "Note that this example command runs in interactive mode. To run in automated " "mode, a minimal index file needs to be created before running the command " "containing sections like this one:" msgstr "" #. type: verbatim #: builder/virt-builder-repository.pod:51 #, no-wrap msgid "" " [template_id]\n" " file=template_filename.qcow.xz\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:54 msgid "" "The file value needs to match the image name extended with the C<.xz> suffix " "if the I<--no-compression> parameter is not provided or the image name if no " "compression is involved. Other optional data can be prefilled. Default " "values are computed by inspecting the disk image. For more informations, " "see L." msgstr "" #. type: =head2 #: builder/virt-builder-repository.pod:61 msgid "Update images in an existing repository" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:63 msgid "" "In this use case, a new image or a new revision of an existing image needs " "to be added to the repository. Place the corresponding image template files " "in the repository folder." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:67 msgid "" "To update the revision of an image, the file needs to have the same name " "than the existing one (without the C extension)." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:70 msgid "" "As in the repository creation use case, a minimal fragment can be added to " "the index file for the automated mode. This can be done on the signed index " "even if it may sound a strange idea: the index will be signed again by the " "tool." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:75 msgid "" "To remove an image from the repository, just remove the corresponding image " "file before running virt-builder-repository." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:78 msgid "Then running the following command will complete and update the index file:" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:83 msgid "" "virt-builder-repository works in a temporary folder inside the repository " "one. If anything wrong happens when running the tool, the repository is left " "untouched." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:93 builder/virt-builder.pod:182 #: builder/virt-index-validate.pod:64 dib/virt-dib.pod:54 #: get-kernel/virt-get-kernel.pod:29 resize/virt-resize.pod:274 #: sparsify/virt-sparsify.pod:120 msgid "Display help." msgstr "" #. type: =item #: builder/virt-builder-repository.pod:95 builder/virt-builder.pod:318 msgid "B<--gpg> GPG" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:97 msgid "" "Specify an alternate L (GNU Privacy Guard) binary. You can also use " "this to add gpg parameters, for example to specify an alternate home " "directory:" msgstr "" #. type: verbatim #: builder/virt-builder-repository.pod:101 #, no-wrap msgid "" " virt-builder-repository --gpg \"gpg --homedir /tmp\" [...]\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:103 msgid "This can also be used to avoid gpg asking for the key passphrase:" msgstr "" #. type: verbatim #: builder/virt-builder-repository.pod:105 #, no-wrap msgid "" " virt-builder-repository --gpg \"gpg --passphrase-file /tmp/pass --batch\" " "[...]\n" "\n" msgstr "" #. type: =item #: builder/virt-builder-repository.pod:107 msgid "B<-K> KEYID" msgstr "" #. type: =item #: builder/virt-builder-repository.pod:109 msgid "B<--gpg-key> KEYID" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:111 msgid "" "Specify the GPG key to be used to sign the repository index file. If not " "provided, the index will left unsigned. C is used to identify the GPG " "key to use. This value is passed to gpg’s I<--default-key> option and can " "thus be an email address or a fingerprint." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:117 msgid "" "B: by default, virt-builder-repository searches for the key in the " "user’s GPG keyring." msgstr "" #. type: =item #: builder/virt-builder-repository.pod:120 df/virt-df.pod:153 #: fish/guestfish.pod:254 fuse/guestmount.pod:243 rescue/virt-rescue.pod:181 msgid "B<-i>" msgstr "" #. type: =item #: builder/virt-builder-repository.pod:122 msgid "B<--interactive>" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:124 msgid "Prompt for missing data. Default values are computed from the disk image." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:127 msgid "" "When prompted for data, inputting C<-> corresponds to leaving the value " "empty. This can be used to avoid setting the default computed value." msgstr "" #. type: =item #: builder/virt-builder-repository.pod:130 msgid "B<--no-compression>" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:132 msgid "Don’t compress the template images." msgstr "" #. type: =item #: builder/virt-builder-repository.pod:134 builder/virt-builder.pod:370 #: dib/virt-dib.pod:264 get-kernel/virt-get-kernel.pod:104 #: resize/virt-resize.pod:462 sparsify/virt-sparsify.pod:237 msgid "B<--machine-readable>" msgstr "" #. type: =item #: builder/virt-builder-repository.pod:136 builder/virt-builder.pod:372 #: dib/virt-dib.pod:266 get-kernel/virt-get-kernel.pod:106 #: resize/virt-resize.pod:464 sparsify/virt-sparsify.pod:239 msgid "B<--machine-readable>=format" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:138 builder/virt-builder.pod:374 #: dib/virt-dib.pod:268 get-kernel/virt-get-kernel.pod:108 #: resize/virt-resize.pod:466 sparsify/virt-sparsify.pod:241 msgid "" "This option is used to make the output more machine friendly when being " "parsed by other programs. See L below." msgstr "" #. type: =item #: builder/virt-builder-repository.pod:142 builder/virt-builder.pod:244 #: customize/virt-customize.pod:77 dib/virt-dib.pod:80 #: get-kernel/virt-get-kernel.pod:55 resize/virt-resize.pod:332 #: sparsify/virt-sparsify.pod:158 sysprep/virt-sysprep.pod:62 msgid "B<--colors>" msgstr "" #. type: =item #: builder/virt-builder-repository.pod:144 builder/virt-builder.pod:246 #: customize/virt-customize.pod:79 dib/virt-dib.pod:82 #: get-kernel/virt-get-kernel.pod:57 resize/virt-resize.pod:334 #: sparsify/virt-sparsify.pod:160 sysprep/virt-sysprep.pod:64 msgid "B<--colours>" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:146 builder/virt-builder.pod:248 #: customize/virt-customize.pod:81 dib/virt-dib.pod:84 #: get-kernel/virt-get-kernel.pod:59 resize/virt-resize.pod:336 #: sparsify/virt-sparsify.pod:162 sysprep/virt-sysprep.pod:66 msgid "" "Use ANSI colour sequences to colourize messages. This is the default when " "the output is a tty. If the output of the program is redirected to a file, " "ANSI colour sequences are disabled unless you use this option." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:155 builder/virt-builder.pod:481 #: dib/virt-dib.pod:374 get-kernel/virt-get-kernel.pod:136 msgid "Don’t print ordinary progress messages." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:161 builder/virt-builder.pod:528 msgid "Enable debug messages and/or produce verbose output." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:163 builder/virt-builder.pod:530 msgid "" "When reporting bugs, use this option and attach the complete output to your " "bug report." msgstr "" #. type: =head1 #: builder/virt-builder-repository.pod:178 builder/virt-builder.pod:1788 #: dib/virt-dib.pod:670 get-kernel/virt-get-kernel.pod:167 #: resize/virt-resize.pod:640 sparsify/virt-sparsify.pod:354 msgid "MACHINE READABLE OUTPUT" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:180 msgid "" "The I<--machine-readable> option can be used to make the output more machine " "friendly, which is useful when calling virt-builder-repository from other " "programs, GUIs etc." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:184 msgid "" "Use the option on its own to query the capabilities of the " "virt-builder-repository binary. Typical output looks like this:" msgstr "" #. type: verbatim #: builder/virt-builder-repository.pod:187 #, no-wrap msgid "" " $ virt-builder-repository --machine-readable\n" " virt-builder-repository\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:190 builder/virt-builder.pod:1805 #: dib/virt-dib.pod:686 get-kernel/virt-get-kernel.pod:179 #: resize/virt-resize.pod:658 sparsify/virt-sparsify.pod:370 msgid "" "A list of features is printed, one per line, and the program exits with " "status 0." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:193 builder/virt-builder.pod:1808 #: dib/virt-dib.pod:692 get-kernel/virt-get-kernel.pod:182 #: resize/virt-resize.pod:692 sparsify/virt-sparsify.pod:404 msgid "" "It is possible to specify a format string for controlling the output; see " "L." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:198 builder/virt-builder.pod:1878 #: cat/virt-cat.pod:273 cat/virt-filesystems.pod:382 cat/virt-log.pod:134 #: cat/virt-ls.pod:516 cat/virt-tail.pod:234 daemon/guestfsd.pod:101 #: df/virt-df.pod:255 dib/virt-dib.pod:705 diff/virt-diff.pod:246 #: edit/virt-edit.pod:381 fuse/guestmount.pod:424 #: get-kernel/virt-get-kernel.pod:192 inspector/virt-inspector.pod:488 #: resize/virt-resize.pod:839 msgid "This program returns 0 if successful, or non-zero if there was an error." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:203 msgid "L L." msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:208 msgid "Cédric Bosdonnat L" msgstr "" #. type: textblock #: builder/virt-builder-repository.pod:212 msgid "Copyright (C) 2016-2020 SUSE Inc." msgstr "" #. type: textblock #: builder/virt-builder.pod:10 msgid "virt-builder - Build virtual machine images quickly" msgstr "" #. type: verbatim #: builder/virt-builder.pod:14 #, no-wrap msgid "" " virt-builder os-version\n" " [-o|--output DISKIMAGE] [--size SIZE] [--format raw|qcow2]\n" " [--arch ARCHITECTURE] [--attach ISOFILE]\n" "__CUSTOMIZE_SYNOPSIS__\n" "\n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:19 #, no-wrap msgid "" " virt-builder -l|--list [--long] [--list-format short|long|json] " "[os-version]\n" "\n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:21 #, no-wrap msgid "" " virt-builder --notes os-version\n" "\n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:23 builder/virt-builder.pod:1553 #, no-wrap msgid "" " virt-builder --print-cache\n" "\n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:25 builder/virt-builder.pod:1561 #, no-wrap msgid "" " virt-builder --cache-all-templates\n" "\n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:27 builder/virt-builder.pod:1557 #, no-wrap msgid "" " virt-builder --delete-cache\n" "\n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:29 #, no-wrap msgid "" " virt-builder --get-kernel DISKIMAGE\n" " [--format raw|qcow2] [--output OUTPUTDIR]\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:34 msgid "" "Virt-builder is a tool for quickly building new virtual machines. You can " "build a variety of VMs for local or cloud use, usually within a few minutes " "or less. Virt-builder also has many ways to customize these VMs. " "Everything is run from the command line and nothing requires root " "privileges, so automation and scripting is simple." msgstr "" #. type: textblock #: builder/virt-builder.pod:40 msgid "" "Note that virt-builder does not install guests from scratch. It takes " "cleanly prepared, digitally signed OS templates and customizes them. This " "approach is used because it is much faster, but if you need to do fresh " "installs you may want to look at L and L." msgstr "" #. type: textblock #: builder/virt-builder.pod:46 msgid "" "The easiest way to get started is by looking at the examples in the next " "section." msgstr "" #. type: =head2 #: builder/virt-builder.pod:51 msgid "List the virtual machines available" msgstr "" #. type: verbatim #: builder/virt-builder.pod:53 #, no-wrap msgid "" " virt-builder --list\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:55 msgid "" "will list out the operating systems available to install. A selection of " "freely redistributable OSes is available as standard. You can add your own " "too (see below)." msgstr "" #. type: textblock #: builder/virt-builder.pod:59 msgid "" "After choosing a guest from the list, you may want to see if there are any " "installation notes:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:62 #, no-wrap msgid "" " virt-builder --notes fedora-27\n" "\n" msgstr "" #. type: =head2 #: builder/virt-builder.pod:64 msgid "Build a virtual machine" msgstr "" #. type: verbatim #: builder/virt-builder.pod:66 #, no-wrap msgid "" " virt-builder fedora-27\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:68 msgid "" "will build a Fedora 25 image for the same architecture as virt-builder (so " "running it from an i686 installation will try to build an i686 image, if " "available). This will have all default configuration (minimal size, no user " "accounts, random root password, only the bare minimum installed software, " "etc.)." msgstr "" #. type: textblock #: builder/virt-builder.pod:74 msgid "You I need to run this command as root." msgstr "" #. type: textblock #: builder/virt-builder.pod:76 msgid "" "The first time this runs it has to download the template over the network, " "but this gets cached (see L)." msgstr "" #. type: textblock #: builder/virt-builder.pod:79 msgid "" "The name of the output file is derived from the template name, so above it " "will be F. You can change the output filename using the " "I<-o> option:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:83 #, no-wrap msgid "" " virt-builder fedora-27 -o mydisk.img\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:85 msgid "" "You can also use the I<-o> option to write to existing devices or logical " "volumes." msgstr "" #. type: verbatim #: builder/virt-builder.pod:88 #, no-wrap msgid "" " virt-builder fedora-27 --format qcow2\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:90 msgid "As above, but write the output in qcow2 format to F." msgstr "" #. type: verbatim #: builder/virt-builder.pod:92 #, no-wrap msgid "" " virt-builder fedora-27 --size 20G\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:94 msgid "" "As above, but the output size will be 20 GB. The guest OS is resized as it " "is copied to the output (automatically, using L)." msgstr "" #. type: verbatim #: builder/virt-builder.pod:98 #, no-wrap msgid "" " virt-builder fedora-27 --arch i686\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:100 msgid "As above, but using an i686 template, if available." msgstr "" #. type: =head2 #: builder/virt-builder.pod:102 msgid "Setting the root password" msgstr "" #. type: verbatim #: builder/virt-builder.pod:104 #, no-wrap msgid "" " virt-builder fedora-27 --root-password file:/tmp/rootpw\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:106 msgid "" "Create a Fedora 25 image. The root password is taken from the file " "F." msgstr "" #. type: textblock #: builder/virt-builder.pod:109 msgid "" "Note if you I set I<--root-password> then the guest is given a " "I root password which is printed on stdout." msgstr "" #. type: textblock #: builder/virt-builder.pod:112 msgid "You can also create user accounts. See L below." msgstr "" #. type: =head2 #: builder/virt-builder.pod:114 msgid "Set the hostname" msgstr "" #. type: verbatim #: builder/virt-builder.pod:116 #, no-wrap msgid "" " virt-builder fedora-27 --hostname virt.example.com\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:118 msgid "Set the hostname to C." msgstr "" #. type: =head2 #: builder/virt-builder.pod:120 msgid "Installing software" msgstr "" #. type: textblock #: builder/virt-builder.pod:122 msgid "" "To install packages from the ordinary (guest) software repository (eg. dnf " "or apt):" msgstr "" #. type: verbatim #: builder/virt-builder.pod:125 #, no-wrap msgid "" " virt-builder fedora-27 --install \"inkscape,@Xfce Desktop\"\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:127 msgid "" "(In Fedora, C<@> is used to install groups of packages. On Debian you would " "install a meta-package instead.)" msgstr "" #. type: textblock #: builder/virt-builder.pod:130 msgid "To update the installed packages to the latest version:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:132 #, no-wrap msgid "" " virt-builder debian-7 --update\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:134 msgid "" "For guests which use SELinux, like Fedora and Red Hat Enterprise Linux, you " "may need to do SELinux relabelling after installing or updating packages " "(see L below):" msgstr "" #. type: verbatim #: builder/virt-builder.pod:138 #, no-wrap msgid "" " virt-builder fedora-27 --update --selinux-relabel\n" "\n" msgstr "" #. type: =head2 #: builder/virt-builder.pod:140 msgid "Customizing the installation" msgstr "" #. type: textblock #: builder/virt-builder.pod:142 msgid "" "There are many options that let you customize the installation. These " "include: I<--run>/I<--run-command>, which run a shell script or command " "while the disk image is being generated and lets you add or edit files that " "go into the disk image. I<--firstboot>/I<--firstboot-command>, which let " "you add scripts/commands that are run the first time the guest boots. " "I<--edit> to edit files. I<--upload> to upload files." msgstr "" #. type: verbatim #: builder/virt-builder.pod:152 #, no-wrap msgid "" " cat <<'EOF' > /tmp/dnf-update.sh\n" " dnf -y --best update\n" " EOF\n" " \n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:156 #, no-wrap msgid "" " virt-builder fedora-27 --firstboot /tmp/dnf-update.sh\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:158 msgid "or simply:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:160 #, no-wrap msgid "" " virt-builder fedora-27 --firstboot-command 'dnf -y --best update'\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:162 msgid "" "which makes the L C command run once the first time the " "guest boots." msgstr "" #. type: textblock #: builder/virt-builder.pod:165 msgid "Or:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:167 #, no-wrap msgid "" " virt-builder fedora-27 \\\n" " --edit '/etc/dnf/dnf.conf:\n" " s/gpgcheck=1/gpgcheck=0/'\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:171 msgid "" "which edits F inside the disk image (during disk image " "creation, long before boot)." msgstr "" #. type: textblock #: builder/virt-builder.pod:174 msgid "You can combine these options, and have multiple options of all types." msgstr "" #. type: =item #: builder/virt-builder.pod:184 dib/virt-dib.pod:66 msgid "B<--arch> ARCHITECTURE" msgstr "" #. type: textblock #: builder/virt-builder.pod:186 msgid "" "Use the specified architecture for the output image. This means there must " "be sources providing the requested template for the requested architecture." msgstr "" #. type: textblock #: builder/virt-builder.pod:190 msgid "See also L." msgstr "" #. type: =item #: builder/virt-builder.pod:192 customize/virt-customize.pod:56 msgid "B<--attach> ISOFILE" msgstr "" #. type: textblock #: builder/virt-builder.pod:194 msgid "" "During the customization phase, the given disk is attached to the libguestfs " "appliance. This is used to provide extra software repositories or other " "data for customization." msgstr "" #. type: textblock #: builder/virt-builder.pod:198 customize/virt-customize.pod:62 msgid "" "You probably want to ensure the volume(s) or filesystems in the attached " "disks are labelled (or use an ISO volume name) so that you can mount them by " "label in your run-scripts:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:202 customize/virt-customize.pod:66 #, no-wrap msgid "" " mkdir /tmp/mount\n" " mount LABEL=EXTRA /tmp/mount\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:205 customize/virt-customize.pod:69 msgid "" "You can have multiple I<--attach> options, and the format can be any disk " "format (not just an ISO)." msgstr "" #. type: textblock #: builder/virt-builder.pod:208 msgid "" "See also: I<--run>, L, L, L." msgstr "" #. type: =item #: builder/virt-builder.pod:212 customize/virt-customize.pod:72 msgid "B<--attach-format> FORMAT" msgstr "" #. type: textblock #: builder/virt-builder.pod:214 customize/virt-customize.pod:74 msgid "" "Specify the disk format for the next I<--attach> option. The C is " "usually C or C. Use C for ISOs." msgstr "" #. type: =item #: builder/virt-builder.pod:217 msgid "B<--cache> DIR" msgstr "" #. type: =item #: builder/virt-builder.pod:219 msgid "B<--no-cache>" msgstr "" #. type: textblock #: builder/virt-builder.pod:221 msgid "" "I<--cache> DIR sets the directory to use/check for cached template files. " "If not set, defaults to either F<$XDG_CACHE_HOME/virt-builder/> or " "F<$HOME/.cache/virt-builder/>." msgstr "" #. type: textblock #: builder/virt-builder.pod:225 msgid "I<--no-cache> disables template caching." msgstr "" #. type: =item #: builder/virt-builder.pod:227 msgid "B<--cache-all-templates>" msgstr "" #. type: textblock #: builder/virt-builder.pod:229 msgid "Download all templates to the cache and then exit. See L." msgstr "" #. type: textblock #: builder/virt-builder.pod:231 msgid "" "Note this doesn't cache everything. More templates might be uploaded. Also " "this doesn't cache packages (the I<--install>, I<--update> options)." msgstr "" #. type: =item #: builder/virt-builder.pod:234 msgid "B<--check-signature>" msgstr "" #. type: =item #: builder/virt-builder.pod:236 msgid "B<--no-check-signature>" msgstr "" #. type: textblock #: builder/virt-builder.pod:238 msgid "" "Check/don’t check the digital signature of the OS template. The default is " "to check the signature and exit if it is not correct. Using " "I<--no-check-signature> bypasses this check." msgstr "" #. type: textblock #: builder/virt-builder.pod:242 msgid "See also I<--fingerprint>." msgstr "" #. type: =item #: builder/virt-builder.pod:253 msgid "B<--curl> CURL" msgstr "" #. type: textblock #: builder/virt-builder.pod:255 msgid "" "Specify an alternate L binary. You can also use this to add curl " "parameters, for example to disable https certificate checks:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:258 #, no-wrap msgid "" " virt-builder --curl \"curl --insecure\" [...]\n" "\n" msgstr "" #. type: =item #: builder/virt-builder.pod:260 msgid "B<--delete-cache>" msgstr "" #. type: textblock #: builder/virt-builder.pod:262 msgid "Delete the template cache. See L." msgstr "" #. type: =item #: builder/virt-builder.pod:264 dib/virt-dib.pod:351 msgid "B<--no-delete-on-failure>" msgstr "" #. type: textblock #: builder/virt-builder.pod:266 msgid "" "Don’t delete the output file on failure to build. You can use this to debug " "failures to run scripts. See L for ways to debug images." msgstr "" #. type: textblock #: builder/virt-builder.pod:270 msgid "" "The default is to delete the output file if virt-builder fails (or, for " "example, some script that it runs fails)." msgstr "" #. type: =item #: builder/virt-builder.pod:273 msgid "B<--fingerprint> 'AAAA BBBB ...'" msgstr "" #. type: textblock #: builder/virt-builder.pod:275 msgid "" "Check that the index and templates are signed by the key with the given " "fingerprint. (The fingerprint is a long string, usually written as 10 " "groups of 4 hexadecimal digits)." msgstr "" #. type: textblock #: builder/virt-builder.pod:279 msgid "" "You can give this option multiple times. If you have multiple source URLs, " "then you can have either no fingerprint, one fingerprint or multiple " "fingerprints. If you have multiple, then each must correspond 1-1 with a " "source URL." msgstr "" #. type: =item #: builder/virt-builder.pod:284 sparsify/virt-sparsify.pod:204 msgid "B<--format> qcow2" msgstr "" #. type: =item #: builder/virt-builder.pod:286 sparsify/virt-sparsify.pod:202 #: tools/virt-list-filesystems:90 tools/virt-list-partitions:91 #: tools/virt-tar:138 tools/virt-win-reg:139 msgid "B<--format> raw" msgstr "" #. type: textblock #: builder/virt-builder.pod:288 msgid "For ordinary builds, this selects the output format. The default is I." msgstr "" #. type: textblock #: builder/virt-builder.pod:290 msgid "With I<--get-kernel> this specifies the input format." msgstr "" #. type: textblock #: builder/virt-builder.pod:292 msgid "" "To create an old-style qcow2 file (for compatibility with RHEL 6 or very old " "qemu E 1.1), after running virt-builder, use this command:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:296 #, no-wrap msgid "" " qemu-img amend -f qcow2 -o compat=0.10 output.qcow2\n" "\n" msgstr "" #. type: =item #: builder/virt-builder.pod:298 msgid "B<--get-kernel> IMAGE" msgstr "" #. type: textblock #: builder/virt-builder.pod:300 msgid "" "This option extracts the kernel and initramfs from a previously built disk " "image called C (in fact it works for any VM disk image, not just ones " "built using virt-builder)." msgstr "" #. type: textblock #: builder/virt-builder.pod:304 msgid "" "Note this method is B: there is a separate tool for this, " "L, which has more options for the file extraction." msgstr "" #. type: textblock #: builder/virt-builder.pod:307 msgid "" "The kernel and initramfs are written to the current directory, unless you " "also specify the I<--output> C B name." msgstr "" #. type: textblock #: builder/virt-builder.pod:310 get-kernel/virt-get-kernel.pod:15 msgid "" "The format of the disk image is automatically detected unless you specify it " "by using the I<--format> option." msgstr "" #. type: textblock #: builder/virt-builder.pod:313 msgid "" "In the case where the guest contains multiple kernels, the one with the " "highest version number is chosen. To extract arbitrary kernels from the " "disk image, see L. To extract the entire F directory " "of a guest, see L." msgstr "" #. type: textblock #: builder/virt-builder.pod:320 msgid "" "Specify an alternate L (GNU Privacy Guard) binary. By default " "virt-builder looks for either C or C in the C<$PATH>." msgstr "" #. type: textblock #: builder/virt-builder.pod:323 msgid "" "You can also use this to add gpg parameters, for example to specify an " "alternate home directory:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:326 #, no-wrap msgid "" " virt-builder --gpg \"gpg --homedir /tmp\" [...]\n" "\n" msgstr "" #. type: =item #: builder/virt-builder.pod:328 msgid "B<-l> [os-version]" msgstr "" #. type: =item #: builder/virt-builder.pod:330 msgid "B<--list> [os-version]" msgstr "" #. type: =item #: builder/virt-builder.pod:332 msgid "B<--list> B<--list-format> format [os-version]" msgstr "" #. type: =item #: builder/virt-builder.pod:334 msgid "B<--list> B<--long> [os-version]" msgstr "" #. type: textblock #: builder/virt-builder.pod:336 msgid "" "List all the available templates if no guest is specified, or only for the " "specified one." msgstr "" #. type: textblock #: builder/virt-builder.pod:339 msgid "" "It is possible to choose with I<--list-format> the output format for the " "list templates:" msgstr "" #. type: =item #: builder/virt-builder.pod:344 msgid "B" msgstr "" #. type: textblock #: builder/virt-builder.pod:346 msgid "" "The default format, prints only the template identifier and, next to it, its " "short description." msgstr "" #. type: =item #: builder/virt-builder.pod:349 msgid "B" msgstr "" #. type: textblock #: builder/virt-builder.pod:351 msgid "" "Prints a textual list with the details of the available sources, followed by " "the details of the available templates." msgstr "" #. type: =item #: builder/virt-builder.pod:354 msgid "B" msgstr "" #. type: textblock #: builder/virt-builder.pod:356 msgid "" "Prints a JSON object with the details of the available sources and the " "details of the available templates." msgstr "" #. type: textblock #: builder/virt-builder.pod:359 msgid "" "The C key in the main object represents the \"compatibility " "version\", and it is bumped every time the resulting JSON output is " "incompatible with the previous versions (for example the structure has " "changed, or non-optional keys are no more present)." msgstr "" #. type: textblock #: builder/virt-builder.pod:366 msgid "I<--long> is a shorthand for the C format." msgstr "" #. type: textblock #: builder/virt-builder.pod:368 msgid "See also: I<--source>, I<--notes>, L." msgstr "" #. type: =item #: builder/virt-builder.pod:378 customize/virt-customize.pod:145 #: dib/virt-dib.pod:272 msgid "B<-m> MB" msgstr "" #. type: =item #: builder/virt-builder.pod:380 customize/virt-customize.pod:147 #: dib/virt-dib.pod:274 rescue/virt-rescue.pod:191 msgid "B<--memsize> MB" msgstr "" #. type: textblock #: builder/virt-builder.pod:382 customize/virt-customize.pod:149 msgid "" "Change the amount of memory allocated to I<--run> scripts. Increase this if " "you find that I<--run> scripts or the I<--install> option are running out of " "memory." msgstr "" #. type: textblock #: builder/virt-builder.pod:386 customize/virt-customize.pod:153 #: dib/virt-dib.pod:279 msgid "The default can be found with this command:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:388 customize/virt-customize.pod:155 #: dib/virt-dib.pod:281 #, no-wrap msgid "" " guestfish get-memsize\n" "\n" msgstr "" #. type: =item #: builder/virt-builder.pod:390 customize/virt-customize.pod:157 #: daemon/guestfsd.pod:77 dib/virt-dib.pod:295 fish/guestfish.pod:335 #: rescue/virt-rescue.pod:225 sysprep/virt-sysprep.pod:242 msgid "B<--network>" msgstr "" #. type: =item #: builder/virt-builder.pod:392 customize/virt-customize.pod:159 #: dib/virt-dib.pod:297 sysprep/virt-sysprep.pod:244 msgid "B<--no-network>" msgstr "" #. type: textblock #: builder/virt-builder.pod:394 customize/virt-customize.pod:161 #: dib/virt-dib.pod:299 sysprep/virt-sysprep.pod:246 msgid "Enable or disable network access from the guest during the installation." msgstr "" #. type: textblock #: builder/virt-builder.pod:396 customize/virt-customize.pod:163 #: dib/virt-dib.pod:302 msgid "Enabled is the default. Use I<--no-network> to disable access." msgstr "" #. type: textblock #: builder/virt-builder.pod:398 customize/virt-customize.pod:165 #: dib/virt-dib.pod:304 msgid "" "The network only allows outgoing connections and has other minor " "limitations. See L." msgstr "" #. type: textblock #: builder/virt-builder.pod:401 customize/virt-customize.pod:168 msgid "" "If you use I<--no-network> then certain other options such as I<--install> " "will not work." msgstr "" #. type: textblock #: builder/virt-builder.pod:404 msgid "" "This does not affect whether the guest can access the network once it has " "been booted, because that is controlled by your hypervisor or cloud " "environment and has nothing to do with virt-builder." msgstr "" #. type: textblock #: builder/virt-builder.pod:408 customize/virt-customize.pod:175 msgid "" "Generally speaking you should I use I<--no-network>. But here are some " "reasons why you might want to:" msgstr "" #. type: =item #: builder/virt-builder.pod:413 builder/virt-builder.pod:988 #: customize/virt-customize.pod:180 docs/guestfs-faq.pod:487 #: docs/guestfs-faq.pod:714 docs/guestfs-faq.pod:920 #: docs/guestfs-hacking.pod:402 docs/guestfs-performance.pod:165 #: docs/guestfs-performance.pod:207 docs/guestfs-recipes.pod:457 #: docs/guestfs-security.pod:177 docs/internal-documentation.pod:172 #: docs/internal-documentation.pod:283 docs/internal-documentation.pod:1354 #: docs/internal-documentation.pod:1477 lib/guestfs.pod:1758 #: lib/guestfs.pod:2098 rescue/virt-rescue.pod:410 resize/virt-resize.pod:29 #: resize/virt-resize.pod:668 resize/virt-resize.pod:784 #: sparsify/virt-sparsify.pod:380 msgid "1." msgstr "" #. type: textblock #: builder/virt-builder.pod:415 customize/virt-customize.pod:182 msgid "" "Because the libguestfs backend that you are using doesn't support the " "network. (See: L)." msgstr "" #. type: =item #: builder/virt-builder.pod:418 builder/virt-builder.pod:993 #: customize/virt-customize.pod:185 docs/guestfs-faq.pod:492 #: docs/guestfs-faq.pod:724 docs/guestfs-faq.pod:924 #: docs/guestfs-hacking.pod:428 docs/guestfs-performance.pod:171 #: docs/guestfs-performance.pod:214 docs/guestfs-recipes.pod:463 #: docs/guestfs-security.pod:181 docs/internal-documentation.pod:177 #: docs/internal-documentation.pod:290 docs/internal-documentation.pod:1359 #: docs/internal-documentation.pod:1483 lib/guestfs.pod:1762 #: lib/guestfs.pod:2102 rescue/virt-rescue.pod:418 resize/virt-resize.pod:43 #: resize/virt-resize.pod:675 resize/virt-resize.pod:802 #: sparsify/virt-sparsify.pod:387 msgid "2." msgstr "" #. type: textblock #: builder/virt-builder.pod:420 customize/virt-customize.pod:187 msgid "" "Any software you need to install comes from an attached ISO, so you don't " "need the network." msgstr "" #. type: =item #: builder/virt-builder.pod:423 builder/virt-builder.pod:1003 #: customize/virt-customize.pod:190 docs/guestfs-faq.pod:498 #: docs/guestfs-faq.pod:729 docs/guestfs-faq.pod:928 #: docs/guestfs-hacking.pod:440 docs/guestfs-performance.pod:220 #: docs/guestfs-recipes.pod:469 docs/internal-documentation.pod:182 #: docs/internal-documentation.pod:300 docs/internal-documentation.pod:1364 #: docs/internal-documentation.pod:1491 lib/guestfs.pod:1766 #: lib/guestfs.pod:2108 rescue/virt-rescue.pod:427 resize/virt-resize.pod:51 #: resize/virt-resize.pod:681 sparsify/virt-sparsify.pod:393 msgid "3." msgstr "" #. type: textblock #: builder/virt-builder.pod:425 msgid "" "You don’t want untrusted guest code trying to access your host network when " "running virt-builder. This is particularly an issue when you don't trust " "the source of the operating system templates. (See L below)." msgstr "" #. type: =item #: builder/virt-builder.pod:430 customize/virt-customize.pod:197 #: docs/guestfs-faq.pod:932 docs/internal-documentation.pod:186 #: docs/internal-documentation.pod:310 docs/internal-documentation.pod:1501 #: rescue/virt-rescue.pod:436 resize/virt-resize.pod:60 msgid "4." msgstr "" #. type: textblock #: builder/virt-builder.pod:432 customize/virt-customize.pod:199 msgid "You don’t have a host network (eg. in secure/restricted environments)." msgstr "" #. type: =item #: builder/virt-builder.pod:436 fish/guestfish.pod:352 fuse/guestmount.pod:291 msgid "B<--no-sync>" msgstr "" #. type: textblock #: builder/virt-builder.pod:438 msgid "Do not sync the output file on exit." msgstr "" #. type: textblock #: builder/virt-builder.pod:440 msgid "Virt-builder Cs the output file or disk image when it exits." msgstr "" #. type: textblock #: builder/virt-builder.pod:442 msgid "" "The reason is that qemu/KVM’s default caching mode is C or " "C, both of which bypass the host page cache. Therefore these " "would not work correctly if you immediately started the guest after running " "virt-builder - they would not see the complete output file. (Note that you " "should not use these caching modes - they are fundamentally broken for this " "and other reasons.)" msgstr "" #. type: textblock #: builder/virt-builder.pod:449 msgid "" "If you are not using these broken caching modes, you can use I<--no-sync> to " "avoid this unnecessary sync and gain considerable extra performance." msgstr "" #. type: =item #: builder/virt-builder.pod:453 msgid "B<--notes> os-version" msgstr "" #. type: textblock #: builder/virt-builder.pod:455 msgid "" "List any notes associated with this guest, then exit (this does not do the " "install)." msgstr "" #. type: =item #: builder/virt-builder.pod:458 msgid "B<-o> filename" msgstr "" #. type: =item #: builder/virt-builder.pod:460 msgid "B<--output> filename" msgstr "" #. type: textblock #: builder/virt-builder.pod:462 msgid "" "Write the output to F. If you don’t specify this option, then the " "output filename is generated by taking the C string and adding " "C<.img> (for raw format) or C<.qcow2> (for qcow2 format)." msgstr "" #. type: textblock #: builder/virt-builder.pod:467 msgid "" "Note that the output filename could be a device, partition or logical " "volume." msgstr "" #. type: textblock #: builder/virt-builder.pod:470 msgid "When used with I<--get-kernel>, this option specifies the output directory." msgstr "" #. type: =item #: builder/virt-builder.pod:473 msgid "B<--print-cache>" msgstr "" #. type: textblock #: builder/virt-builder.pod:475 msgid "Print information about the template cache. See L." msgstr "" #. type: =item #: builder/virt-builder.pod:483 dib/virt-dib.pod:414 msgid "B<--size> SIZE" msgstr "" #. type: textblock #: builder/virt-builder.pod:485 msgid "" "Select the size of the output disk, where the size can be specified using " "common names such as C<32G> (32 gigabytes) etc." msgstr "" #. type: textblock #: builder/virt-builder.pod:488 msgid "Virt-builder will resize filesystems inside the disk image automatically." msgstr "" #. type: textblock #: builder/virt-builder.pod:491 msgid "" "If the size is not specified, then one of two things happens. If the output " "is a file, then the size is the same as the template. If the output is a " "device, partition, etc then the size of that device is used." msgstr "" #. type: textblock #: builder/virt-builder.pod:496 dib/virt-dib.pod:420 msgid "" "To specify size in bytes, the number must be followed by the lowercase " "letter I, eg: S>." msgstr "" #. type: =item #: builder/virt-builder.pod:499 customize/virt-customize.pod:211 #: dib/virt-dib.pod:430 rescue/virt-rescue.pod:257 msgid "B<--smp> N" msgstr "" #. type: textblock #: builder/virt-builder.pod:501 customize/virt-customize.pod:213 msgid "Enable N E 2 virtual CPUs for I<--run> scripts to use." msgstr "" #. type: =item #: builder/virt-builder.pod:503 msgid "B<--source> URL" msgstr "" #. type: textblock #: builder/virt-builder.pod:505 msgid "Set the source URL to look for indexes." msgstr "" #. type: textblock #: builder/virt-builder.pod:507 msgid "You can give this option multiple times to specify multiple sources." msgstr "" #. type: textblock #: builder/virt-builder.pod:509 msgid "See also L below." msgstr "" #. type: textblock #: builder/virt-builder.pod:511 msgid "" "Note that you should not point I<--source> to sources that you don’t trust " "(unless the source is signed by someone you do trust). See also the " "I<--no-network> option." msgstr "" #. type: =item #: builder/virt-builder.pod:515 msgid "B<--no-warn-if-partition>" msgstr "" #. type: textblock #: builder/virt-builder.pod:517 msgid "" "Do not emit a warning if the output device is a partition. This warning " "avoids a common user error when writing to a USB key or external drive, when " "you should normally write to the whole device (S>), not " "to a partition on the device (S>). Use this option to " "I this warning." msgstr "" #. type: =head2 #: builder/virt-builder.pod:545 customize/virt-customize.pod:233 msgid "Customization options" msgstr "" #. type: textblock #: builder/virt-builder.pod:547 customize/virt-customize.pod:235 msgid "__CUSTOMIZE_OPTIONS__" msgstr "" #. type: =head1 #: builder/virt-builder.pod:549 msgid "REFERENCE" msgstr "" #. type: =head2 #: builder/virt-builder.pod:551 msgid "INSTALLING PACKAGES" msgstr "" #. type: textblock #: builder/virt-builder.pod:553 msgid "" "There are several approaches to installing packages or applications in the " "guest which have different trade-offs." msgstr "" #. type: =head3 #: builder/virt-builder.pod:556 msgid "Installing packages at build time" msgstr "" #. type: textblock #: builder/virt-builder.pod:558 msgid "" "If the guest OS you are installing is similar to the host OS (eg. both are " "Linux), and if libguestfs supports network connections, then you can use " "I<--install> to install packages like this:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:562 #, no-wrap msgid "" " virt-builder fedora-27 --install inkscape\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:564 msgid "This uses the guest’s package manager and the host’s network connection." msgstr "" #. type: =head3 #: builder/virt-builder.pod:567 msgid "Updating packages at build time" msgstr "" #. type: textblock #: builder/virt-builder.pod:569 msgid "To update the installed packages in the template at build time:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:571 #, no-wrap msgid "" " virt-builder fedora-27 --update\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:573 msgid "" "Most of the templates that ship with virt-builder come with a very minimal " "selection of packages (known as a \"JEOS\" or \"Just Enough Operating " "System\"), which are up to date at the time the template is created, but " "could be out of date by the time you come to install an OS from the " "template. This option updates those template packages." msgstr "" #. type: =head3 #: builder/virt-builder.pod:579 msgid "Installing packages at first boot" msgstr "" #. type: textblock #: builder/virt-builder.pod:581 msgid "Another option is to install the packages when the guest first boots:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:583 #, no-wrap msgid "" " virt-builder fedora-27 --firstboot-install inkscape\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:585 msgid "This uses the guest’s package manager and the guest’s network connection." msgstr "" #. type: textblock #: builder/virt-builder.pod:588 msgid "" "The downsides are that it will take the guest a lot longer to boot first " "time, and there’s nothing much you can do if package installation fails " "(eg. if a network problem means the guest can't reach the package " "repositories)." msgstr "" #. type: =head3 #: builder/virt-builder.pod:593 msgid "Installing packages at build time from a side repository" msgstr "" #. type: textblock #: builder/virt-builder.pod:595 msgid "" "If the software you want to install is not available in the main package " "repository of the guest, then you can add a side repository. Usually this " "is presented as an ISO (CD disk image) file containing extra packages." msgstr "" #. type: textblock #: builder/virt-builder.pod:600 msgid "" "You can create the disk image using either L or " "L. For genisoimage, use a command like this:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:603 #, no-wrap msgid "" " genisoimage -o extra-packages.iso -R -J -V EXTRA cdcontents/\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:605 msgid "" "Create a script that mounts the ISO and sets up the repository. For dnf, " "create /tmp/install.sh containing:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:608 builder/virt-builder.pod:622 #, no-wrap msgid "" " mkdir /tmp/mount\n" " mount LABEL=EXTRA /tmp/mount\n" " \n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:611 #, no-wrap msgid "" " cat <<'EOF' > /etc/yum.repos.d/extra.repo\n" " [extra]\n" " name=extra\n" " baseurl=file:///tmp/mount\n" " enabled=1\n" " EOF\n" " \n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:618 #, no-wrap msgid "" " dnf -y install famousdatabase\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:620 msgid "For apt, create /tmp/install.sh containing:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:625 #, no-wrap msgid "" " apt-cdrom -d=/tmp/mount add\n" " apt-get -y install famousdatabase\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:628 msgid "" "Use the I<--attach> option to attach the CD / disk image and the I<--run> " "option to run the script:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:631 #, no-wrap msgid "" " virt-builder fedora-27 \\\n" " --attach extra-packages.iso \\\n" " --run /tmp/install.sh\n" "\n" msgstr "" #. type: =head2 #: builder/virt-builder.pod:635 msgid "USERS AND PASSWORDS" msgstr "" #. type: textblock #: builder/virt-builder.pod:637 msgid "" "The I<--root-password> option is used to change the root password (otherwise " "a random password is used). This option takes a password C in one " "of the following formats:" msgstr "" #. type: =item #: builder/virt-builder.pod:643 msgid "B<--root-password> file:FILENAME" msgstr "" #. type: textblock #: builder/virt-builder.pod:645 msgid "" "Read the root password from C. The whole first line of this file " "is the replacement password. Any other lines are ignored. You should " "create the file with mode 0600 to ensure no one else can read it." msgstr "" #. type: =item #: builder/virt-builder.pod:650 msgid "B<--root-password> password:PASSWORD" msgstr "" #. type: textblock #: builder/virt-builder.pod:652 msgid "Set the root password to the literal string C." msgstr "" #. type: textblock #: builder/virt-builder.pod:654 msgid "" "B since any user on the same machine can see the " "cleartext password using L." msgstr "" #. type: =item #: builder/virt-builder.pod:657 msgid "B<--root-password> random" msgstr "" #. type: textblock #: builder/virt-builder.pod:659 msgid "" "Choose a random password, which is printed on stdout. The password has " "approximately 120 bits of randomness." msgstr "" #. type: textblock #: builder/virt-builder.pod:662 fish/guestfish-actions.pod:421 #: format/virt-format.pod:140 lib/guestfs-actions.pod:520 msgid "This is the default." msgstr "" #. type: =item #: builder/virt-builder.pod:664 msgid "B<--root-password> disabled" msgstr "" #. type: textblock #: builder/virt-builder.pod:666 msgid "" "The root account password is disabled. This is like putting C<*> in the " "password field." msgstr "" #. type: =item #: builder/virt-builder.pod:669 msgid "B<--root-password> locked:file:FILENAME" msgstr "" #. type: =item #: builder/virt-builder.pod:671 msgid "B<--root-password> locked:password:PASSWORD" msgstr "" #. type: =item #: builder/virt-builder.pod:673 msgid "B<--root-password> locked:random" msgstr "" #. type: textblock #: builder/virt-builder.pod:675 msgid "" "The root account is locked, but a password is placed on the account. If " "first unlocked (using C) then logins will use the given password." msgstr "" #. type: =item #: builder/virt-builder.pod:679 msgid "B<--root-password> locked" msgstr "" #. type: =item #: builder/virt-builder.pod:681 msgid "B<--root-password> locked:disabled" msgstr "" #. type: textblock #: builder/virt-builder.pod:683 msgid "The root account is locked I password is disabled." msgstr "" #. type: =head3 #: builder/virt-builder.pod:687 msgid "Creating user accounts" msgstr "" #. type: textblock #: builder/virt-builder.pod:689 msgid "" "To create user accounts, use the L command with " "L<--firstboot-command> like this:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:692 #, no-wrap msgid "" " virt-builder --firstboot-command \\\n" " 'useradd -m -p \"\" rjones ; chage -d 0 rjones'\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:695 msgid "" "The above command will create an C account with no password, and " "force the user to set a password when they first log in. There are other " "ways to manage passwords, see L for details." msgstr "" #. type: =head2 #: builder/virt-builder.pod:699 msgid "KEYBOARD LAYOUT" msgstr "" #. type: textblock #: builder/virt-builder.pod:701 msgid "" "Because there are so many different ways to set the keyboard layout in Linux " "distributions, virt-builder does not yet attempt to have a simple command " "line option. This section describes how to set the keyboard for some common " "Linux distributions." msgstr "" #. type: =head3 #: builder/virt-builder.pod:706 msgid "Keyboard layout with systemd" msgstr "" #. type: textblock #: builder/virt-builder.pod:708 msgid "For distros that use systemd C, use a command like this:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:710 #, no-wrap msgid "" " virt-builder fedora-27 \\\n" " --firstboot-command 'localectl set-keymap uk'\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:713 msgid "" "See L and " "L " "for more details." msgstr "" #. type: =head3 #: builder/virt-builder.pod:717 msgid "Keyboard layout using F" msgstr "" #. type: textblock #: builder/virt-builder.pod:719 msgid "" "For RHEL E 6, Fedora E 18 and similar, upload or modify the keyboard " "configuration file using the I<--upload>, I<--write> or I<--edit> options. " "For example:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:723 #, no-wrap msgid "" " virt-builder centos-6 \\\n" " --edit '/etc/sysconfig/keyboard: s/^KEYTABLE=.*/KEYTABLE=\"uk\"/'\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:726 msgid "The format of this file can be found documented in many places online." msgstr "" #. type: =head3 #: builder/virt-builder.pod:728 msgid "Keyboard layout with Debian-derived distros" msgstr "" #. type: textblock #: builder/virt-builder.pod:730 msgid "" "For Debian-derived distros using F, upload or modify " "the keyboard file using the I<--upload>, I<--write> or I<--edit> options. " "For example:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:734 #, no-wrap msgid "" " virt-builder debian-8 \\\n" " --edit '/etc/default/keyboard: s/^XKBLAYOUT=.*/XKBLAYOUT=\"gb\"/'\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:737 msgid "See L." msgstr "" #. type: =head2 #: builder/virt-builder.pod:739 msgid "LANGUAGE" msgstr "" #. type: textblock #: builder/virt-builder.pod:741 msgid "" "Most Linux distributions support multiple locale settings so that you can " "have guest messages printed in another language such as Russian." msgstr "" #. type: textblock #: builder/virt-builder.pod:744 msgid "" "However there is no single setting which controls this, since extra packages " "may need to be installed to support console and X fonts, and keyboard input " "methods. The packages required, and their configuration is highly " "distro-specific, and it is outside the scope of virt-builder to do this." msgstr "" #. type: textblock #: builder/virt-builder.pod:750 msgid "This section contains examples for some common Linux distributions." msgstr "" #. type: =head3 #: builder/virt-builder.pod:752 msgid "Setting Japanese in Fedora 25" msgstr "" #. type: verbatim #: builder/virt-builder.pod:754 #, no-wrap msgid "" " virt-builder fedora-27 \\\n" " --size 20G \\\n" " --update \\\n" " --install @japanese-support \\\n" " --install @xfce \\\n" " --install xorg-x11-server-Xorg,xorg-x11-drivers,rsyslog \\\n" " --link " "/usr/lib/systemd/system/graphical.target:/etc/systemd/system/default.target " "\\\n" " --firstboot-command 'localectl set-locale LANG=ja_JP.utf8' \\\n" " --firstboot-command 'localectl set-keymap jp' \\\n" " --firstboot-command 'systemctl isolate graphical.target'\n" "\n" msgstr "" #. type: =head3 #: builder/virt-builder.pod:765 msgid "Setting Japanese in Debian 8 (Jessie)" msgstr "" #. type: textblock #: builder/virt-builder.pod:767 msgid "" "Note that although this enables Japanese in the text console too, it is " "unlikely that you will see properly rendered Japanese there. However " "Japanese is properly rendered in X applications and terminals." msgstr "" #. type: verbatim #: builder/virt-builder.pod:771 #, no-wrap msgid "" " pkgs=locales,xfce4,\\\n" " ibus,ibus-anthy,\\\n" " fonts-ipafont-gothic,fonts-ipafont-mincho,\\\n" " fonts-takao-mincho,\\\n" " xfonts-intl-japanese,xfonts-intl-japanese-big,\\\n" " iceweasel-l10n-ja,manpages-ja\n" " \n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:778 #, no-wrap msgid "" " virt-builder debian-8 \\\n" " --size 20G \\\n" " --install $pkgs \\\n" " --edit '/etc/locale.gen: s,^#\\s*ja,ja,' \\\n" " --write '/etc/default/locale:LANG=\"ja_JP.UTF-8\"' \\\n" " --run-command \"locale-gen\"\n" "\n" msgstr "" #. type: =head2 #: builder/virt-builder.pod:785 msgid "LOG FILE" msgstr "" #. type: textblock #: builder/virt-builder.pod:787 msgid "" "Scripts and package installation that runs at build time (I<--run>, " "I<--run-command>, I<--install>, I<--update>, but I firstboot) is logged " "in one of the following locations:" msgstr "" #. type: =item #: builder/virt-builder.pod:793 msgid "F" msgstr "" #. type: textblock #: builder/virt-builder.pod:795 msgid "On Linux, BSD, and other non-Windows guests." msgstr "" #. type: =item #: builder/virt-builder.pod:797 msgid "F" msgstr "" #. type: textblock #: builder/virt-builder.pod:799 msgid "On Windows, DOS guests." msgstr "" #. type: =item #: builder/virt-builder.pod:801 msgid "F" msgstr "" #. type: textblock #: builder/virt-builder.pod:803 msgid "If F or F is missing." msgstr "" #. type: textblock #: builder/virt-builder.pod:807 msgid "" "If you don’t want the log file to appear in the final image, then use the " "I<--no-logfile> command line option." msgstr "" #. type: =head2 #: builder/virt-builder.pod:810 msgid "SSH KEYS" msgstr "" #. type: textblock #: builder/virt-builder.pod:812 msgid "" "The I<--ssh-inject> option is used to inject ssh keys for users in the " "guest, so they can login without supplying a password." msgstr "" #. type: textblock #: builder/virt-builder.pod:815 msgid "" "The C part of the option value is optional; in this case, " "I<--ssh-inject> C means that we look in the I user’s " "F<~/.ssh> directory to find the default public ID file. That key is " "uploaded. \"default public ID\" is the I file described in " "L." msgstr "" #. type: textblock #: builder/virt-builder.pod:821 msgid "If specified, the C can be in one of the following formats:" msgstr "" #. type: =item #: builder/virt-builder.pod:825 msgid "B<--ssh-inject> USER:file:FILENAME" msgstr "" #. type: textblock #: builder/virt-builder.pod:827 msgid "Read the ssh key from F. F is usually a I<.pub> file." msgstr "" #. type: =item #: builder/virt-builder.pod:830 msgid "B<--ssh-inject> USER:string:KEY_STRING" msgstr "" #. type: textblock #: builder/virt-builder.pod:832 msgid "" "Use the specified C. C is usually a public string " "like I." msgstr "" #. type: textblock #: builder/virt-builder.pod:837 msgid "" "In any case, the F<~USER/.ssh> directory and the " "F<~USER/.ssh/authorized_keys> file will be created if not existing already." msgstr "" #. type: =head2 #: builder/virt-builder.pod:841 msgid "FIRST BOOT SCRIPTS" msgstr "" #. type: textblock #: builder/virt-builder.pod:843 msgid "" "The I<--firstboot> and I<--firstboot-command> options allow you to execute " "commands at the first boot of the guest. To do so, an init script for the " "guest init system is installed, which takes care of running all the added " "scripts and commands." msgstr "" #. type: textblock #: builder/virt-builder.pod:848 msgid "Supported operating systems are:" msgstr "" #. type: =item #: builder/virt-builder.pod:852 msgid "Linux" msgstr "" #. type: textblock #: builder/virt-builder.pod:854 msgid "" "Init systems supported are: systemd, System-V init (known also as sysvinit), " "and Upstart (using the System-V scripts)." msgstr "" #. type: textblock #: builder/virt-builder.pod:857 msgid "" "Note that usually init scripts run as root, but with a more limited " "environment than what could be available from a normal shell: for example, " "C<$HOME> may be unset or empty." msgstr "" #. type: textblock #: builder/virt-builder.pod:861 msgid "" "The output of the first boot scripts is available in the guest as " "F<~root/virt-sysprep-firstboot.log>." msgstr "" #. type: =item #: builder/virt-builder.pod:864 msgid "Windows" msgstr "" #. type: textblock #: builder/virt-builder.pod:866 msgid "" "F, available from sources at " "L, or F, available with " "SUSE VMDP is installed to run the first boot scripts. It is required, and " "the setup of first boot scripts will fail if it is not present." msgstr "" #. type: textblock #: builder/virt-builder.pod:872 msgid "" "F or F is copied from the location pointed to by " "the C environment variable; if not set, a compiled-in " "default will be used (something like F)." msgstr "" #. type: textblock #: builder/virt-builder.pod:876 msgid "" "The output of the first boot scripts is available in the guest as " "F." msgstr "" #. type: =head2 #: builder/virt-builder.pod:881 msgid "SUBSCRIPTION-MANAGER" msgstr "" #. type: textblock #: builder/virt-builder.pod:883 msgid "" "It is possible to automate the registration and attaching of the system " "using C. This is typical on Red Hat Enterprise Linux " "guests. There are few options which ease this process, avoid executing " "commands manually and exposing passwords on command line." msgstr "" #. type: textblock #: builder/virt-builder.pod:889 msgid "" "I<--sm-register> starts the registration process, and requires " "I<--sm-credentials> to be specified; the format of the C of " "I<--sm-credentials> is one of the following formats:" msgstr "" #. type: =item #: builder/virt-builder.pod:895 msgid "B<--sm-credentials> USER:file:FILENAME" msgstr "" #. type: textblock #: builder/virt-builder.pod:897 msgid "Read the password for the specified C from F." msgstr "" #. type: =item #: builder/virt-builder.pod:899 msgid "B<--sm-credentials> USER:password:PASSWORD" msgstr "" #. type: textblock #: builder/virt-builder.pod:901 msgid "Use the literal string C for the specified C." msgstr "" #. type: textblock #: builder/virt-builder.pod:905 msgid "" "I<--sm-attach> attaches the system to subscriptions; the format of its " "C is one of the following:" msgstr "" #. type: =item #: builder/virt-builder.pod:910 msgid "B<--sm-attach> auto" msgstr "" #. type: textblock #: builder/virt-builder.pod:912 msgid "" "C attaches to the best-fitting subscriptions for the " "system." msgstr "" #. type: =item #: builder/virt-builder.pod:915 msgid "B<--sm-attach> file:FILENAME" msgstr "" #. type: textblock #: builder/virt-builder.pod:917 msgid "Read the pool ID from F." msgstr "" #. type: =item #: builder/virt-builder.pod:919 msgid "B<--sm-attach> pool:POOL" msgstr "" #. type: textblock #: builder/virt-builder.pod:921 msgid "Use the literal string C as pool ID." msgstr "" #. type: textblock #: builder/virt-builder.pod:925 msgid "" "I<--sm-remove> removes all the subscriptions from the guest, while " "I<--sm-unregister> completely unregister the system." msgstr "" #. type: =head2 #: builder/virt-builder.pod:928 msgid "INSTALLATION PROCESS" msgstr "" #. type: textblock #: builder/virt-builder.pod:930 msgid "When you invoke virt-builder, installation proceeds as follows:" msgstr "" #. type: textblock #: builder/virt-builder.pod:936 msgid "The template image is downloaded." msgstr "" #. type: textblock #: builder/virt-builder.pod:938 msgid "" "If the template image is present in the cache, the cached version is used " "instead. (See L)." msgstr "" #. type: textblock #: builder/virt-builder.pod:943 msgid "The template signature is checked." msgstr "" #. type: textblock #: builder/virt-builder.pod:947 msgid "The template is uncompressed to a tmp file." msgstr "" #. type: textblock #: builder/virt-builder.pod:951 msgid "The template image is resized into the destination, using L." msgstr "" #. type: textblock #: builder/virt-builder.pod:956 msgid "Extra disks are attached (I<--attach>)." msgstr "" #. type: textblock #: builder/virt-builder.pod:960 msgid "A new random seed is generated for the guest." msgstr "" #. type: textblock #: builder/virt-builder.pod:964 msgid "" "Guest customization is performed, in the order specified on the command " "line." msgstr "" #. type: textblock #: builder/virt-builder.pod:969 msgid "SELinux relabelling is done (I<--selinux-relabel>)." msgstr "" #. type: =head2 #: builder/virt-builder.pod:973 msgid "IMPORTING THE DISK IMAGE" msgstr "" #. type: =head3 #: builder/virt-builder.pod:975 msgid "Importing into libvirt" msgstr "" #. type: textblock #: builder/virt-builder.pod:977 msgid "" "Import the disk image into libvirt using L I<--import> " "option." msgstr "" #. type: verbatim #: builder/virt-builder.pod:980 #, no-wrap msgid "" " virt-install --import \\\n" " --name guest --ram 2048 \\\n" " --disk path=disk.img,format=raw --os-variant fedora27\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:984 docs/guestfs-recipes.pod:310 #: docs/internal-documentation.pod:1350 docs/internal-documentation.pod:3133 #: docs/internal-documentation.pod:3477 fish/guestfish-actions.pod:2909 #: fish/guestfish-actions.pod:3542 fish/guestfish-actions.pod:4292 #: lib/guestfs-actions.pod:4836 lib/guestfs-actions.pod:5854 #: lib/guestfs-actions.pod:6901 lib/guestfs.pod:795 lib/guestfs.pod:2378 #: tools/virt-win-reg:769 msgid "Notes:" msgstr "" #. type: textblock #: builder/virt-builder.pod:990 msgid "" "You I specify the correct format. The format is C unless you " "used virt-builder’s I<--format> option." msgstr "" #. type: textblock #: builder/virt-builder.pod:995 msgid "" "I<--os-variant> is highly recommended, because it will present optimum " "devices to enable the guest to run most efficiently. To get a list of all " "variants, do:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:999 #, no-wrap msgid "" " osinfo-query os\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1001 msgid "The above tool is provided by libosinfo package." msgstr "" #. type: textblock #: builder/virt-builder.pod:1005 msgid "" "You can run virt-install as root or non-root. Each works slightly " "differently because libvirt manages a different set of virtual machines for " "each user. In particular virt-manager normally shows the root-owned VMs, " "whereas Boxes shows the user-owned VMs, and other tools probably work " "differently as well." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1013 msgid "Importing into OpenStack" msgstr "" #. type: textblock #: builder/virt-builder.pod:1015 msgid "Import the image into Glance (the OpenStack image store) by doing:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1017 #, no-wrap msgid "" " glance image-create --name fedora-27-image --file fedora-27.img \\\n" " --disk-format raw --container-format bare \\\n" " --is-public True\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1021 msgid "" "The I<--file> parameter is the virt-builder-generated disk image. It should " "match virt-builder’s I<--output> option. The I<--disk-format> parameter " "should match virt-builder’s I<--format> option (or C if you didn't use " "that option). The I<--container-format> should always be C since " "virt-builder doesn't put images into containers." msgstr "" #. type: textblock #: builder/virt-builder.pod:1027 msgid "" "You can use the S>> command to " "display the properties of the image." msgstr "" #. type: textblock #: builder/virt-builder.pod:1030 msgid "To boot up an instance of your image on a Nova compute node, do:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1032 #, no-wrap msgid "" " nova boot fedora-27-server --image fedora-27-image \\\n" " --flavor m1.medium\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1035 msgid "" "Use S> to list possible machine flavors. Use S> to list running instances." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1038 msgid "Booting directly using qemu or KVM" msgstr "" #. type: textblock #: builder/virt-builder.pod:1040 msgid "" "The qemu command line is not very stable or easy to use, hence libvirt " "should be used if possible. However a command line similar to the following " "could be used to boot the virtual machine:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1044 #, no-wrap msgid "" " qemu-system-x86_64 \\\n" " -machine accel=kvm:tcg \\\n" " -cpu host \\\n" " -m 2048 \\\n" " -drive file=disk.img,format=raw,if=virtio\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1050 msgid "" "As with libvirt, it is very important that the correct format is chosen. It " "will be C unless the I<--format> option was used." msgstr "" #. type: =head2 #: builder/virt-builder.pod:1053 msgid "CONFIGURATION MANAGEMENT" msgstr "" #. type: =head3 #: builder/virt-builder.pod:1055 msgid "Puppet" msgstr "" #. type: textblock #: builder/virt-builder.pod:1057 msgid "" "To enable the Puppet agent in a guest, install the package, point the " "configuration at your Puppetmaster, and ensure the agent runs at boot." msgstr "" #. type: textblock #: builder/virt-builder.pod:1061 msgid "A typical virt-builder command would be:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1063 #, no-wrap msgid "" " virt-builder fedora-27 \\\n" " --hostname client.example.com \\\n" " --update \\\n" " --install puppet \\\n" " --append-line '/etc/puppet/puppet.conf:[agent]' \\\n" " --append-line '/etc/puppet/puppet.conf:server = " "puppetmaster.example.com/' \\\n" " --run-command 'systemctl enable puppet' \\\n" " --selinux-relabel\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1072 msgid "" "The precise instructions vary according to the Linux distro. For further " "information see: L" msgstr "" #. type: =head2 #: builder/virt-builder.pod:1076 msgid "DEBUGGING BUILDS" msgstr "" #. type: textblock #: builder/virt-builder.pod:1078 msgid "" "If virt-builder itself fails, then enable debugging (I<-v>) and report a bug " "(see L below)." msgstr "" #. type: textblock #: builder/virt-builder.pod:1081 msgid "" "If virt-builder fails because some script or package it is installing fails, " "try using I<--no-delete-on-failure> to preserve the output file, and " "continue reading this section." msgstr "" #. type: textblock #: builder/virt-builder.pod:1085 msgid "" "If virt-builder is successful but the image doesn't work, here are some " "things to try:" msgstr "" #. type: =item #: builder/virt-builder.pod:1090 msgid "Use virt-rescue" msgstr "" #. type: textblock #: builder/virt-builder.pod:1092 msgid "Run L on the disk image:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1094 #, no-wrap msgid "" " virt-rescue -a disk.img\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1096 msgid "" "This gives you a rescue shell. You can mount the filesystems from the disk " "image on F and examine them using ordinary Linux commands. You " "can also chroot into the guest to reinstall the bootloader. The virt-rescue " "man page has a lot more information and examples." msgstr "" #. type: =item #: builder/virt-builder.pod:1102 msgid "Use guestfish" msgstr "" #. type: textblock #: builder/virt-builder.pod:1104 msgid "Run L on the disk image:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1106 #, no-wrap msgid "" " guestfish -a disk.img -i\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1108 msgid "" "Use guestfish commands like C and C to examine " "directories and files." msgstr "" #. type: =item #: builder/virt-builder.pod:1111 msgid "Use guestmount" msgstr "" #. type: textblock #: builder/virt-builder.pod:1113 msgid "Mount the disk image safely on the host using FUSE and L:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1115 #, no-wrap msgid "" " mkdir /tmp/mp\n" " guestmount -a disk.img -i /tmp/mp\n" " cd /tmp/mp\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1119 msgid "To unmount the disk image do:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1121 #, no-wrap msgid "" " fusermount -u /tmp/mp\n" "\n" msgstr "" #. type: =item #: builder/virt-builder.pod:1123 msgid "Add a serial console" msgstr "" #. type: textblock #: builder/virt-builder.pod:1125 msgid "" "If the guest hangs during boot, it can be helpful to add a serial console to " "the guest, and direct kernel messages to the serial console. Adding the " "serial console will involve looking at the documentation for your " "hypervisor. To direct kernel messages to the serial console, add the " "following on the kernel command line:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1131 #, no-wrap msgid "" " console=tty0 console=ttyS0,115200\n" "\n" msgstr "" #. type: =head2 #: builder/virt-builder.pod:1135 msgid "SOURCES OF TEMPLATES" msgstr "" #. type: textblock #: builder/virt-builder.pod:1137 msgid "" "virt-builder reads the available sources from configuration files, with the " "I<.conf> extension and located in the following paths:" msgstr "" #. type: textblock #: builder/virt-builder.pod:1144 msgid "" "$XDG_CONFIG_HOME/virt-builder/repos.d/ (C<$XDG_CONFIG_HOME> is " "F<$HOME/.config> if not set)." msgstr "" #. type: textblock #: builder/virt-builder.pod:1149 msgid "" "$XDG_CONFIG_DIRS/virt-builder/repos.d/ (where C<$XDG_CONFIG_DIRS> means any " "of the directories in that environment variable, or just F if not " "set)" msgstr "" #. type: textblock #: builder/virt-builder.pod:1155 msgid "" "Each I<.conf> file in those paths has a simple text format like the " "following:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1158 #, no-wrap msgid "" " [libguestfs.org]\n" " uri=http://libguestfs.org/download/builder/index.asc\n" " gpgkey=file:///etc/xdg/virt-builder/repos.d/libguestfs.gpg\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1162 msgid "" "The part in square brackets is the repository identifier, which is used as " "unique identifier." msgstr "" #. type: textblock #: builder/virt-builder.pod:1165 builder/virt-builder.pod:1336 msgid "The following fields can appear:" msgstr "" #. type: =item #: builder/virt-builder.pod:1169 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1171 msgid "The URI of the index file which this repository refers to." msgstr "" #. type: textblock #: builder/virt-builder.pod:1173 builder/virt-builder.pod:1425 msgid "This field is required." msgstr "" #. type: =item #: builder/virt-builder.pod:1175 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1177 msgid "" "This optional field represents the URI (although only I URIs are " "accepted) of the key used to sign the index file. If not present, the index " "file referred by I is not signed." msgstr "" #. type: =item #: builder/virt-builder.pod:1181 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1183 msgid "" "This optional field specifies the proxy mode, to be used when downloading " "the index file of this repository. The possible values are:" msgstr "" #. type: =item #: builder/virt-builder.pod:1188 msgid "B, B" msgstr "" #. type: textblock #: builder/virt-builder.pod:1190 msgid "No proxy is being used at all, even overriding the system configuration." msgstr "" #. type: =item #: builder/virt-builder.pod:1192 msgid "B" msgstr "" #. type: textblock #: builder/virt-builder.pod:1194 msgid "The proxy used is the system one." msgstr "" #. type: =item #: builder/virt-builder.pod:1196 msgid "I" msgstr "" #. type: textblock #: builder/virt-builder.pod:1198 msgid "" "Specifies the actual proxy configuration to be used, overriding the system " "configuration." msgstr "" #. type: textblock #: builder/virt-builder.pod:1203 msgid "" "If not present, the assumed value is to respect the proxy settings of the " "system (i.e. as if B would be specified)." msgstr "" #. type: =item #: builder/virt-builder.pod:1206 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1208 msgid "" "This optional field specifies the format of the repository. The possible " "values are:" msgstr "" #. type: =item #: builder/virt-builder.pod:1213 msgid "B" msgstr "" #. type: textblock #: builder/virt-builder.pod:1215 msgid "" "The native format of the C repository. See also L below." msgstr "" #. type: =item #: builder/virt-builder.pod:1218 msgid "B" msgstr "" #. type: textblock #: builder/virt-builder.pod:1220 msgid "The URI represents the root of a Simple Streams v1.0 tree of metadata." msgstr "" #. type: textblock #: builder/virt-builder.pod:1222 msgid "" "For more information about Simple Streams, see also " "L." msgstr "" #. type: textblock #: builder/virt-builder.pod:1227 msgid "If not present, the assumed value is C." msgstr "" #. type: textblock #: builder/virt-builder.pod:1231 msgid "" "For serious virt-builder use, you may want to create your own repository of " "templates." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1234 msgid "Libguestfs.org repository" msgstr "" #. type: textblock #: builder/virt-builder.pod:1236 msgid "" "Out of the box, virt-builder downloads the file " "L which is an index of " "available templates plus some information about each one, wrapped up in a " "digital signature. The command C lists out the " "information in this index file." msgstr "" #. type: textblock #: builder/virt-builder.pod:1242 msgid "" "The templates hosted on libguestfs.org were created using shell scripts, " "kickstart files and preseed files which can be found in the libguestfs " "source tree, in C." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1246 msgid "Setting up the repository" msgstr "" #. type: textblock #: builder/virt-builder.pod:1248 msgid "" "You can set up your own site containing an index file and some templates, " "and then point virt-builder at the site by creating a I<.conf> file pointing " "to it." msgstr "" #. type: textblock #: builder/virt-builder.pod:1252 msgid "" "Note that if your index is signed, you will need to properly fill " "I in your I<.conf> file, making sure to deploy also the GPG key " "file." msgstr "" #. type: verbatim #: builder/virt-builder.pod:1256 #, no-wrap msgid "" " virt-builder --source https://example.com/builder/index.asc \\\n" " --fingerprint 'AAAA BBBB ...' \\\n" " --list\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1260 msgid "" "You can host this on any web or FTP server, or a local or network " "filesystem." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1263 msgid "Setting up a GPG key" msgstr "" #. type: textblock #: builder/virt-builder.pod:1265 msgid "" "If you don’t have a GnuPG key, you will need to set one up. (Strictly " "speaking this is optional, but if your index and template files are not " "signed then virt-builder users will have to use the I<--no-check-signature> " "flag every time they use virt-builder.)" msgstr "" #. type: textblock #: builder/virt-builder.pod:1270 msgid "" "To create a key, see the GPG manual " "L." msgstr "" #. type: textblock #: builder/virt-builder.pod:1273 msgid "Export your GPG public key:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1275 #, no-wrap msgid "" " gpg --export -a \"you@example.com\" > pubkey\n" " \n" msgstr "" #. type: =head3 #: builder/virt-builder.pod:1277 msgid "Create the templates" msgstr "" #. type: textblock #: builder/virt-builder.pod:1279 msgid "" "There are many ways to create the templates. For example you could clone " "existing guests (see L), or you could install a guest by " "hand (L). To see how the templates were created for " "virt-builder, look at the scripts in C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1284 msgid "" "Virt-builder supports any image format (e.g. raw, qcow2, etc) as template, " "both as-is, and compressed as XZ. This way, existing images (e.g. cleaned " "using L) can be used as templates." msgstr "" #. type: textblock #: builder/virt-builder.pod:1288 msgid "" "For best results when compressing the templates, use the following xz " "options (see L for further explanation):" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1291 #, no-wrap msgid "" " xz --best --block-size=16777216 disk\n" "\n" msgstr "" #. type: =head3 #: builder/virt-builder.pod:1293 msgid "Creating and signing the index file" msgstr "" #. type: textblock #: builder/virt-builder.pod:1295 msgid "" "The index file has a simple text format (shown here without the digital " "signature):" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1298 #, no-wrap msgid "" " [fedora-18]\n" " name=Fedora® 18\n" " osinfo=fedora18\n" " arch=x86_64\n" " file=fedora-18.xz\n" " checksum[sha512]=...\n" " format=raw\n" " size=6442450944\n" " compressed_size=148947524\n" " expand=/dev/sda3\n" " \n" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1309 #, no-wrap msgid "" " [fedora-19]\n" " name=Fedora® 19\n" " osinfo=fedora19\n" " arch=x86_64\n" " file=fedora-19.xz\n" " checksum[sha512]=...\n" " revision=3\n" " format=raw\n" " size=4294967296\n" " compressed_size=172190964\n" " expand=/dev/sda3\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1321 msgid "" "The part in square brackets is the C, which is the same string " "that is used on the virt-builder command line to build that OS." msgstr "" #. type: textblock #: builder/virt-builder.pod:1324 msgid "" "The index file creation and signature can be eased with the " "L tool." msgstr "" #. type: textblock #: builder/virt-builder.pod:1327 msgid "" "After preparing the C file in the correct format, clearsign it using " "the following command:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1330 #, no-wrap msgid "" " gpg --clearsign --armor index\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1332 msgid "" "This will create the final file called F which can be uploaded to " "the server (and is the I URL). As noted above, signing the index " "file is optional, but recommended." msgstr "" #. type: =item #: builder/virt-builder.pod:1340 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1342 msgid "" "The user-friendly name of this template. This is displayed in the I<--list> " "output but is otherwise not significant." msgstr "" #. type: =item #: builder/virt-builder.pod:1345 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1347 msgid "" "This optional field maps the operating system to the associated libosinfo " "ID. Virt-builder does not use it (yet)." msgstr "" #. type: =item #: builder/virt-builder.pod:1350 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1352 msgid "" "The architecture of the operating system installed within the template. This " "field is required." msgstr "" #. type: =item #: builder/virt-builder.pod:1355 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1357 msgid "The path (relative to the index) of the xz-compressed template." msgstr "" #. type: textblock #: builder/virt-builder.pod:1359 builder/virt-builder.pod:1370 msgid "" "Note that absolute paths or URIs are B permitted here. This is because " "virt-builder has a \"same origin\" policy for templates so they cannot come " "from other servers." msgstr "" #. type: =item #: builder/virt-builder.pod:1363 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1365 msgid "B. Use the checksum field instead." msgstr "" #. type: textblock #: builder/virt-builder.pod:1367 msgid "" "The path (relative to the index) of the GPG detached signature of the xz " "file." msgstr "" #. type: textblock #: builder/virt-builder.pod:1374 msgid "The file can be created as follows:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1376 #, no-wrap msgid "" " gpg --detach-sign --armor -o disk.xz.sig disk.xz\n" "\n" msgstr "" #. type: =item #: builder/virt-builder.pod:1378 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1380 msgid "" "The SHA-512 checksum of the file specified in I is checked after it " "is downloaded. To work out the signature, do:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1383 #, no-wrap msgid "" " sha512sum disk.xz\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1385 msgid "" "Note if you use this, you don’t need to sign the file, ie. don’t use " "C. This option overrides C." msgstr "" #. type: =item #: builder/virt-builder.pod:1388 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1390 msgid "C is an alias for C." msgstr "" #. type: textblock #: builder/virt-builder.pod:1392 msgid "" "If you need to interoperate with virt-builder = 1.24.0 then you have to use " "C because that version would give a parse error with square " "brackets and numbers in the key of a field. This is fixed in virt-builder " "E 1.24.1." msgstr "" #. type: =item #: builder/virt-builder.pod:1397 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1399 msgid "" "The revision is an integer which is used to control the template cache. " "Increasing the revision number causes clients to download the template again " "even if they have a copy in the cache." msgstr "" #. type: textblock #: builder/virt-builder.pod:1403 msgid "The revision number is optional. If omitted it defaults to C<1>." msgstr "" #. type: =item #: builder/virt-builder.pod:1405 msgid "C" msgstr "" #. type: =item #: builder/virt-builder.pod:1407 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1409 msgid "" "Specify the format of the disk image; in case it is compressed, that is the " "format before the compression. If not given, the format is autodetected, " "but generally it is better to be explicit about the intended format." msgstr "" #. type: textblock #: builder/virt-builder.pod:1414 msgid "" "Note this is the source format, which is different from the I<--format> " "option (requested output format). Virt-builder does on-the-fly conversion " "from the source format to the requested output format." msgstr "" #. type: =item #: builder/virt-builder.pod:1419 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1421 msgid "" "The virtual size of the image in bytes. This is the size of the image when " "uncompressed. If using a non-raw format such as qcow2 then it means the " "virtual disk size, not the size of the qcow2 file." msgstr "" #. type: textblock #: builder/virt-builder.pod:1427 msgid "" "Virt-builder also uses this as the minimum size that users can request via " "the I<--size> option, or as the default size if there is no I<--size> " "option." msgstr "" #. type: =item #: builder/virt-builder.pod:1431 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1433 msgid "" "The actual size of the disk image in bytes, i.e. what was specified in " "I. This is just used for information (when using C, and " "C formats of I<--list>)." msgstr "" #. type: =item #: builder/virt-builder.pod:1437 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1439 msgid "" "When expanding the image to its final size, instruct L to " "expand the named partition in the guest image to fill up all available " "space. This works like the virt-resize I<--expand> option." msgstr "" #. type: textblock #: builder/virt-builder.pod:1443 msgid "You should usually put the device name of the guest’s root filesystem here." msgstr "" #. type: textblock #: builder/virt-builder.pod:1445 msgid "" "It’s a good idea to use this, but not required. If the field is omitted " "then virt-resize will create an extra partition at the end of the disk to " "cover the free space, which is much less user-friendly." msgstr "" #. type: =item #: builder/virt-builder.pod:1449 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1451 msgid "" "When expanding the image to its final size, instruct L to " "expand the named logical volume in the guest image to fill up all available " "space. This works like the virt-resize I<--lv-expand> option." msgstr "" #. type: textblock #: builder/virt-builder.pod:1455 msgid "" "If the guest uses LVM2 you should usually put the LV of the guest’s root " "filesystem here. If the guest does not use LVM2 or its root filesystem is " "not on an LV, don't use this option." msgstr "" #. type: =item #: builder/virt-builder.pod:1459 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1461 msgid "" "Any notes that go with this image, especially notes describing what packages " "are in the image, how the image was prepared, and licensing information." msgstr "" #. type: textblock #: builder/virt-builder.pod:1465 msgid "This information is shown in the I<--notes> and I<--list> I<--long> modes." msgstr "" #. type: textblock #: builder/virt-builder.pod:1467 msgid "" "You can use multi-line notes here by indenting each new line with at least " "one character of whitespace (even on blank lines):" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1470 #, no-wrap msgid "" " notes=This image was prepared using\n" " the following kickstart script:\n" " <-- one space at beginning of line\n" " part /boot --fstype ext3\n" " ...\n" "\n" msgstr "" #. type: =item #: builder/virt-builder.pod:1476 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1478 msgid "" "Using the hidden flag prevents the template from being listed by the " "I<--list> option (but it is still installable). This is used for test " "images." msgstr "" #. type: =item #: builder/virt-builder.pod:1482 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1484 msgid "" "This optional field specifies a list of aliases, separated by spaces, for " "the image. For example, an alias could be used to always point to the " "latest version of a certain image, leaving the old versions available in the " "index instead of updating the same image (see the C field)." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1492 msgid "Running virt-builder against multiple sources" msgstr "" #. type: textblock #: builder/virt-builder.pod:1494 msgid "" "It is possible to use multiple sources with virt-builder. The recommended " "way is to deploy I<.conf> files pointing to the index files. Another way is " "to specify the sources using multiple I<--source> and/or I<--fingerprint> " "options:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1499 #, no-wrap msgid "" " virt-builder \\\n" " --source http://example.com/s1/index.asc \\\n" " --source http://example.com/s2/index.asc\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1503 msgid "" "You can provide N or 1 fingerprints. In the case where you provide N " "fingerprints, N = number of sources and there is a 1-1 correspondence " "between each source and each fingerprint:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1507 #, no-wrap msgid "" " virt-builder \\\n" " --source http://example.com/s1/index.asc --fingerprint '0123 ...' \\\n" " --source http://example.com/s2/index.asc --fingerprint '9876 ...'\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1511 msgid "" "In the case where you provide 1 fingerprint, the same fingerprint is used " "for all sources." msgstr "" #. type: textblock #: builder/virt-builder.pod:1514 msgid "You C provide at least 1 fingerprint." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1516 msgid "Licensing of templates" msgstr "" #. type: textblock #: builder/virt-builder.pod:1518 msgid "" "You should be aware of the licensing of images that you distribute. For " "open source guests, provide a link to the source code in the C field " "and comply with other requirements (eg. around trademarks)." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1523 msgid "Formal specification of the index file" msgstr "" #. type: textblock #: builder/virt-builder.pod:1525 msgid "" "The index file format has a formal specification defined by the flex scanner " "and bison parser used to parse the file. This can be found in the following " "files in the libguestfs source tree:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1529 #, no-wrap msgid "" " builder/index-scan.l\n" " builder/index-parse.y\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1532 msgid "" "A tool called L is available to validate the index " "file to ensure it is correct." msgstr "" #. type: textblock #: builder/virt-builder.pod:1535 msgid "" "Note that the parser and tool can work on either the signed or unsigned " "index file (ie. F or F)." msgstr "" #. type: textblock #: builder/virt-builder.pod:1538 msgid "The index is always encoded in UTF-8." msgstr "" #. type: =head2 #: builder/virt-builder.pod:1540 msgid "CACHING" msgstr "" #. type: =head3 #: builder/virt-builder.pod:1542 msgid "Caching templates" msgstr "" #. type: textblock #: builder/virt-builder.pod:1544 msgid "" "Since the templates are usually very large, downloaded templates are cached " "in the user’s home directory." msgstr "" #. type: textblock #: builder/virt-builder.pod:1547 msgid "" "The location of the cache is F<$XDG_CACHE_HOME/virt-builder/> or " "F<$HOME/.cache/virt-builder>." msgstr "" #. type: textblock #: builder/virt-builder.pod:1550 msgid "" "You can print out information about the cache directory, including which " "guests are currently cached, by doing:" msgstr "" #. type: textblock #: builder/virt-builder.pod:1555 msgid "The cache can be deleted if you want to save space by doing:" msgstr "" #. type: textblock #: builder/virt-builder.pod:1559 msgid "You can download all (current) templates to the local cache by doing:" msgstr "" #. type: textblock #: builder/virt-builder.pod:1563 msgid "To disable the template cache, use I<--no-cache>." msgstr "" #. type: textblock #: builder/virt-builder.pod:1565 msgid "" "Only templates are cached. The index and detached digital signatures are " "not cached." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1568 msgid "Caching packages" msgstr "" #. type: textblock #: builder/virt-builder.pod:1570 msgid "" "Virt-builder uses L to download files and it also uses the current " "C (etc) settings when installing packages (I<--install>, " "I<--update>)." msgstr "" #. type: textblock #: builder/virt-builder.pod:1574 msgid "" "You may therefore want to set those environment variables in order to " "maximize the amount of local caching that happens. See L and L." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1578 msgid "Local mirrors" msgstr "" #. type: textblock #: builder/virt-builder.pod:1580 msgid "" "To increase both speed and reliability of installing packages, you can set " "up a local mirror of the target distribution, and point the guest package " "manager at that." msgstr "" #. type: =head4 #: builder/virt-builder.pod:1584 msgid "Using a local mirror with Fedora" msgstr "" #. type: textblock #: builder/virt-builder.pod:1586 msgid "To install a Fedora guest using a local mirror:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1588 #, no-wrap msgid "" " virt-builder fedora-27 \\\n" " --edit '/etc/yum.repos.d/fedora.repo:\n" " s{.*baseurl=.*}{baseurl=http://example.com/mirror/};\n" " s{.*metalink=.*}{};\n" " ' \\\n" " --edit '/etc/yum.repos.d/fedora-updates.repo:\n" " s{.*baseurl=.*}{baseurl=http://example.com/mirror-updates/};\n" " s{.*metalink=.*}{};\n" " ' \\\n" " --run-command 'dnf -y update' \\\n" " --install 'pkg1,pkg2,...'\n" "\n" msgstr "" #. type: =head4 #: builder/virt-builder.pod:1600 msgid "Using a local mirror with Debian" msgstr "" #. type: textblock #: builder/virt-builder.pod:1602 msgid "" "Assuming that you are using C to mirror the repository, you " "should create a new F file to point to your proxy (see " "L) and then do:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1606 #, no-wrap msgid "" " virt-builder debian-8 \\\n" " --upload sources.list:/etc/apt/sources.list \\\n" " --run-command 'apt-get -y update' \\\n" " --install 'pkg1,pkg2,...'\n" "\n" msgstr "" #. type: =head2 #: builder/virt-builder.pod:1611 msgid "DIGITAL SIGNATURES" msgstr "" #. type: textblock #: builder/virt-builder.pod:1613 msgid "" "Virt-builder uses GNU Privacy Guard (GnuPG or gpg) to verify that the index " "and templates have not been tampered with." msgstr "" #. type: textblock #: builder/virt-builder.pod:1616 msgid "The source points to an index file, which is optionally signed." msgstr "" #. type: textblock #: builder/virt-builder.pod:1618 msgid "" "Virt-builder downloads the index and checks that the signature is valid and " "the signer’s fingerprint matches the specified fingerprint (ie. the one " "specified in I in the I<.conf>, or with I<--fingerprint>, in that " "order)." msgstr "" #. type: textblock #: builder/virt-builder.pod:1623 msgid "" "For checking against the built-in public key/fingerprint, this requires " "importing the public key into the user’s local gpg keyring (that’s just the " "way that gpg works)." msgstr "" #. type: textblock #: builder/virt-builder.pod:1627 msgid "When a template is downloaded, its signature is checked in the same way." msgstr "" #. type: textblock #: builder/virt-builder.pod:1630 msgid "" "Although the signatures are optional, if you don’t have them then " "virt-builder users will have to use I<--no-check-signature> on the command " "line. This prevents an attacker from replacing the signed index file with " "an unsigned index file and having virt-builder silently work without " "checking the signature. In any case it is highly recommended that you " "always create signed index and templates." msgstr "" #. type: =head1 #: builder/virt-builder.pod:1637 docs/guestfs-internals.pod:11 msgid "ARCHITECTURE" msgstr "" #. type: textblock #: builder/virt-builder.pod:1639 msgid "" "Virt-builder can build a guest for any architecture no matter what the host " "architecture is. For example an x86-64 guest on an ARM host." msgstr "" #. type: textblock #: builder/virt-builder.pod:1642 msgid "" "However certain options may not work, specifically options that require " "running commands in the guest during the build process: I<--install>, " "I<--update>, I<--run>, I<--run-command>. You may need to replace these with " "their firstboot-equivalents." msgstr "" #. type: textblock #: builder/virt-builder.pod:1647 msgid "" "An x86-64 host building 32 bit i686 guests should work without any special " "steps." msgstr "" #. type: =head1 #: builder/virt-builder.pod:1650 sysprep/virt-sysprep.pod:514 msgid "SECURITY" msgstr "" #. type: textblock #: builder/virt-builder.pod:1652 msgid "" "Virt-builder does not need to run as root (in fact, should not be run as " "root), and doesn't use setuid, C or any similar mechanism." msgstr "" #. type: textblock #: builder/virt-builder.pod:1655 msgid "" "I<--install>, I<--update>, I<--run> and I<--run-command> are implemented " "using an appliance (a small virtual machine) so these commands do not run on " "the host. If you are using the libguestfs libvirt backend and have SELinux " "enabled then the virtual machine is additionally encapsulated in an SELinux " "container (sVirt)." msgstr "" #. type: textblock #: builder/virt-builder.pod:1661 msgid "" "However these options will have access to the host’s network and since the " "template may contain untrusted code, the code might try to access host " "network resources which it should not. You can use I<--no-network> to " "prevent this." msgstr "" #. type: textblock #: builder/virt-builder.pod:1666 msgid "" "Firstboot commands run in the context of the guest when it is booted, and so " "the security of your hypervisor / cloud should be considered." msgstr "" #. type: textblock #: builder/virt-builder.pod:1669 msgid "" "Virt-builder injects a random seed into every guest which it builds. This " "helps to ensure that TCP sequence numbers, UUIDs, ssh host keys etc are " "truly random when the guest boots." msgstr "" #. type: textblock #: builder/virt-builder.pod:1673 msgid "You should check digital signatures and not ignore any signing errors." msgstr "" #. type: =head2 #: builder/virt-builder.pod:1675 msgid "CLONES" msgstr "" #. type: textblock #: builder/virt-builder.pod:1677 msgid "" "If you wish to create many new guests of the same type, it is tempting to " "run virt-builder once and then copy the output file. You should B do " "this. You should run virt-builder once for each new guest you need." msgstr "" #. type: textblock #: builder/virt-builder.pod:1682 msgid "" "The reason is that each clone needs to have (at least) a separate random " "seed, and possibly other unique features (such as filesystem UUIDs) in " "future versions of virt-builder." msgstr "" #. type: textblock #: builder/virt-builder.pod:1686 msgid "" "Another thing you should I do is to boot the guest, then clone the " "booted disk image. The reason is that some guests create unique machine " "IDs, SSH host keys and so on at first boot, and you would not want clones to " "have duplicate identities." msgstr "" #. type: textblock #: builder/virt-builder.pod:1691 msgid "See also: L." msgstr "" #. type: =head2 #: builder/virt-builder.pod:1693 msgid "PERFORMANCE" msgstr "" #. type: textblock #: builder/virt-builder.pod:1695 msgid "" "The most important aspect of getting good performance is caching. Templates " "gets downloaded into the cache the first time they are used, or if you use " "the I<--cache-all-templates> option. See L above for further " "information." msgstr "" #. type: textblock #: builder/virt-builder.pod:1700 msgid "" "Packages required for the I<--install> and I<--update> options are " "downloaded using the host network connection. Setting the C, " "C and C environment variables to point to a local " "web cache may ensure they only need to be downloaded once. You can also try " "using a local package repository, although this can be complex to set up and " "varies according to which Linux distro you are trying to install." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1708 msgid "Using I<--no-sync>" msgstr "" #. type: textblock #: builder/virt-builder.pod:1710 msgid "" "Use I<--no-sync>. However read the caveats in the L section " "above, since this can cause disk corruption if not used correctly." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1713 msgid "Skipping virt-resize" msgstr "" #. type: textblock #: builder/virt-builder.pod:1715 msgid "" "Virt-builder can skip the virt-resize step under certain conditions. This " "makes virt-builder much faster. The conditions are:" msgstr "" #. type: textblock #: builder/virt-builder.pod:1722 msgid "the output must be a regular file (not a block device), B" msgstr "" #. type: textblock #: builder/virt-builder.pod:1726 msgid "the user did B use the I<--size> option, B" msgstr "" #. type: textblock #: builder/virt-builder.pod:1730 msgid "the output format is the same as the template format (usually raw)." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1734 msgid "pxzcat" msgstr "" #. type: textblock #: builder/virt-builder.pod:1736 msgid "" "Virt-builder uses an internal implementation of pxzcat (parallel xzcat) if " "liblzma was found at build time. If liblzma was not found at build time, " "regular C is used which is single-threaded." msgstr "" #. type: =head3 #: builder/virt-builder.pod:1740 msgid "User-Mode Linux" msgstr "" #. type: textblock #: builder/virt-builder.pod:1742 msgid "" "You can use virt-builder with the User-Mode Linux (UML) backend. This may " "be faster when running virt-builder inside a virtual machine (eg. in the " "cloud)." msgstr "" #. type: textblock #: builder/virt-builder.pod:1746 msgid "" "To enable the UML backend, read the instructions in L." msgstr "" #. type: textblock #: builder/virt-builder.pod:1749 msgid "" "Currently you have to use the I<--no-network> option. This should be fixed " "in a future version." msgstr "" #. type: textblock #: builder/virt-builder.pod:1752 msgid "" "The qcow2 output format is not supported by UML. You can only create " "raw-format guests." msgstr "" #. type: =head1 #: builder/virt-builder.pod:1755 customize/virt-customize.pod:237 #: lib/guestfs.pod:517 sysprep/virt-sysprep.pod:545 msgid "SELINUX" msgstr "" #. type: textblock #: builder/virt-builder.pod:1757 msgid "" "Guests which use SELinux (such as Fedora and Red Hat Enterprise Linux) " "require that each file has a correct SELinux label." msgstr "" #. type: textblock #: builder/virt-builder.pod:1760 msgid "" "Virt-builder does not know how to give new files a label, so there are two " "possible strategies it can use to ensure correct labelling:" msgstr "" #. type: =item #: builder/virt-builder.pod:1765 msgid "Using I<--selinux-relabel>" msgstr "" #. type: textblock #: builder/virt-builder.pod:1767 msgid "" "This runs L just before finalizing the guest, which sets " "SELinux labels correctly in the disk image." msgstr "" #. type: textblock #: builder/virt-builder.pod:1770 msgid "This is the recommended method." msgstr "" #. type: =item #: builder/virt-builder.pod:1772 msgid "I<--touch> F" msgstr "" #. type: textblock #: builder/virt-builder.pod:1774 msgid "" "Guest templates may already contain a file called F or you " "may touch it." msgstr "" #. type: textblock #: builder/virt-builder.pod:1777 msgid "" "For guests that use SELinux, this causes L to run at first " "boot. Guests will reboot themselves once the first time you use them, which " "is normal and harmless." msgstr "" #. type: textblock #: builder/virt-builder.pod:1783 msgid "" "Please note that if your guest uses SELinux, and you are doing operations on " "it which might create new files or change existing ones, you are recommended " "to use I<--selinux-relabel>. This will help in making sure that files have " "the right SELinux labels." msgstr "" #. type: textblock #: builder/virt-builder.pod:1790 msgid "" "The I<--machine-readable> option can be used to make the output more machine " "friendly, which is useful when calling virt-builder from other programs, " "GUIs etc." msgstr "" #. type: textblock #: builder/virt-builder.pod:1794 msgid "" "Use the option on its own to query the capabilities of the virt-builder " "binary. Typical output looks like this:" msgstr "" #. type: verbatim #: builder/virt-builder.pod:1797 #, no-wrap msgid "" " $ virt-builder --machine-readable\n" " virt-builder\n" " arch\n" " config-file\n" " customize\n" " json-list\n" " pxzcat\n" "\n" msgstr "" #. type: textblock #: builder/virt-builder.pod:1813 get-kernel/virt-get-kernel.pod:187 msgid "" "For other environment variables which affect all libguestfs programs, see " "L." msgstr "" #. type: =item #: builder/virt-builder.pod:1818 msgid "C" msgstr "" #. type: =item #: builder/virt-builder.pod:1820 msgid "C" msgstr "" #. type: =item #: builder/virt-builder.pod:1822 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1824 msgid "" "Set the proxy for downloads. These environment variables (and more) are " "actually interpreted by L, not virt-builder." msgstr "" #. type: =item #: builder/virt-builder.pod:1827 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1829 msgid "" "Used to determine the location of the template cache, and the location of " "the user' sources. See L and L." msgstr "" #. type: =item #: builder/virt-builder.pod:1832 customize/virt-customize.pod:253 #: sysprep/virt-sysprep.pod:566 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1834 customize/virt-customize.pod:255 #: sysprep/virt-sysprep.pod:568 msgid "" "This can point to the directory containing data files used for Windows " "firstboot installation." msgstr "" #. type: textblock #: builder/virt-builder.pod:1837 customize/virt-customize.pod:258 #: sysprep/virt-sysprep.pod:571 msgid "" "Normally you do not need to set this. If not set, a compiled-in default " "will be used (something like F)." msgstr "" #. type: textblock #: builder/virt-builder.pod:1840 customize/virt-customize.pod:261 #: sysprep/virt-sysprep.pod:574 msgid "This directory may contain the following files:" msgstr "" #. type: =item #: builder/virt-builder.pod:1844 customize/virt-customize.pod:265 #: sysprep/virt-sysprep.pod:578 msgid "F" msgstr "" #. type: textblock #: builder/virt-builder.pod:1846 customize/virt-customize.pod:267 #: sysprep/virt-sysprep.pod:580 msgid "" "This is the RHSrvAny Windows binary, used to install a \"firstboot\" script " "in Windows guests. It is required if you intend to use the I<--firstboot> " "or I<--firstboot-command> options with Windows guests." msgstr "" #. type: textblock #: builder/virt-builder.pod:1850 customize/virt-customize.pod:271 #: sysprep/virt-sysprep.pod:584 msgid "See also: C" msgstr "" #. type: =item #: builder/virt-builder.pod:1852 customize/virt-customize.pod:273 #: sysprep/virt-sysprep.pod:586 msgid "F" msgstr "" #. type: textblock #: builder/virt-builder.pod:1854 customize/virt-customize.pod:275 #: sysprep/virt-sysprep.pod:588 msgid "" "This is a Windows binary shipped with SUSE VMDP, used to install a " "\"firstboot\" script in Windows guests. It is required if you intend to use " "the I<--firstboot> or I<--firstboot-command> options with Windows guests." msgstr "" #. type: =item #: builder/virt-builder.pod:1860 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1862 msgid "Used to determine the location of the template cache. See L." msgstr "" #. type: =item #: builder/virt-builder.pod:1864 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1866 msgid "" "Used to determine the location of the user' sources. See L." msgstr "" #. type: =item #: builder/virt-builder.pod:1869 msgid "C" msgstr "" #. type: textblock #: builder/virt-builder.pod:1871 msgid "" "Used to determine the location of the system sources. See L." msgstr "" #. type: textblock #: builder/virt-builder.pod:1883 msgid "" "L, L, L, " "L, L, L, " "L, L, L, " "L, L, L, L, " "L, L, L, L, " "L." msgstr "" #. type: textblock #: builder/virt-builder.pod:1908 builder/virt-index-validate.pod:90 #: fuse/guestunmount.pod:162 golang/examples/guestfs-golang.pod:98 msgid "Copyright (C) 2013 Red Hat Inc." msgstr "" #. type: textblock #: builder/virt-index-validate.pod:3 msgid "virt-index-validate - Validate virt-builder index file" msgstr "" #. type: verbatim #: builder/virt-index-validate.pod:7 #, no-wrap msgid "" " virt-index-validate index\n" "\n" msgstr "" #. type: textblock #: builder/virt-index-validate.pod:11 msgid "" "L uses an index file to store metadata about templates that " "it knows how to use. This index file has a specific format which " "virt-index-validate knows how to validate." msgstr "" #. type: textblock #: builder/virt-index-validate.pod:15 msgid "" "Note that virt-index-validate can validate either the signed or unsigned " "index file (ie. either F or F). It can only validate a " "local file, not a URL." msgstr "" #. type: =item #: builder/virt-index-validate.pod:23 msgid "B<--compat-1.24.0>" msgstr "" #. type: textblock #: builder/virt-index-validate.pod:25 msgid "" "Check for compatibility with virt-builder 1.24.0. (Using this option " "implies I<--compat-1.24.1>, so you don't need to use both.)" msgstr "" #. type: textblock #: builder/virt-index-validate.pod:28 builder/virt-index-validate.pod:47 msgid "In particular:" msgstr "" #. type: textblock #: builder/virt-index-validate.pod:34 msgid "" "This version of virt-builder could not handle C<[...]> (square brackets) in " "field names (eg. C)." msgstr "" #. type: textblock #: builder/virt-index-validate.pod:39 msgid "It required detached signatures (C)." msgstr "" #. type: =item #: builder/virt-index-validate.pod:43 msgid "B<--compat-1.24.1>" msgstr "" #. type: textblock #: builder/virt-index-validate.pod:45 msgid "Check for compatibility with virt-builder E 1.24.1." msgstr "" #. type: textblock #: builder/virt-index-validate.pod:53 msgid "" "This version of virt-builder could not handle C<.> (period) in field names " "or C<,> (comma) in subfield names." msgstr "" #. type: textblock #: builder/virt-index-validate.pod:58 msgid "It could not handle comments appearing in the file." msgstr "" #. type: textblock #: builder/virt-index-validate.pod:76 msgid "" "This program returns 0 if the index file validates, or non-zero if there was " "an error." msgstr "" #. type: textblock #: builder/virt-index-validate.pod:81 msgid "L, L." msgstr "" #. type: textblock #: cat/virt-cat.pod:3 msgid "virt-cat - Display files in a virtual machine" msgstr "" #. type: verbatim #: cat/virt-cat.pod:7 #, no-wrap msgid "" " virt-cat [--options] -d domname file [file ...]\n" "\n" msgstr "" #. type: verbatim #: cat/virt-cat.pod:9 #, no-wrap msgid "" " virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:11 edit/virt-edit.pod:13 inspector/virt-inspector.pod:11 msgid "Old-style:" msgstr "" #. type: verbatim #: cat/virt-cat.pod:13 #, no-wrap msgid "" " virt-cat domname file\n" "\n" msgstr "" #. type: verbatim #: cat/virt-cat.pod:15 #, no-wrap msgid "" " virt-cat disk.img file\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:19 msgid "" "C is a command line tool to display the contents of C where " "C exists in the named virtual machine (or disk image)." msgstr "" #. type: textblock #: cat/virt-cat.pod:22 msgid "" "Multiple filenames can be given, in which case they are concatenated " "together. Each filename must be a full path, starting at the root directory " "(starting with '/')." msgstr "" #. type: textblock #: cat/virt-cat.pod:26 msgid "" "C can be used to quickly view a file. To edit a file, use " "C. For more complex cases you should look at the L " "tool (see L below)." msgstr "" #. type: textblock #: cat/virt-cat.pod:32 msgid "Display F file from inside the libvirt VM called C:" msgstr "" #. type: verbatim #: cat/virt-cat.pod:35 #, no-wrap msgid "" " virt-cat -d mydomain /etc/fstab\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:37 msgid "Find out what packages were recently installed:" msgstr "" #. type: verbatim #: cat/virt-cat.pod:39 #, no-wrap msgid "" " virt-cat -d mydomain /var/log/yum.log | tail\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:41 msgid "Find out who is logged on inside a virtual machine:" msgstr "" #. type: verbatim #: cat/virt-cat.pod:43 #, no-wrap msgid "" " virt-cat -d mydomain /var/run/utmp > /tmp/utmp\n" " who /tmp/utmp\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:46 msgid "or who was logged on:" msgstr "" #. type: verbatim #: cat/virt-cat.pod:48 #, no-wrap msgid "" " virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp\n" " last -f /tmp/wtmp\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:63 cat/virt-filesystems.pod:101 cat/virt-log.pod:47 #: cat/virt-ls.pod:261 cat/virt-tail.pod:58 edit/virt-edit.pod:66 #: inspector/virt-inspector.pod:64 msgid "" "Add I which should be a disk image from a virtual machine. If the " "virtual machine has multiple block devices, you must supply all of them with " "separate I<-a> options." msgstr "" #. type: =item #: cat/virt-cat.pod:95 cat/virt-filesystems.pod:154 cat/virt-log.pod:79 #: cat/virt-ls.pod:310 cat/virt-tail.pod:90 customize/virt-customize.pod:110 #: diff/virt-diff.pod:129 edit/virt-edit.pod:112 fish/guestfish.pod:213 #: fuse/guestmount.pod:207 get-kernel/virt-get-kernel.pod:81 #: inspector/virt-inspector.pod:97 sparsify/virt-sparsify.pod:195 #: sysprep/virt-sysprep.pod:158 msgid "B<--echo-keys>" msgstr "" #. type: textblock #: cat/virt-cat.pod:97 msgid "" "When prompting for keys and passphrases, virt-cat normally turns echoing off " "so you cannot see what you are typing. If you are not worried about Tempest " "attacks and there is no one else in the room you can specify this flag to " "see what you are typing." msgstr "" #. type: verbatim #: cat/virt-cat.pod:113 #, no-wrap msgid "" " virt-cat --format=raw -a disk.img file\n" "\n" msgstr "" #. type: verbatim #: cat/virt-cat.pod:117 #, no-wrap msgid "" " virt-cat --format=raw -a disk.img --format -a another.img file\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:126 cat/virt-log.pod:110 cat/virt-ls.pod:357 #: cat/virt-tail.pod:128 customize/virt-customize.pod:141 #: diff/virt-diff.pod:171 edit/virt-edit.pod:158 fish/guestfish.pod:285 #: fuse/guestmount.pod:251 get-kernel/virt-get-kernel.pod:100 #: inspector/virt-inspector.pod:119 sparsify/virt-sparsify.pod:233 #: sysprep/virt-sysprep.pod:189 msgid "__INCLUDE:key-option.pod__" msgstr "" #. type: textblock #: cat/virt-cat.pod:128 cat/virt-filesystems.pod:206 cat/virt-log.pod:112 #: cat/virt-ls.pod:359 cat/virt-tail.pod:130 customize/virt-customize.pod:143 #: diff/virt-diff.pod:173 edit/virt-edit.pod:160 fish/guestfish.pod:287 #: fuse/guestmount.pod:253 get-kernel/virt-get-kernel.pod:102 #: inspector/virt-inspector.pod:121 sparsify/virt-sparsify.pod:235 #: sysprep/virt-sysprep.pod:191 msgid "__INCLUDE:keys-from-stdin-option.pod__" msgstr "" #. type: =item #: cat/virt-cat.pod:130 cat/virt-ls.pod:361 cat/virt-tail.pod:132 #: edit/virt-edit.pod:162 fish/guestfish.pod:299 rescue/virt-rescue.pod:198 msgid "B<-m> dev[:mountpoint[:options[:fstype]]]" msgstr "" #. type: =item #: cat/virt-cat.pod:132 cat/virt-ls.pod:363 cat/virt-tail.pod:134 #: edit/virt-edit.pod:164 fish/guestfish.pod:301 fuse/guestmount.pod:262 #: rescue/virt-rescue.pod:200 msgid "B<--mount> dev[:mountpoint[:options[:fstype]]]" msgstr "" #. type: textblock #: cat/virt-cat.pod:134 cat/virt-ls.pod:365 cat/virt-tail.pod:136 #: edit/virt-edit.pod:166 fish/guestfish.pod:303 msgid "Mount the named partition or logical volume on the given mountpoint." msgstr "" #. type: textblock #: cat/virt-cat.pod:136 cat/virt-ls.pod:367 cat/virt-tail.pod:138 #: edit/virt-edit.pod:168 fish/guestfish.pod:305 msgid "If the mountpoint is omitted, it defaults to F." msgstr "" #. type: textblock #: cat/virt-cat.pod:138 cat/virt-ls.pod:369 cat/virt-tail.pod:140 #: edit/virt-edit.pod:170 msgid "" "Specifying any mountpoint disables the inspection of the guest and the mount " "of its root and all of its mountpoints, so make sure to mount all the " "mountpoints needed to work with the filenames given as arguments." msgstr "" #. type: textblock #: cat/virt-cat.pod:143 cat/virt-ls.pod:374 cat/virt-tail.pod:145 #: edit/virt-edit.pod:175 fish/guestfish.pod:312 msgid "" "If you don’t know what filesystems a disk image contains, you can either run " "guestfish without this option, then list the partitions, filesystems and LVs " "available (see L, L and L " "commands), or you can use the L program." msgstr "" #. type: textblock #: cat/virt-cat.pod:149 cat/virt-ls.pod:380 cat/virt-tail.pod:151 #: edit/virt-edit.pod:181 fish/guestfish.pod:318 fuse/guestmount.pod:270 #: rescue/virt-rescue.pod:210 msgid "" "The third (and rarely used) part of the mount parameter is the list of mount " "options used to mount the underlying filesystem. If this is not given, then " "the mount options are either the empty string or C (the latter if the " "I<--ro> flag is used). By specifying the mount options, you override this " "default choice. Probably the only time you would use this is to enable ACLs " "and/or extended attributes if the filesystem can support them:" msgstr "" #. type: verbatim #: cat/virt-cat.pod:157 cat/virt-ls.pod:388 cat/virt-tail.pod:159 #: edit/virt-edit.pod:189 fish/guestfish.pod:326 fuse/guestmount.pod:278 #: rescue/virt-rescue.pod:218 #, no-wrap msgid "" " -m /dev/sda1:/:acl,user_xattr\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:159 cat/virt-ls.pod:390 cat/virt-tail.pod:161 #: edit/virt-edit.pod:191 fish/guestfish.pod:328 msgid "Using this flag is equivalent to using the C command." msgstr "" #. type: textblock #: cat/virt-cat.pod:161 cat/virt-ls.pod:392 cat/virt-tail.pod:163 #: edit/virt-edit.pod:193 fish/guestfish.pod:330 fuse/guestmount.pod:280 #: rescue/virt-rescue.pod:220 msgid "" "The fourth part of the parameter is the filesystem driver to use, such as " "C or C. This is rarely needed, but can be useful if multiple " "drivers are valid for a filesystem (eg: C and C), or if " "libguestfs misidentifies a filesystem." msgstr "" #. type: =head1 #: cat/virt-cat.pod:184 cat/virt-ls.pod:474 edit/virt-edit.pod:216 #: inspector/virt-inspector.pod:162 rescue/virt-rescue.pod:298 msgid "OLD-STYLE COMMAND LINE ARGUMENTS" msgstr "" #. type: textblock #: cat/virt-cat.pod:186 msgid "Previous versions of virt-cat allowed you to write either:" msgstr "" #. type: verbatim #: cat/virt-cat.pod:188 #, no-wrap msgid "" " virt-cat disk.img [disk.img ...] file\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:190 cat/virt-ls.pod:480 dib/virt-dib.pod:475 #: edit/virt-edit.pod:222 inspector/virt-inspector.pod:168 #: rescue/virt-rescue.pod:304 msgid "or" msgstr "" #. type: verbatim #: cat/virt-cat.pod:192 #, no-wrap msgid "" " virt-cat guestname file\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:194 cat/virt-ls.pod:484 edit/virt-edit.pod:226 #: inspector/virt-inspector.pod:172 rescue/virt-rescue.pod:308 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:198 cat/virt-ls.pod:488 edit/virt-edit.pod:230 #: inspector/virt-inspector.pod:176 rescue/virt-rescue.pod:312 msgid "For compatibility the old style is still supported." msgstr "" #. type: =head1 #: cat/virt-cat.pod:200 cat/virt-tail.pod:186 msgid "LOG FILES" msgstr "" #. type: textblock #: cat/virt-cat.pod:202 cat/virt-tail.pod:188 msgid "" "To list out the log files from guests, see the related tool L. " "It understands binary log formats such as the systemd journal." msgstr "" #. type: textblock #: cat/virt-cat.pod:206 msgid "To follow (tail) text log files, use L." msgstr "" #. type: =head1 #: cat/virt-cat.pod:208 cat/virt-tail.pod:192 edit/virt-edit.pod:294 #: fish/guestfish.pod:889 msgid "WINDOWS PATHS" msgstr "" #. type: textblock #: cat/virt-cat.pod:210 msgid "" "C has a limited ability to understand Windows drive letters and " "paths (eg. F)." msgstr "" #. type: textblock #: cat/virt-cat.pod:213 cat/virt-tail.pod:197 edit/virt-edit.pod:299 msgid "If and only if the guest is running Windows then:" msgstr "" #. type: textblock #: cat/virt-cat.pod:219 cat/virt-tail.pod:203 edit/virt-edit.pod:305 msgid "" "Drive letter prefixes like C are resolved against the Windows Registry " "to the correct filesystem." msgstr "" #. type: textblock #: cat/virt-cat.pod:224 cat/virt-tail.pod:208 edit/virt-edit.pod:310 msgid "" "Any backslash (C<\\>) characters in the path are replaced with forward " "slashes so that libguestfs can process it." msgstr "" #. type: textblock #: cat/virt-cat.pod:229 cat/virt-tail.pod:213 msgid "" "The path is resolved case insensitively to locate the file that should be " "displayed." msgstr "" #. type: textblock #: cat/virt-cat.pod:234 cat/virt-tail.pod:218 edit/virt-edit.pod:320 msgid "There are some known shortcomings:" msgstr "" #. type: textblock #: cat/virt-cat.pod:240 cat/virt-tail.pod:224 edit/virt-edit.pod:326 msgid "Some NTFS symbolic links may not be followed correctly." msgstr "" #. type: textblock #: cat/virt-cat.pod:244 cat/virt-tail.pod:228 edit/virt-edit.pod:330 msgid "NTFS junction points that cross filesystems are not followed." msgstr "" #. type: =head1 #: cat/virt-cat.pod:248 edit/virt-edit.pod:334 msgid "USING GUESTFISH" msgstr "" #. type: textblock #: cat/virt-cat.pod:250 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:253 msgid "Using C is approximately equivalent to doing:" msgstr "" #. type: verbatim #: cat/virt-cat.pod:255 #, no-wrap msgid "" " guestfish --ro -i -d domname download file -\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:257 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:261 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:266 #, no-wrap msgid "" " guestfish --ro -a disk.img -m /dev/sda1 download file -\n" "\n" msgstr "" #. type: textblock #: cat/virt-cat.pod:268 msgid "" "where F is the disk image, F is the filesystem within " "the disk image, and C is the full path to the file." msgstr "" #. type: textblock #: cat/virt-cat.pod:278 msgid "" "L, L, L, L, " "L, L, L, " "L." msgstr "" #. type: textblock #: cat/virt-cat.pod:293 cat/virt-filesystems.pod:402 #: inspector/virt-inspector.pod:516 ocaml/examples/guestfs-ocaml.pod:102 #: python/examples/guestfs-python.pod:84 resize/virt-resize.pod:873 #: ruby/examples/guestfs-ruby.pod:55 msgid "Copyright (C) 2010-2012 Red Hat Inc." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:3 msgid "" "virt-filesystems - List filesystems, partitions, block devices, LVM in a " "virtual machine or disk image" msgstr "" #. type: verbatim #: cat/virt-filesystems.pod:7 #, no-wrap msgid "" " virt-filesystems [--options] -d domname\n" "\n" msgstr "" #. type: verbatim #: cat/virt-filesystems.pod:9 #, no-wrap msgid "" " virt-filesystems [--options] -a disk.img [-a disk.img ...]\n" "\n" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:13 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:18 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:21 #, no-wrap msgid "" " for fs in $(virt-filesystems -a disk.img); do\n" " # ...\n" " done\n" "\n" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:25 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:30 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:35 #, 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:39 msgid "If you add I<-l> or I<--long> then the output includes extra information:" msgstr "" #. type: verbatim #: cat/virt-filesystems.pod:42 #, 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:47 msgid "" "If you add I<--extra> then non-mountable (swap, unknown) filesystems are " "shown as well:" msgstr "" #. type: verbatim #: cat/virt-filesystems.pod:50 #, 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:56 msgid "If you add I<--partitions> then partitions are shown instead of filesystems:" msgstr "" #. type: verbatim #: cat/virt-filesystems.pod:58 #, no-wrap msgid "" " $ virt-filesystems -a disk.img --partitions\n" " /dev/sda1\n" " /dev/sda2\n" "\n" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:62 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:65 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. F 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:72 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:76 msgid "" "I<--all --long --uuid> is a useful combination to display all possible " "information about everything." msgstr "" #. type: verbatim #: cat/virt-filesystems.pod:79 #, 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:87 msgid "For machine-readable output, use I<--csv> to get Comma-Separated Values." msgstr "" #. type: =item #: cat/virt-filesystems.pod:114 diff/virt-diff.pod:60 #: tools/virt-list-filesystems:120 msgid "B<--all>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:116 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:121 msgid "See also I<--long>." msgstr "" #. type: =item #: cat/virt-filesystems.pod:123 msgid "B<--blkdevs>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:125 msgid "B<--block-devices>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:127 msgid "Display block devices." msgstr "" #. type: =item #: cat/virt-filesystems.pod:141 cat/virt-ls.pod:297 df/virt-df.pod:108 #: diff/virt-diff.pod:99 msgid "B<--csv>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:143 cat/virt-ls.pod:299 df/virt-df.pod:110 #: diff/virt-diff.pod:101 msgid "" "Write out the results in CSV format (comma-separated values). This format " "can be imported easily into databases and spreadsheets, but read L below." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:156 msgid "" "When prompting for keys and passphrases, virt-filesystems normally turns " "echoing off so you cannot see what you are typing. If you are not worried " "about Tempest attacks and there is no one else in the room you can specify " "this flag to see what you are typing." msgstr "" #. type: =item #: cat/virt-filesystems.pod:161 msgid "B<--extra>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:163 msgid "" "This causes filesystems that are not ordinary, mountable filesystems to be " "displayed. This category includes swapspace, and filesystems that are empty " "or contain unknown data." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:167 msgid "This option implies I<--filesystems>." msgstr "" #. type: =item #: cat/virt-filesystems.pod:169 msgid "B<--filesystems>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:171 msgid "" "Display mountable filesystems. If no display option was selected then this " "option is implied." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:174 msgid "With I<--extra>, non-mountable filesystems are shown too." msgstr "" #. type: verbatim #: cat/virt-filesystems.pod:187 #, no-wrap msgid "" " virt-filesystems --format=raw -a disk.img\n" "\n" msgstr "" #. type: verbatim #: cat/virt-filesystems.pod:191 #, no-wrap msgid "" " virt-filesystems --format=raw -a disk.img --format -a another.img\n" "\n" msgstr "" #. type: =item #: cat/virt-filesystems.pod:200 cat/virt-ls.pod:348 df/virt-df.pod:145 #: diff/virt-diff.pod:165 fish/guestfish.pod:153 tools/virt-list-partitions:108 msgid "B<-h>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:202 cat/virt-ls.pod:350 df/virt-df.pod:147 #: diff/virt-diff.pod:167 tools/virt-list-partitions:110 msgid "B<--human-readable>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:204 msgid "In I<--long> mode, display sizes in human-readable format." msgstr "" #. type: =item #: cat/virt-filesystems.pod:208 cat/virt-ls.pod:397 daemon/guestfsd.pod:66 #: tools/virt-list-filesystems:107 tools/virt-list-partitions:118 msgid "B<-l>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:210 cat/virt-ls.pod:399 #: tools/virt-list-filesystems:109 tools/virt-list-partitions:120 msgid "B<--long>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:212 msgid "Display extra columns of data (\"long format\")." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:214 msgid "A title row is added unless you also specify I<--no-title>." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:216 msgid "" "The extra columns displayed depend on what output you select, and the " "ordering of columns may change in future versions. Use the title row, " "I<--csv> output and/or L to match columns to data in external " "programs." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:221 msgid "" "Use I<-h> if you want sizes to be displayed in human-readable format. The " "default is to show raw numbers of I." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:224 msgid "Use I<--uuid> to display UUIDs too." msgstr "" #. type: =item #: cat/virt-filesystems.pod:226 msgid "B<--lvs>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:228 msgid "B<--logvols>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:230 msgid "B<--logical-volumes>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:232 msgid "" "Display LVM logical volumes. In this mode, these are displayed irrespective " "of whether the LVs contain filesystems." msgstr "" #. type: =item #: cat/virt-filesystems.pod:235 msgid "B<--no-title>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:237 msgid "In I<--long> mode, don’t add a title row." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:239 msgid "" "Note that the order of the columns is not fixed, and may change in future " "versions of virt-filesystems, so using this option may give you unexpected " "surprises." msgstr "" #. type: =item #: cat/virt-filesystems.pod:243 msgid "B<--parts>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:245 msgid "B<--partitions>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:247 msgid "" "Display partitions. In this mode, these are displayed irrespective of " "whether the partitions contain filesystems." msgstr "" #. type: =item #: cat/virt-filesystems.pod:250 msgid "B<--pvs>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:252 msgid "B<--physvols>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:254 msgid "B<--physical-volumes>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:256 msgid "Display LVM physical volumes." msgstr "" #. type: =item #: cat/virt-filesystems.pod:260 msgid "B<--uuids>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:262 msgid "In I<--long> mode, display UUIDs as well." msgstr "" #. type: =item #: cat/virt-filesystems.pod:276 msgid "B<--vgs>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:278 msgid "B<--volgroups>" msgstr "" #. type: =item #: cat/virt-filesystems.pod:280 msgid "B<--volume-groups>" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:282 msgid "Display LVM volume groups." msgstr "" #. type: =head1 #: cat/virt-filesystems.pod:290 msgid "COLUMNS" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:292 msgid "" "Note that columns in the output are subject to reordering and change in " "future versions of this tool." msgstr "" #. type: =item #: cat/virt-filesystems.pod:297 msgid "B" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:299 msgid "The filesystem, partition, block device or LVM name." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:301 msgid "" "For device and partition names these are displayed as canonical libguestfs " "names, so that for example F is the second partition on the first " "device." msgstr "" #. type: textblock #: cat/virt-filesystems.pod:305 msgid "" "If the I<--long> option is B specified, then only the name column is " "shown in the output." msgstr "" #. type: =item #: cat/virt-filesystems.pod:308 msgid "B" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:310 msgid "The object type, for example C, C, C etc." msgstr "" #. type: =item #: cat/virt-filesystems.pod:312 msgid "B" msgstr "" #. type: textblock #: cat/virt-filesystems.pod:314 msgid "" "If there is a filesystem, then this column displays the filesystem type if " "one could be detected, eg. C." msgstr "" #. type: =item #: cat/virt-filesystems.pod:317 msgid "B