lb
List load balancing configuration
TLDR
Make a new draft
Edit a draft
Delete a draft
Publish a draft
Delete a published post
Unpublish a published post to edit it as a draft again
SYNOPSIS
lb <command> [options]
Typical commands include:
lb config [options]
lb build
lb clean
PARAMETERS
--architecture
Specifies the target architecture for the image (e.g., amd64, i386).
--distribution
Sets the Debian or Ubuntu release name (e.g., bullseye, noble) to build from.
--binary-images
Defines the output image formats (e.g., iso-hybrid, netboot, tar).
--packages-list
Provides a space-separated list of additional package names to include in the image.
--chroot-filesystem
Determines the filesystem type for the live rootfs (e.g., squashfs, ext4).
--linux-packages
Specifies the kernel metapackages to include (e.g., linux-image-amd64).
--debconf-selections
Allows pre-seeding answers to debconf questions during package installation.
--apt-recommends
Enables or disables the installation of recommended packages via APT (true or false).
DESCRIPTION
lb (short for live-build) is a powerful command-line tool used to create live operating system images for Debian and its derivatives, like Ubuntu. These images can be used to boot directly from a CD, DVD, USB drive, or network, providing a fully functional system without requiring installation to a hard drive.
lb offers extensive customization options, allowing users to define the distribution, architecture, desktop environment, included packages, boot options, and pre-seeded configurations. It automates the entire image creation process, from downloading packages to building the final ISO or other image formats. It's particularly useful for creating specialized live systems, rescue disks, or demonstration environments.
CAVEATS
Building live images with lb can be resource-intensive, requiring significant disk space and network bandwidth, and the process can be time-consuming.
Many operations require root privileges.
The configuration can be complex due to the vast number of customization options and its reliance on a subcommand-based workflow.
It is primarily designed for Debian and its derivatives like Ubuntu.
USAGE WORKFLOW
The typical live-build workflow involves a three-step process: First, run lb config to generate the configuration files in a config/ directory. Second, execute lb build to initiate the image creation based on the generated configuration. Finally, use lb clean to remove the temporary build environment and generated artifacts, optionally preserving the final image.
CUSTOMIZATION HOOKS
live-build offers extensive customization capabilities through hooks and includes directories. Users can place custom scripts (e.g., in config/chroot_local-hooks/) or files (e.g., in config/chroot_local-includes/) within the generated chroot environment. These are executed or included at specific stages of the build process, allowing for deep personalization of the live system, such as installing additional software not available in repositories, setting up user accounts, or applying system configurations.
HISTORY
live-build (lb) is the spiritual successor to the earlier live-helper project, designed to provide a more modular and flexible framework for creating live Debian systems. Its development is closely integrated with the Debian Live project, aiming to simplify the production of custom live images for various use cases, ranging from official Debian Live distributions to specialized derivative systems. It has evolved to support a wide array of architectures and boot methods and is actively maintained within the Debian community.
SEE ALSO
debootstrap(8), squashfs-tools(8), isohybrid(1), xorriso(1), mkisofs(8)