dpkg-split(1) dpkg utilities dpkg-split(1)
dpkg-split - Debian package archive split/join tool
dpkg-split -s|--split complete-archive [prefix]
dpkg-split -j|--join part ...
dpkg-split -I|--info part ...
dpkg-split -a|--auto -o complete-output part
dpkg-split -d|--discard [package ...]
dpkg-split splits Debian binary package files into smaller parts and
reassembles them again, to support the storage of large package files
on small media such as floppy disks.
It can be operated manually using the --split, --join and --info
It also has an automatic mode, invoked using the --auto option, where
it maintains a queue of parts seen but not yet reassembled and reassem
bles a package file when it has seen all of its parts. The --listq and
--discard options allow the management of the queue.
All splitting, joining and queueing operations produce informative mes
sages on standard output; these may safely be ignored.
Splits a single Debian binary package into several parts.
The parts are named prefix.NofM.deb where N is the part number,
starting at 1, and M is the total number of parts (both in deci
If no prefix is supplied then the complete-archive filename is
taken, including directory, with any trailing .deb removed.
Joins the parts of a package file together, reassembling the
original file as it was before it was split.
The part files given as arguments must be all the parts of
exactly the same original binary file. Each part must occur
exactly once in the argument list, though the parts to not need
to be listed in order.
The parts must of course all have been generated with the same
part size specified at split time, which means that they must
usually have been generated by the same invocation of dpkg-split
The parts filenames are not significant for the reassembly pro
By default the output file is called package-version.deb.
Prints information, in a human-readable format, about the part
file(s) specified. Arguments which are not binary package parts
produce a message saying so instead (but still on standard
Automatically queue parts and reassemble a package if possible.
The part specified is examined, and compared with other parts of
the same package (if any) in the queue of packages file parts.
If all parts of the package file of which part is a part are
available then the package is reassembled and written to com
plete-output (which should not usually already exist, though
this is not an error).
If not then the part is copied into the queue and complete-out
put is not created.
If part is not a split binary package part then dpkg-split will
exit with status 1; if some other trouble occurs then it will
exit with status 2.
The --output or -o option must be supplied when using --auto.
(If this were not mandatory the calling program would not know
what output file to expect.)
Lists the contents of the queue of packages to be reassembled.
For each package file of which parts are in the queue the output
gives the name of the package, the parts in the queue, and the
total number of bytes stored in the queue.
This discards parts from the queue of those waiting for the
remaining parts of their packages.
If no package is specified then the queue is cleared completely;
if any are specified then only parts of the relevant package(s)
Prints dpkg-splits usage message, giving a summary of its
options and their uses.
Prints dpkg-splits version number.
Prints information about dpkg-splits copyright licensing and
lack of warranty. (The American spelling --license is also sup
Specifies an alternative directory for the queue of parts await
ing automatic reassembly. The default is /var/lib/dpkg.
Specifies the maximum part size when splitting, in kilobytes
(1024 bytes). The default is 450Kb.
Specifies the output file name for a reassembly.
This overrides the default for a manual reassembly (--join) and
is mandatory for an automatic queue-or-reassemble (--auto).
When doing automatic queue-or-reassembly dpkg-split usually
prints a message if it is given a part that is not a binary
package part. This option suppresses this message, to allow pro
grams such as dpkg to cope with both split and unsplit packages
without producing spurious messages.
Forces the output filenames generated by --split to be msdos-
This mangles the prefix - either the default derived from the
input filename or the one supplied as an argument: alphanumerics
are lowercased, plus signs are replaced by xs and all other
characters are discarded.
The result is then truncated as much as is necessary, and file
names of the form prefixNofM.deb are generated.
An exit status of 0 indicates that the requested split, merge, or other
command succeeded. --info commands count as successful even if the
files are not binary package parts.
An exit status of 1 occurs only with --auto and indicates that the part
file was not a binary package part.
An exit status of 2 indicates some kind of trouble, such as a system
call failure, a file that looked like a package part file but was cor
rupted, a usage error or some other problem.
dpkg-split uses some rather out-of-date conventions for the the file
names of Debian packages.
Full details of the packages in the queue are impossible to get without
digging into the queue directory yourself.
There is no easy way to test whether a file that may be a binary pack
age part is one.
The architecture is not represented in the part files header, only in
the control information of the contained binary package file, and it is
not present in the filenames generated.
The default queue directory for part files awaiting automatic
The filenames used in this directory are in a format internal to
dpkg-split and are unlikely to be useful to other programs, and
in any case the filename format should not be relied upon.
deb(5), deb-control(5), dpkg-deb(1), dpkg(1).
dpkg-split and this manpage were written by Ian Jackson. They are Copy
right (C) 1995-1996 by him and released under the GNU General Public
Licence; there is NO WARRANTY. See /usr/share/dpkg/copyright and
/usr/share/common-licenses/GPL for details.
Debian Project 2006-02-28 dpkg-split(1)