fbpx
Wikipedia

deb (file format)

deb is the format, as well as filename extension of the software package format for the Debian Linux distribution and its derivatives.

Debian package
The GNOME icon for deb files.
(Showing the Debian logo on a package)
Filename extension
.deb, .udeb
Internet media type
application/vnd.debian.binary-package[1]
Developed byDebian
Type of formatPackage management system
Container forSoftware package
Extended fromar archive, tarball
Websitedeb format specification

Design edit

 
GDebi installing a .deb package

Debian packages are standard Unix ar archives that include two tar archives. One archive holds the control information and another contains the installable data.[2]

dpkg provides the basic functionality for installing and manipulating Debian packages. Generally end users don't manage packages directly with dpkg but instead use the APT package management software or other APT front-ends such as aptitude (nCurses) and synaptic (GTK).[3]

Debian packages can be converted into other package formats and vice versa using alien, and created from source code using checkinstall or the Debian Package Maker.[4]

Some core Debian packages are available as udebs ("micro debs"), and are typically used only for bootstrapping a Debian installation. Although these files use the udeb filename extension, they adhere to the same structure specification as ordinary deb files. However, unlike their deb counterparts, udeb packages contain only essential functional files.[5] In particular, documentation files are normally omitted. udeb packages are not installable on a standard Debian system, but are used in Debian-Installer.

Implementation edit

 
Diagram showing an example file structure of a .deb file
 
Frhed hex editor displaying the raw data of a Debian package.

Prior to Debian 0.93, a package consisted of a file header and two concatenated gzip archives.[6] Since Debian 0.93, a deb package is implemented as an ar archive.[7] This archive contains three files in a specific order:[8][9]

  1. debian-binary - A text file named debian-binary containing a single line giving the package format version number. (2.0 for current versions of Debian).[9]
  2. control archive - A tar archive named control.tar contains the maintainer scripts and the package meta-information (package name, version, dependencies and maintainer). Compressing the archive with gzip or xz and zstd is supported. The file extension changes to indicate the compression method.[9][2]
  3. data archive - A tar archive named data.tar contains the actual installable files. Compressing the archive with gzip, bzip2, lzma or xz and zstd is supported. The file extension changes to indicate the compression method.[9][2]

Control archive edit

The control archive contents can include the following files:

  • control contains a brief description of the package as well as other information such as its dependencies.[10][11][12][13]
  • md5sums contains MD5 checksums of all files in the package in order to detect corrupt or incomplete files.[14]
  • conffiles lists the files of the package that should be treated as configuration files. Configuration files are not overwritten during an update unless specified.[15]
  • preinst, postinst, prerm and postrm are optional scripts that are executed before or after installing or removing the package.[15][16]
  • config is an optional script that supports the debconf configuration mechanism.[17]
  • shlibs list of shared library dependencies.[18][19]

Signed packages edit

Debian-based distributions support OpenPGP signature verification of signed Debian packages, but most (if not all) have this feature disabled by default.[20] Instead packages are verified by signing the repository metadata (i.e. Release files). The metadata files in turn include checksums for the repository files as a means to verify authenticity of the files.[21][22] Currently there are two different implementations for signing individual packages. The first is done via the debsigs / debsig-verify toolset, which is supported by dpkg.[20][23] The second is done through the dpkg-sig program which is not supported by dpkg, so the packages have to be manually checked with the dpkg-sig program.[20][24][25][26] Both formats add new sections to the ar archive to store the signature information, but the formats are not compatible with one another.[20] Neither of the modifications to the package format are listed in the official Debian handbook or man page about the binary package format.[27][8]

Adoption edit

See also edit

References edit

  1. ^ "Media Type Registration for vnd.debian.binary-package". Internet Assigned Numbers Authority. Retrieved 21 May 2014.
  2. ^ a b c Raphaël Hertzog (17 Sep 2010). "How to create Debian packages with alternative compression methods". raphaelhertzog.com. Retrieved 26 Aug 2016.
  3. ^ "Debian Courses/Maintaining Packages/Packages Management". debian.org. 31 Oct 2010. Retrieved 26 Aug 2016.
  4. ^ "Overview of Debian Maintainer Tools / Alien". debian.org. n.d. Retrieved 26 Aug 2016.
  5. ^ . debian.org. n.d. Archived from the original on 3 December 2011. Retrieved 26 Aug 2016.
  6. ^ "deb-old(5) man page: Debian old binary package format". manpages.debian.org. Retrieved 2017-04-23.
  7. ^ Lucas Nussbaum (16 Oct 2014). "Debian Packaging Tutorial" (PDF). debian.org. Retrieved 26 Aug 2016.
  8. ^ a b "deb(5) man page: Debian binary package format". manpages.debian.org. Retrieved 2017-04-23.
  9. ^ a b c d "Debian Binary Package Building HOWTO/3. Package Structure". tldp.org. n.d. Retrieved 26 Aug 2016.
  10. ^ "deb-control(5) man page: Debian packages' master control file format". manpages.debian.org. Retrieved 2017-04-23.
  11. ^ "Debian Policy Manual Chapter 5 - Control files and their fields". debian.org. 30 Mar 2016. Retrieved 26 Aug 2016.
  12. ^ Josip Rodin and Osamu Aoki (9 Jun 2015). "Debian New Maintainers' Guide - Ch4 Required files under the debian directory". debian.org. Retrieved 26 Aug 2016.
  13. ^ "Debian Policy Manual Ch7 - Declaring relationships between packages". debian.org. 30 Mar 2016. Retrieved 26 Aug 2016.
  14. ^ "The Debian Administrator's Handbook - Package Meta-Information". debian-handbook.info. n.d. Retrieved 26 Aug 2016.
  15. ^ a b "Chapter 7. Basics of the Debian package management system". debian.org. 12 August 2019. Retrieved 27 May 2021.
  16. ^ "Debian Maintainer Scripts". debian.org. 11 Oct 2012. Retrieved 26 Aug 2016.
  17. ^ Joey Hess (n.d.). "The Debconf Programmer's Tutorial - The Config Script". fifi.org. Retrieved 26 Aug 2016.
  18. ^ "dpkg-shlibdeps(1) man page". manpages.debian.org. Retrieved 2017-04-23.
  19. ^ "Debian Policy - 8.6 Dependencies between the library and other packages". debian.org. 30 Mar 2016. Retrieved 26 Aug 2016.
  20. ^ a b c d Joe Damato (28 Oct 2014). "HOWTO: GPG sign and verify deb packages and APT repositories". packagecloud.io. Retrieved 26 Aug 2016.
  21. ^ "APT repository internals". packagecloud.io. 4 Aug 2015. Retrieved 26 Aug 2016.
  22. ^ "SecureApt - All about secure apt". debian.org. 22 Sep 2015. Retrieved 26 Aug 2016.
  23. ^ "debsig-verify(1) man page". manpages.debian.org. Retrieved 2017-04-23.
  24. ^ "debsigs(1) man page". manpages.debian.org. Retrieved 2017-04-23.
  25. ^ Andreas Barth (29 Dec 2003). . turmzimmer.net. Archived from the original on 2006-02-22. Retrieved 29 Dec 2003.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  26. ^ . turmzimmer.net. 1 Feb 2004. Archived from the original on 2006-07-14. Retrieved 1 Feb 2004.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  27. ^ "The Debian Administrator's Handbook - Ch5. Packaging System: Tools and Fundamental Principles". debian.org. n.d. Retrieved 26 Aug 2016.
  28. ^ "Fink FAQ - General Questions". finkproject.org. 6 Jun 2015. Retrieved 26 Aug 2016.
  29. ^ "Fink FAQ - Installing, Using and Maintaining Fink". finkproject.org. 6 Jun 2015. Retrieved 26 Aug 2016.
  30. ^ Jay Freeman (n.d.). "Bringing Debian APT to the iPhone". saurik.com. Retrieved 26 Aug 2016.
  31. ^ Erica Sadun (28 Feb 2008). "Debian-style installation arrives on iPhone". engadget.com. Retrieved 26 Aug 2016.

External links edit

  • Debian FAQ: Basics of the Debian package management system
  • Debreate - A powerful Debian Package Builder
  • .deb feature support
  • Anatomy of a Debian package video

file, format, format, well, filename, extension, software, package, format, debian, linux, distribution, derivatives, debian, packagethe, gnome, icon, files, showing, debian, logo, package, filename, extension, udebinternet, media, typeapplication, debian, bin. deb is the format as well as filename extension of the software package format for the Debian Linux distribution and its derivatives Debian packageThe GNOME icon for deb files Showing the Debian logo on a package Filename extension deb udebInternet media typeapplication vnd debian binary package 1 Developed byDebianType of formatPackage management systemContainer forSoftware packageExtended fromar archive tarballWebsitedeb format specification Contents 1 Design 2 Implementation 2 1 Control archive 2 2 Signed packages 3 Adoption 4 See also 5 References 6 External linksDesign edit nbsp GDebi installing a deb packageDebian packages are standard Unix ar archives that include two tar archives One archive holds the control information and another contains the installable data 2 dpkg provides the basic functionality for installing and manipulating Debian packages Generally end users don t manage packages directly with dpkg but instead use the APT package management software or other APT front ends such as aptitude nCurses and synaptic GTK 3 Debian packages can be converted into other package formats and vice versa using alien and created from source code using checkinstall or the Debian Package Maker 4 Some core Debian packages are available as udebs micro debs and are typically used only for bootstrapping a Debian installation Although these files use the udeb filename extension they adhere to the same structure specification as ordinary deb files However unlike their deb counterparts udeb packages contain only essential functional files 5 In particular documentation files are normally omitted udeb packages are not installable on a standard Debian system but are used in Debian Installer Implementation edit nbsp Diagram showing an example file structure of a deb file nbsp Frhed hex editor displaying the raw data of a Debian package Prior to Debian 0 93 a package consisted of a file header and two concatenated gzip archives 6 Since Debian 0 93 a deb package is implemented as an ar archive 7 This archive contains three files in a specific order 8 9 debian binary A text file named debian binary containing a single line giving the package format version number 2 0 for current versions of Debian 9 control archive A tar archive named control tar contains the maintainer scripts and the package meta information package name version dependencies and maintainer Compressing the archive with gzip or xz and zstd is supported The file extension changes to indicate the compression method 9 2 data archive A tar archive named data tar contains the actual installable files Compressing the archive with gzip bzip2 lzma or xz and zstd is supported The file extension changes to indicate the compression method 9 2 Control archive edit The control archive contents can include the following files control contains a brief description of the package as well as other information such as its dependencies 10 11 12 13 md5sums contains MD5 checksums of all files in the package in order to detect corrupt or incomplete files 14 conffiles lists the files of the package that should be treated as configuration files Configuration files are not overwritten during an update unless specified 15 preinst postinst prerm and postrm are optional scripts that are executed before or after installing or removing the package 15 16 config is an optional script that supports the debconf configuration mechanism 17 shlibs list of shared library dependencies 18 19 Signed packages edit Debian based distributions support OpenPGP signature verification of signed Debian packages but most if not all have this feature disabled by default 20 Instead packages are verified by signing the repository metadata i e Release files The metadata files in turn include checksums for the repository files as a means to verify authenticity of the files 21 22 Currently there are two different implementations for signing individual packages The first is done via the debsigs debsig verify toolset which is supported by dpkg 20 23 The second is done through the dpkg sig program which is not supported by dpkg so the packages have to be manually checked with the dpkg sig program 20 24 25 26 Both formats add new sections to the ar archive to store the signature information but the formats are not compatible with one another 20 Neither of the modifications to the package format are listed in the official Debian handbook or man page about the binary package format 27 8 Adoption editDebian packages are used in distributions based on Debian such as Ubuntu and many others Fink a port of dpkg and APT to macOS uses deb packages 28 29 Nexenta OS a discontinued OS based on OpenSolaris included Debian package management software and the use of deb packages Debian GNU kFreeBSD an OS that uses a GNU based userland and the FreeBSD kernel Debian GNU Hurd Some jailbroken iOS devices iPhones iPads and iPods 30 31 Ipkg and Opkg which both use ipk packages that resemble Debian s dpkgTermux which is a GNU environment for Android See also editList of archive formats dpkg wpkg CheckInstall List of software package management systemsReferences edit Media Type Registration for vnd debian binary package Internet Assigned Numbers Authority Retrieved 21 May 2014 a b c Raphael Hertzog 17 Sep 2010 How to create Debian packages with alternative compression methods raphaelhertzog com Retrieved 26 Aug 2016 Debian Courses Maintaining Packages Packages Management debian org 31 Oct 2010 Retrieved 26 Aug 2016 Overview of Debian Maintainer Tools Alien debian org n d Retrieved 26 Aug 2016 Chapter 3 D I components or udebs debian org n d Archived from the original on 3 December 2011 Retrieved 26 Aug 2016 deb old 5 man page Debian old binary package format manpages debian org Retrieved 2017 04 23 Lucas Nussbaum 16 Oct 2014 Debian Packaging Tutorial PDF debian org Retrieved 26 Aug 2016 a b deb 5 man page Debian binary package format manpages debian org Retrieved 2017 04 23 a b c d Debian Binary Package Building HOWTO 3 Package Structure tldp org n d Retrieved 26 Aug 2016 deb control 5 man page Debian packages master control file format manpages debian org Retrieved 2017 04 23 Debian Policy Manual Chapter 5 Control files and their fields debian org 30 Mar 2016 Retrieved 26 Aug 2016 Josip Rodin and Osamu Aoki 9 Jun 2015 Debian New Maintainers Guide Ch4 Required files under the debian directory debian org Retrieved 26 Aug 2016 Debian Policy Manual Ch7 Declaring relationships between packages debian org 30 Mar 2016 Retrieved 26 Aug 2016 The Debian Administrator s Handbook Package Meta Information debian handbook info n d Retrieved 26 Aug 2016 a b Chapter 7 Basics of the Debian package management system debian org 12 August 2019 Retrieved 27 May 2021 Debian Maintainer Scripts debian org 11 Oct 2012 Retrieved 26 Aug 2016 Joey Hess n d The Debconf Programmer s Tutorial The Config Script fifi org Retrieved 26 Aug 2016 dpkg shlibdeps 1 man page manpages debian org Retrieved 2017 04 23 Debian Policy 8 6 Dependencies between the library and other packages debian org 30 Mar 2016 Retrieved 26 Aug 2016 a b c d Joe Damato 28 Oct 2014 HOWTO GPG sign and verify deb packages and APT repositories packagecloud io Retrieved 26 Aug 2016 APT repository internals packagecloud io 4 Aug 2015 Retrieved 26 Aug 2016 SecureApt All about secure apt debian org 22 Sep 2015 Retrieved 26 Aug 2016 debsig verify 1 man page manpages debian org Retrieved 2017 04 23 debsigs 1 man page manpages debian org Retrieved 2017 04 23 Andreas Barth 29 Dec 2003 Integrating signatures into Debian archive files turmzimmer net Archived from the original on 2006 02 22 Retrieved 29 Dec 2003 a href Template Cite web html title Template Cite web cite web a CS1 maint bot original URL status unknown link policy for debsigs turmzimmer net 1 Feb 2004 Archived from the original on 2006 07 14 Retrieved 1 Feb 2004 a href Template Cite web html title Template Cite web cite web a CS1 maint bot original URL status unknown link The Debian Administrator s Handbook Ch5 Packaging System Tools and Fundamental Principles debian org n d Retrieved 26 Aug 2016 Fink FAQ General Questions finkproject org 6 Jun 2015 Retrieved 26 Aug 2016 Fink FAQ Installing Using and Maintaining Fink finkproject org 6 Jun 2015 Retrieved 26 Aug 2016 Jay Freeman n d Bringing Debian APT to the iPhone saurik com Retrieved 26 Aug 2016 Erica Sadun 28 Feb 2008 Debian style installation arrives on iPhone engadget com Retrieved 26 Aug 2016 External links editDebian FAQ Basics of the Debian package management system Debreate A powerful Debian Package Builder deb feature support Manipulating debs directly with standard utilities Anatomy of a Debian package video Retrieved from https en wikipedia org w index php title Deb file format amp oldid 1143809923, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.