diff options
Diffstat (limited to 'man/deb.pod')
-rw-r--r-- | man/deb.pod | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/man/deb.pod b/man/deb.pod new file mode 100644 index 0000000..812b2bc --- /dev/null +++ b/man/deb.pod @@ -0,0 +1,160 @@ +# dpkg manual page - deb(5) +# +# Copyright © 1995 Raul Miller +# Copyright © 1996 Ian Jackson <ijackson@chiark.greenend.org.uk> +# Copyright © 2000 Wichert Akkerman <wakkerma@debian.org> +# Copyright © 2006-2017 Guillem Jover <guillem@debian.org> +# +# This is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +=encoding utf8 + +=head1 NAME + +deb - Debian binary package format + +=head1 SYNOPSIS + +I<filename>B<.deb> + +=head1 DESCRIPTION + +The +B<.deb> +format is the Debian binary package file format. It is understood +since dpkg 0.93.76, and is generated by default since dpkg 1.2.0 and +1.1.1elf (i386/ELF builds). + +The format described here is used since Debian 0.93; details of the +old format are described in +B<deb-old>(5). + +=head1 FORMAT + +The file is an +B<ar> +archive with a magic value of +B<!E<lt>archE<gt>>. +Only the common B<ar> archive format is supported, with no long file +name extensions, but with file names containing an optional trailing +slash, which limits their length to 15 characters (from the 16 allowed). +File sizes are limited to 10 ASCII decimal digits, allowing for up to +approximately 9536.74 MiB member files. + +The B<tar> archives currently allowed are, the old-style (v7) format, +the pre-POSIX ustar format, a subset of the GNU format (new style long +pathnames and long linknames, supported since dpkg 1.4.1.17; large file +metadata since dpkg 1.18.24), +and the POSIX ustar format (long names supported since dpkg 1.15.0). +Unrecognized tar typeflags are considered an error. +Each tar entry size inside a tar archive is limited to 11 ASCII octal +digits, allowing for up to 8 GiB tar entries. +The GNU large file metadata support permits 95-bit tar entry sizes and +negative timestamps, and 63-bit UID, GID and device numbers. + +The first member is named +B<debian-binary> +and contains a series of lines, separated by newlines. Currently only +one line is present, the format version number, +B<2.0> +at the time this manual page was written. +Programs which read new-format archives should be prepared for the +minor number to be increased and new lines to be present, and should +ignore these if this is the case. + +If the major number has changed, an incompatible change has been made +and the program should stop. If it has not, then the program should +be able to safely continue, unless it encounters an unexpected member +in the archive (except at the end), as described below. + +The second required member is named +B<control.tar>. +It is a tar archive containing the package control information, either +not compressed (supported since dpkg 1.17.6), or compressed with +gzip (with B<.gz> extension) or +xz (with B<.xz> extension, supported since 1.17.6), +zstd (with B<.zst> extension, supported since dpkg 1.21.18), +as a series of plain files, of which the file +B<control> +is mandatory and contains the core control information, the +B<md5sums>, +B<conffiles>, B<triggers>, B<shlibs> +and +B<symbols> +files contain optional control information, and the +B<preinst>, B<postinst>, B<prerm> +and +B<postrm> +files are optional maintainer scripts. +The control tarball may optionally contain an entry for +‘B<.>’, +the current directory. + +The third, last required member is named +B<data.tar>. +It contains the filesystem as a tar archive, either +not compressed (supported since dpkg 1.10.24), or compressed with +gzip (with B<.gz> extension), +xz (with B<.xz> extension, supported since dpkg 1.15.6), +zstd (with B<.zst> extension, supported since dpkg 1.21.18), +bzip2 (with B<.bz2> extension, supported since dpkg 1.10.24) or +lzma (with B<.lzma> extension, supported since dpkg 1.13.25). + +These members must occur in this exact order. Current implementations +should ignore any additional members after +B<data.tar>. +Further members may be defined in the future, and (if possible) will be +placed after these three. Any additional members that may need to be +inserted after +B<debian-binary> +and before +B<control.tar> +or +B<data.tar> +and which should be safely ignored by older programs, will have names +starting with an underscore, +‘B<_>’. + +Those new members which won't be able to be safely ignored will be +inserted before +B<data.tar> +with names starting with something other than underscores, or will +(more likely) cause the major version number to be increased. + +=head1 MEDIA TYPE + +=head2 Current + +application/vnd.debian.binary-package + +=head2 Deprecated + +application/x-debian-package + +application/x-deb + +=head1 SEE ALSO + +B<deb-old>(5), +B<dpkg-deb>(1), +B<deb-control>(5), +B<deb-conffiles>(5), +B<deb-md5sums>(5), +B<deb-triggers>(5), +B<deb-shlibs>(5), +B<deb-symbols>(5), +B<deb-preinst>(5), +B<deb-postinst>(5), +B<deb-prerm>(5), +B<deb-postrm>(5). |