dwww Home | Manual pages | Find package

dpkg-split(1)                      dpkg suite                     dpkg-split(1)

NAME
       dpkg-split - Debian package archive split/join tool

SYNOPSIS
       dpkg-split [option...] command

DESCRIPTION
       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
       options.

       It also has an automatic mode, invoked using the --auto option, where it
       maintains a queue of parts seen but not yet reassembled and reassembles
       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
       messages on standard output; these may safely be ignored.

COMMANDS
       -s, --split complete-archive [prefix]
           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 decimal).

           If no prefix is  supplied  then  the  complete-archive  filename  is
           taken, including directory, with any trailing .deb removed.

       -j, --join part...
           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 --split.

           The parts' filenames are not significant for the reassembly process.

           By default the output file is called package_version_arch.deb.

       -I, --info part...
           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 output).

       -a, --auto -o complete-output part
           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 complete-
           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-output 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.)

       -l, --listq
           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.

       -d, --discard [package...]
           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) are
           deleted.

       -?, --help
           Show the usage message and exit.

       --version
           Show the version and exit.

OPTIONS
       --depotdir directory
           Specifies an alternative directory for the queue of  parts  awaiting
           automatic reassembly.  The default is /var/lib/dpkg/parts.

       --admindir directory
           Set  the administrative directory to directory (since dpkg 1.21.10).
           This  is  where  the  statoverride  file  is  stored.   Defaults  to
           «/var/lib/dpkg» if DPKG_ADMINDIR has not been set.

       --root directory
           Set the root directory to directory (since dpkg 1.21.10), which sets
           the  installation  directory  to  «directory» and the administrative
           directory to «directory/var/lib/dpkg» if DPKG_ROOT has not been set.

       -S, --partsize kibibytes
           Specifies the maximum part size when splitting, in  kibibytes  (1024
           bytes).  The default is 450 KiB.

       -o, --output complete-output
           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).

       -Q, --npquiet
           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 programs such as dpkg
           to cope with both  split  and  unsplit  packages  without  producing
           spurious messages.

       --msdos
           Forces  the  output  filenames  generated  by  --split  to be MSDOS-
           compatible.

           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 x's and all other  characters
           are discarded.

           The  result is then truncated as much as is necessary, and filenames
           of the form prefixNofM.deb are generated.

EXIT STATUS
       0   The requested split, merge,  or  other  command  succeeded.   --info
           commands  count  as  successful  even  if  the  files are not binary
           package parts.

       1   Only occurs with --auto and indicates that the part file was  not  a
           binary package part.

       2   Fatal  or  unrecoverable  error due to invalid command-line usage, a
           file that looked like a package part  file  but  was  corrupted,  or
           interactions  with  the  system,  such  as accesses to the database,
           memory allocations, etc.

ENVIRONMENT
       DPKG_ROOT
           If set and --root option has not been specified, it will be used  as
           the filesystem root directory (since dpkg 1.21.10).

       DPKG_ADMINDIR
           If set and the --admindir or --root options have not been specified,
           it will be used as the dpkg data directory (since dpkg 1.21.10).

       DPKG_DEBUG
           Sets  the  debug mask (since dpkg 1.21.10) from an octal value.  The
           currently accepted flags are described in the dpkg  --debug  option,
           but not all these flags might have an effect on this program.

       DPKG_COLORS
           Sets  the  color  mode  (since dpkg 1.18.5).  The currently accepted
           values are: auto (default), always and never.

       DPKG_NLS
           If set, it will  be  used  to  decide  whether  to  activate  Native
           Language  Support,  also  known  as  internationalization  (or i18n)
           support (since dpkg 1.22.7).  The  accepted  values  are:  0  and  1
           (default).

       SOURCE_DATE_EPOCH
           If  set,  it  will  be  used  as the timestamp (as seconds since the
           epoch) in the deb-split(5)'s ar(5) container.

           Since dpkg 1.18.11.

FILES
       /var/lib/dpkg/parts
           The default  queue  directory  for  part  files  awaiting  automatic
           reassembly.

           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.

SECURITY
       Examining   or  joining  untrusted  split  package  archives  should  be
       considered a security  boundary,  and  any  breakage  of  that  boundary
       stemming   from   these  operations  should  be  considered  a  security
       vulnerability.  Performing these operations over untrusted data as  root
       is strongly discouraged.

       Auto-accumulating  and  discarding  split  package  parts are considered
       privileged  operations  that  might  allow   root   escalation.    These
       operations  must  never  be delegated to an untrusted user or be done on
       untrusted packages, as that might allow root access to the system.

       Splitting package archives should only be performed over trusted data.

BUGS
       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 package
       part is one.

SEE ALSO
       deb(5), deb-control(5), dpkg-deb(1), dpkg(1).

1.22.21                            2025-06-30                     dpkg-split(1)

Generated by dwww version 1.16 on Tue Dec 16 04:52:48 CET 2025.