libblockdev-3.4.0

Introduction to libblockdev

libblockdev is a C library supporting GObject Introspection for manipulation of block devices. It has a plugin-based architecture where each technology (like LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly with multiple implementations (e.g. using LVM CLI or the new LVM DBus API).

This package is known to build and work properly using an LFS 12.4 platform.

Package Information

libblockdev Dependencies

Required

GLib-2.86.2 (GObject Introspection required for GNOME)

Recommended

Optional

"btrfs-progs", "gtk-doc", JSON-GLib-1.10.8, "mdadm", "parted", "smartmontools", volume_key, ndctl, and targetcli (for tests)

Installation of libblockdev

Prepare libblockdev by running the following commands:

./configure --prefix=/usr      \
            --sysconfdir=/etc  \
            --with-python3     \
            --without-escrow   \
            --without-gtk-doc  \
            --without-lvm      \
            --without-lvm_dbus \
            --without-nvdimm   \
            --without-tools    \
            --without-smartmontools
make

The test suite requires targetcli, which is not a part of BLFS.

Now Install the package, as the root user:

make install

Command Explanations

--without-escrow: This switch allows building libblockdev without volume_key installed.

--without-lvm --without-lvm_dbus --without-tools: The combination of these switches allows building libblockdev without "parted" installed. Remove it if you've installed "parted" and wish to build the lvm-cache-stats or vfat-resize utilities, or wish libblockdev to support logical volumes.

--without-smartmontools: This switch allows building libblockdev without "json-glib" or "smartmontools" installed. Remove it if you have both packages installed.

--without-btrfs --without-mdraid --without-tools: The combination of these switches allows building libblockdev without "libbytesize" installed. The --without-mdraid option will break "udisks2", so don't use it unless you really know what you are doing.

--without-crypto: This switch allows building libblockdev without "cryptsetup" or "keyutils" installed. This switch will break UDisks-2.11.0, so don't use it unless you really know what you are doing.

--without-dm --without-lvm --without-lvm_dbus --without-mpath: The combination of these switches allows building libblockdev without "lvm2" installed. The --without-dm and --without-mpath options are not in the instructions provided by the book because "lvm2" is required for "cryptsetup" and "cryptsetup" is a recommended dependency of "libblockdev" anyway.

--without-nvme: This switch allows building libblockdev without "libnvme" installed. This switch will break UDisks-2.11.0, so don't use it unless you really know what you are doing.

Contents

Installed Programs: lvm-cache-stats and vfat-resize (both optional)
Installed Libraries: libbd_btrfs.so, libbd_crypto.so, libbd_dm.so, libbd_fs.so, libbd_loop.so, libbd_lvm.so (optional), libbd_lvm-dbus.so (optional), libbd_mdraid.so, libbd_mpath.so, libbd_nvme.so, libbd_part.so, libbd_swap.so, libbd_utils.so, and libblockdev.so
Installed Directories: /etc/libblockdev, /usr/include/blockdev, and /usr/share/gtk-doc/html/libblockdev (optional)

Short Descriptions

lvm-cache-stats

prints statistics on caches on LVM Logical Volumes

vfat-resize

resizes vfat file systems