libblockdev-3.5.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 package is known to build and work properly using an LFS 13.1 platform.

Package Information

libblockdev Dependencies

Required

GLib-2.88.3 (GObject Introspection required for GNOME)

Recommended

Optional

btrfs-progs-7.1, GTK-Doc-1.36.1, json-glib-1.10.8, mdadm-4.6, parted-3.7, 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.7 installed. Remove it if you've installed parted-3.7 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.2, so don't use it unless you really know what you are doing.

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

--without-nvme: This switch allows building libblockdev without libnvme-1.16.2 installed. This switch will break UDisks-2.11.2, 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