Skip to content
/ nbdkit Public
forked from libguestfs/nbdkit

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

License

Notifications You must be signed in to change notification settings

calind/nbdkit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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/

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 74.8%
  • Perl 16.8%
  • Shell 4.6%
  • OCaml 3.1%
  • Python 0.7%