Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
NBD server toolkit with stable ABI and permissive license. PLEASE DO NOT USE GITHUB FOR ISSUES OR PULL REQUESTS. See the website for how to file a bug or contact us. http://libguestfs.org
branch: master

ocaml: New plugin lets you write plugins as natively compiled OCaml p…

…rograms.

This requires your OCaml compiler to support native compilation and be
compiled with -fPIC (ie. it won't work with most distro builds of
OCaml).  I have filed a bug upstream to add support for building
shared libraries from OCaml:

http://caml.inria.fr/mantis/view.php?id=6693
latest commit e3abac4e55
rwmjones rwmjones authored

README

NBD is a protocol for accessing Block Devices (hard disks and
disk-like things) over a Network.

'nbdkit' is a toolkit for creating NBD servers.

The key features are:

* Multithreaded NBD server written in C with good performance.

* Well-documented, simple plugin API with a stable ABI guarantee.
  Let's you export "unconventional" block devices easily.

* Liberal license (BSD) allows nbdkit to be linked to proprietary
  libraries or included in proprietary code.

For documentation, see the docs/ directory.

For plugins and examples, see the plugins/ directory.

License
-------

This software is copyright (C) Red Hat Inc. and licensed under a BSD
license.  See LICENSE for details.

Building from source
--------------------

By default nbdkit needs nothing except Linux and reasonably recent gcc.

To build the man pages, you will need to install:

 - pod2man (included with perl)

There are some *optional* libraries you may want to install for the
plugins.

For the gzip plugin:

 - zlib

For the xz plugin:

 - liblzma

For the curl (HTTP/FTP) plugin:

 - libcurl

For the libvirt plugin:

 - libvirt

For the libguestfs plugin, and to run the test suite:

 - libguestfs

 - guestfish (from libguestfs)

For the VDDK plugin:

 - VDDK (see plugins/vddk/README.VDDK)

For the Perl plugin:

 - perl development libraries

 - perl module ExtUtils::Embed

For the Python plugin:

 - python development libraries

For the OCaml plugin:

 - OCaml native compiler that was compiled using -fPIC, see:
   http://www.camlcity.org/knowledge/kb_002_shared_library.html
   Hopefully this will become the default in a future OCaml, see:
   http://caml.inria.fr/mantis/view.php?id=6693

After installing any dependencies:

  To build from tarball:         To build from git:
  ----------------------         ------------------
                                 autoreconf -i
  ./configure                    ./configure
  make                           make
  make check                     make check

Optionally run this as root to install everything:

  make install

Tests
-----

You will need to install libguestfs to run the test suite.

The test suite ('make check') is fairly comprehensive.  It runs the
newly built nbdkit + plugin as a captive process, and tests it using
libguestfs.

If there is a failure, look at the corresponding tests/*.log file for
debug information.

Packager information
--------------------

Tarballs are available from:
http://libguestfs.org/download/nbdkit

Developer information
---------------------

For development ideas, see the TODO file.

The upstream git repository is:
https://github.com/libguestfs/nbdkit

Please send patches to the libguestfs mailing list:
https://www.redhat.com/mailman/listinfo/libguestfs

For further information, see:
http://libguestfs.org/
Something went wrong with that request. Please try again.