Provided by: nbdkit_1.1.3-2_amd64 bug

NAME

       nbdkit-guestfs-plugin - nbdkit libguestfs plugin

SYNOPSIS

        nbdkit [-r] .../plugins/nbdkit-guestfs-plugin.so
          [disk=DISK] [domain=DOMAIN] [format=FORMAT] [connect=URI]
          [mount=inspect|MOUNT] [trace=1] [debug=1] export=DEVICE|FILE

WARNING

       Using nbdkit-guestfs-plugin in read-write mode on live virtual machines can be dangerous,
       potentially causing disk corruption.  Use the -r (read-only) option to use this plugin
       safely if the disk image or virtual machine might be live.

EXAMPLES

       Export the first partition inside a disk image called "disk.img", and allow writes:

        nbdkit .../plugins/nbdkit-guestfs-plugin.so \
          disk=disk.img export=/dev/sda1

       Export a disk image which is located inside a libvirt guest called "Guest", read-only (-r
       option):

        nbdkit -r .../plugins/nbdkit-guestfs-plugin.so \
          domain=Guest mount=inspect export=/images/disk.img

DESCRIPTION

       "nbdkit-guestfs-plugin" is an nbdkit(1) plugin that lets you access the contents of disk
       images over NBD.  There are many weird and wonderful uses for this, and this man page only
       covers the simpler ones.

       The parameters control:

       •   Which disk(s) are added to libguestfs.  Specifically "disk=DISK" and "domain=DOMAIN"
           add a single disk or all the disks from a particular libvirt guest.

       •   What, if any, filesystems inside the disk image / guest have to be mounted.  Use
           "mount=inspect" to do this automatically (like guestfish(1) -i option), else mount
           individual filesystems.

       •   What device or file from inside the disk image or guest you want to export over NBD.
           Use "export=DEVICE|FILE" to specify the thing that you want to export.

       •   Use the -r option to export read-only.  The default is read-write.

PARAMETERS

       connect=URI
           This optional parameter specifies the libvirt connection URI.  This is only used with
           the "domain" parameter.

       debug=1
           Enable full debugging of libguestfs.  Note you'll probably also have to use the
           nbdkit(1) option -v in order to see the messages.

       disk=DISK
           Add the named disk image.  You may specify this option multiple times.

       domain=DOMAIN
           Add the disk(s) from the libvirt guest called "DOMAIN".

       export=DEVICE|FILE
           Export "DEVICE" or "FILE" (from inside the disk image or guest) over NBD.

           Device names are the usual libguestfs names like "/dev/sda1" (meaning the first
           partition of the first disk), or "/dev/VG/LV" (a logical volume), or RAID arrays etc.
           The device name should not be confused with host devices.

           Filenames are similarly those located inside the guest or disk image, and always start
           with a "/" character (even for Windows guests).

           Exports are writable by default.  Use the -r option to make them read-only.  Exporting
           read-write a live disk image or virtual machine will probably cause disk corruption.

       format=FORMAT
           This can be used to specify the format of the disk.  Use it before the "disk=DISK"
           argument.  It works like the --format option of guestfish(1).

       mount=inspect
           Use guest inspection to mount disks.  This is like "guestfish -i".

       mount=dev
       mount=dev:mountpoint
           Mount "dev" from inside the guest on "mountpoint" (defaults to "/").  This is like
           "guestfish -m".

       trace=1
           Enable tracing of libguestfs calls.  Note you'll probably also have to use the
           nbdkit(1) option -v in order to see the messages.

WORKED EXAMPLES

   Exporting a partition or logical volume inside a disk image
       disk.img is a host file that contains partitions or LVM logical volumes.  Use the
       "disk=disk.img" option to add the disk.  Because you don't want to access filesystem
       contents, "mount=..." is not needed.

        nbdkit .../plugins/nbdkit-guestfs-plugin.so \
          disk=disk.img export=/dev/sda1

        nbdkit .../plugins/nbdkit-guestfs-plugin.so \
          disk=disk.img export=/dev/VG/LV

       Use virt-filesystems(1) to find out what devices, partitions, LVs, filesystems etc a disk
       image contains.

   Exporting a partition or logical volume inside guest
       Guest is the name (in libvirt) of a guest.  Since the guest might be live, we use the -r
       option to open the guest read-only.  Because you don't want to access filesystem contents,
       "mount=..." is not needed.

        nbdkit -r .../plugins/nbdkit-guestfs-plugin.so \
          domain=Guest export=/dev/sda1

        nbdkit -r .../plugins/nbdkit-guestfs-plugin.so \
          domain=Guest export=/dev/VG/LV

   Exporting a file inside a disk image
       disk.img is a partitioned disk image with one filesystem that contains a file that we want
       to export.  Use the "disk=disk.img" option to add the disk, and "mount=/dev/sda1" to
       specify the filesystem in the disk image.  Use "export=/image" to specify the name of the
       file in that filesystem that we want to export.

        nbdkit .../plugins/nbdkit-guestfs-plugin.so \
          disk=disk.img mount=/dev/sda1 export=/image

   Exporting a file inside a virtual machine disk image
       windows.img is the disk from a Windows virtual machine.  Use the "disk=windows.img" option
       to add the disk, and "mount=inspect" to auto-mount the filesystem(s) in the disk image.
       Use "export=/Users/rich/AppData/image" to specify the name of the file from the guest that
       we want to export.

        nbdkit .../plugins/nbdkit-guestfs-plugin.so \
          disk=windows.img mount=inspect export=/Users/rich/AppData/image

DEBUGGING

       To debug this plugin, use the following options:

        nbdkit -f -v .../plugins/nbdkit-guestfs-plugin.so debug=1 trace=1 [...]

       This enables libguestfs debugging and tracing (see guestfs-faq(1)).  It also ensures that
       the messages are displayed by nbdkit (because of -f and -v).

SEE ALSO

       nbdkit(1), nbdkit-plugin(3), guestfish(1), guestfs(3), virt-filesystems(1),
       <http://libguestfs.org>.

AUTHORS

       Richard W.M. Jones

COPYRIGHT

       Copyright (C) 2013 Red Hat Inc.

LICENSE

       Redistribution and use in source and binary forms, with or without modification, are
       permitted provided that the following conditions are met:

       •   Redistributions of source code must retain the above copyright notice, this list of
           conditions and the following disclaimer.

       •   Redistributions in binary form must reproduce the above copyright notice, this list of
           conditions and the following disclaimer in the documentation and/or other materials
           provided with the distribution.

       •   Neither the name of Red Hat nor the names of its contributors may be used to endorse
           or promote products derived from this software without specific prior written
           permission.

       THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED
       WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
       FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS
       BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
       DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
       OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
       LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
       OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE.