Provided by: dpkg_1.22.6ubuntu6.1_amd64 bug

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.

       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.6                                             2024-07-17                                      dpkg-split(1)