dpkg-split
Split large Debian packages into smaller files
SYNOPSIS
dpkg-split [option...] {--split[=size-in-kb]|--join|--test|--listloc=filename} file...
PARAMETERS
-a, --auto
Automatically determine optimal split size.
-L, --listloc=filename
List parts comprising the multi-part archive.
-o, --output=directory
Place output files in specified directory.
-s, --split[=size-in-kb]
Split archive into parts of given size (kB); interactive if omitted.
--help, -?, -h
Display usage summary.
--join file...
Join listed parts into single archive (file.0).
--multiarch
Allow processing multi-arch packages.
--test file...
Verify parts join correctly without creating output.
--version
Show program version.
DESCRIPTION
dpkg-split is a utility from the Debian dpkg suite designed to handle large .deb package files by splitting them into smaller, transportable parts and reassembling them later. This was originally essential for distributing packages via email or floppy disks when file size limits were common.
Key functions include splitting a single archive into numbered parts (e.g., package.deb.1, package.deb.2) with embedded checksums for integrity, joining a complete set of parts back into the original .deb, testing parts for joinability without output creation, and listing components of a multi-part archive. Parts follow the deb-split(5) format, ensuring reliable reconstruction.
Usage has declined with modern bandwidth, but it remains useful for air-gapped systems, legacy compatibility, or constrained environments. Output defaults to the current directory unless specified, and multi-arch support was added later.
CAVEATS
Split size omitted triggers interactive prompt; join requires all parts in sequence. Not suitable for signed packages.
EXAMPLE: SPLIT
dpkg-split --output=/tmp --split=10240 large.deb
Splits into 10MB parts in /tmp.
EXAMPLE: JOIN
dpkg-split --output=/tmp --join part.deb.1 part.deb.2 part.deb.3
Reassembles into part.deb.0.
HISTORY
Introduced in early dpkg (circa 1994, version 1.1.x) for email/floppy package transport; enhanced with auto-split (1.15.7) and multiarch (1.17.14).


