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).

[Note]

Note

This version of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable version of the System V books.

Package Information

libblockdev Dependencies

Required

GLib-2.86.4 (GObject Introspection required for GNOME)

Recommended

Optional

btrfs-progs-6.17.1, GTK-Doc-1.35.1, JSON-GLib-1.10.8, mdadm-4.4, parted-3.6, smartmontools-7.5, volume_key, ndctl, and targetcli (for tests)

Installation of libblockdev

Install 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, 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-3.6 installed. Remove it if you've installed parted-3.6 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-1.10.8 or smartmontools-7.5 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-2.12 installed. The --without-mdraid option will break UDisks-2.11.0, so don't use it unless you really know what you are doing.

--without-crypto: This switch allows building libblockdev without cryptsetup-2.8.4 or keyutils-1.6.3 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-2.03.38 installed. The --without-dm and --without-mpath options are not in the instructions provided by the book because LVM2-2.03.38 is required for cryptsetup-2.8.4 and cryptsetup-2.8.4 is a recommended dependency of libblockdev anyway.

--without-nvme: This switch allows building libblockdev without libnvme-1.16.1 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