Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
dpkg-deb(1)			   dpkg suite			     dpkg-deb(1)

NAME
     dpkg-deb - Debian package archive (.deb) manipulation tool

SYNOPSIS
     dpkg-deb [option...] command

DESCRIPTION
     dpkg-deb packs, unpacks and provides information about Debian archives.

     Use dpkg to install and remove packages from your system.

     You can also invoke dpkg-deb by calling dpkg with whatever options you want
     to pass to dpkg-deb. dpkg will spot that you wanted dpkg-deb and run it for
     you.

     For most commands taking an input archive argument, the archive can be read
     from  standard input if the archive name is given as a single minus charac-
     ter (<<->>); otherwise lack of support will be documented in their  respec-
     tive command description.

COMMANDS
     -b, --build binary-directory [archive|directory]
	    Creates  a debian archive from the filesystem tree stored in binary-
	    directory. binary-directory must have a DEBIAN  subdirectory,  which
	    contains  the control information files such as the control file it-
	    self. This	directory  will  not  appear  in  the  binary  package's
	    filesystem	archive,  but instead the files in it will be put in the
	    binary package's control information area.

	    Unless you specify --nocheck, dpkg-deb will read DEBIAN/control  and
	    parse  it.	It will check the file for syntax errors and other prob-
	    lems, and display the  name  of  the  binary  package  being  built.
	    dpkg-deb  will  also check the permissions of the maintainer scripts
	    and other files found in the DEBIAN control information directory.

	    If no archive is specified then dpkg-deb will write the package into
	    the file binary-directory.deb.

	    If the archive to be created already exists it will be overwritten.

	    If the second argument is a directory then dpkg-deb  will  write  to
	    the  file  directory/package_version_arch.deb.  When a target direc-
	    tory is specified, rather than a file, the --nocheck option may  not
	    be	used (since dpkg-deb needs to read and parse the package control
	    file to determine which filename to use).

     -I, --info archive [control-file-name...]
	    Provides information about a binary package archive.

	    If no control-file-names are specified then it will print a  summary
	    of the contents of the package as well as its control file.

	    If	any  control-file-names  are  specified then dpkg-deb will print
	    them in the order they were specified;  if	any  of  the  components
	    weren't  present it will print an error message to stderr about each
	    one and exit with status 2.

     -W, --show archive
	    Provides information about a binary package archive  in  the  format
	    specified  by the --showformat argument. The default format displays
	    the package's name and version on one line, separated by  a  tabula-
	    tor.

     -f, --field archive [control-field-name...]
	    Extracts control file information from a binary package archive.

	    If no control-field-names are specified then it will print the whole
	    control file.

	    If any are specified then dpkg-deb will print their contents, in the
	    order  in  which  they  appear in the control file. If more than one
	    control-field-name is specified then dpkg-deb will precede each with
	    its field name (and a colon and space).

	    No errors are reported for fields requested but not found.

     -c, --contents archive
	    Lists the contents of the filesystem tree  archive	portion  of  the
	    package archive. It is currently produced in the format generated by
	    tar's verbose listing.

     -x, --extract archive directory
	    Extracts  the filesystem tree from a package archive into the speci-
	    fied directory.

	    Note that extracting a package to the root directory will not result
	    in a correct installation! Use dpkg to install packages.

	    directory (but not its parents) will be created  if  necessary,  and
	    its permissions modified to match the contents of the package.

     -X, --vextract archive directory
	    Is like --extract (-x) with --verbose (-v) which prints a listing of
	    the files extracted as it goes.

     -R, --raw-extract archive directory
	    Extracts the filesystem tree from a package archive into a specified
	    directory, and the control information files into a DEBIAN subdirec-
	    tory of the specified directory (since dpkg 1.16.1).

	    The target directory (but not its parents) will be created if neces-
	    sary.

	    The  input	archive  is  not  (currently) processed sequentially, so
	    reading it from standard input (<<->>) is not supported.

     --ctrl-tarfile archive
	    Extracts the control data from a binary  package  and  sends  it  to
	    standard  output  in  tar format (since dpkg 1.17.14). Together with
	    tar(1) this can be used to extract a particular control file from  a
	    package archive.  The input archive will always be processed sequen-
	    tially.

     --fsys-tarfile archive
	    Extracts the filesystem tree data from a binary package and sends it
	    to	standard  output in tar format. Together with tar(1) this can be
	    used to extract a particular file from a package archive.  The input
	    archive will always be processed sequentially.

     -e, --control archive [directory]
	    Extracts the control information files from a package  archive  into
	    the specified directory.

	    If	no directory is specified then a subdirectory DEBIAN in the cur-
	    rent directory is used.

	    The target directory (but not its parents) will be created if neces-
	    sary.

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

     --version
	    Show the version and exit.

OPTIONS
     --showformat=format
	    This option is used to specify the format of the output --show  will
	    produce. The format is a string that will be output for each package
	    listed.

	    The  string may reference any status field using the "${field-name}"
	    form, a list of the valid fields can be easily produced using -I  on
	    the  same  package. A complete explanation of the formatting options
	    (including escape sequences and field tabbing) can be found  in  the
	    explanation of the --showformat option in dpkg-query(1).

	    The default for this field is "${Package}\t${Version}\n".

     -zcompress-level
	    Specify  which  compression  level to use on the compressor backend,
	    when building a package (default is 9 for gzip, 6 for xz).	The  ac-
	    cepted  values  are  0-9 with: 0 being mapped to compressor none for
	    gzip.  Before dpkg 1.16.2 level 0 was equivalent to compressor  none
	    for all compressors.

     -Scompress-strategy
	    Specify which compression strategy to use on the compressor backend,
	    when building a package (since dpkg 1.16.2). Allowed values are none
	    (since  dpkg  1.16.4),  filtered,  huffman,  rle  and fixed for gzip
	    (since dpkg 1.17.0) and extreme for xz.

     -Zcompress-type
	    Specify which compression type to use when building a package.   Al-
	    lowed  values are gzip, xz (since dpkg 1.15.6), and none (default is
	    xz).

     --[no-]uniform-compression
	    Specify that the same compression parameters should be used for  all
	    archive  members (i.e. control.tar and data.tar; since dpkg 1.17.6).
	    Otherwise only the data.tar member will use  those	parameters.  The
	    only  supported  compression  types allowed to be uniformly used are
	    none, gzip and xz.	 The  --no-uniform-compression	option	disables
	    uniform compression (since dpkg 1.19.0).  Uniform compression is the
	    default (since dpkg 1.19.0).

     --root-owner-group
	    Set  the  owner and group for each entry in the filesystem tree data
	    to root with id 0 (since dpkg 1.19.0).

	    Note: This option can be  useful  for  rootless  builds  (see  root-
	    less-builds.txt),  but  should  not be used when the entries have an
	    owner or group that is not root.  Support for these  will  be  added
	    later in the form of a meta manifest.

     --deb-format=format
	    Set  the  archive  format  version	used  when  building (since dpkg
	    1.17.0).  Allowed values are 2.0 for the new  format,  and	0.939000
	    for the old one (default is 2.0).

	    The old archive format is less easily parsed by non-Debian tools and
	    is now obsolete; its only use is when building packages to be parsed
	    by	versions  of dpkg older than 0.93.76 (September 1995), which was
	    released as i386 a.out only.

     --nocheck
	    Inhibits dpkg-deb --build's usual checks on the proposed contents of
	    an archive. You can build any archive you want, no matter  how  bro-
	    ken, this way.

     -v, --verbose
	    Enables verbose output (since dpkg 1.16.1).  This currently only af-
	    fects --extract making it behave like --vextract.

     -D, --debug
	    Enables debugging output. This is not very interesting.

EXIT STATUS
     0	    The requested action was successfully performed.

     2	    Fatal  or  unrecoverable error due to invalid command-line usage, or
	    interactions with the system, such as accesses to the database, mem-
	    ory allocations, etc.

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

     TMPDIR
	    If	set,  dpkg-deb	will  use it as the directory in which to create
	    temporary files and directories.

     SOURCE_DATE_EPOCH
	    If set, it will be used as	the  timestamp	(as  seconds  since  the
	    epoch)  in	the deb(5)'s ar(5) container and used to clamp the mtime
	    in the tar(5) file entries.

NOTES
     Do not attempt to use just dpkg-deb to install software! You must use  dpkg
     proper  to ensure that all the files are correctly placed and the package's
     scripts run and its status and contents recorded.

BUGS
     dpkg-deb -I package1.deb package2.deb does the wrong thing.

     There is no authentication on .deb files;	in  fact,  there  isn't  even  a
     straightforward  checksum.   (Higher level tools like APT support authenti-
     cating .deb packages retrieved from a given repository, and  most	packages
     nowadays  provide	an md5sum control file generated by debian/rules. Though
     this is not directly supported by the lower level tools.)

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

1.19.8				   2022-05-24			     dpkg-deb(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dpkg-deb&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help