Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

deb (file format)

From Wikipedia, the free encyclopedia
Debian software package format
Debian package
TheGNOME icon for deb files
(showing theDebian 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

deb is the format, as well asfilename extension of thesoftware package format for theDebianLinux distribution andits derivatives.

Design

[edit]
GDebi installing a .deb package

Debian packages are standardUnixar archives that include twotar 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 withdpkg but instead use theAPT package management software or otherAPT front-ends such asaptitude (nCurses) andsynaptic (GTK).[3]

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

Some core Debian packages are available asudebs ("micro debs"), and are typically used only for bootstrapping a Debian installation. Although these files use theudeb filename extension, they adhere to the same structure specification as ordinarydeb files. However, unlike theirdeb 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 inDebian-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 concatenatedgzip archives.[6] Since Debian 0.93, a deb package is implemented as anar archive.[7] This archive contains three files in a specific order:[8][9]

  1. debian-binary - A text file nameddebian-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 namedcontrol.tar contains the maintainer scripts and the package meta-information (package name, version, dependencies and maintainer). Compressing the archive withgzip orxz andzstd is supported. The file extension changes to indicate the compression method.[9][2]
  3. data archive - A tar archive nameddata.tar contains the actual installable files. Compressing the archive withgzip,bzip2,lzma orxz andzstd 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 containsMD5checksums 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 andpostrm are optional scripts that are executed before or after installing or removing the package.[15][16]
  • config is an optional script that supports thedebconf configuration mechanism.[17]
  • shlibs list of shared library dependencies.[18][19]

Signed packages

[edit]

Debian-based distributions supportOpenPGP 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 thedebsigs /debsig-verify toolset, which is supported bydpkg.[20][23] The second is done through thedpkg-sig program which is not supported bydpkg, so the packages have to be manually checked with thedpkg-sig program.[20][24][25][26] Both formats add new sections to thear 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 orman 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. Retrieved21 May 2014.
  2. ^abcRaphaël Hertzog (17 Sep 2010)."How to create Debian packages with alternative compression methods".raphaelhertzog.com. Retrieved26 Aug 2016.
  3. ^"Debian Courses/Maintaining Packages/Packages Management".debian.org. 31 Oct 2010. Retrieved26 Aug 2016.
  4. ^"Overview of Debian Maintainer Tools / Alien".debian.org. n.d. Retrieved26 Aug 2016.
  5. ^"Chapter 3. D-I components or udebs".debian.org. n.d. Archived fromthe original on 3 December 2011. Retrieved26 Aug 2016.
  6. ^"deb-old(5) man page: Debian old binary package format".manpages.debian.org. Retrieved2017-04-23.
  7. ^Lucas Nussbaum (16 Oct 2014)."Debian Packaging Tutorial"(PDF).debian.org. Retrieved26 Aug 2016.
  8. ^ab"deb(5) man page: Debian binary package format".manpages.debian.org. Retrieved2017-04-23.
  9. ^abcd"Debian Binary Package Building HOWTO/3. Package Structure".tldp.org. n.d. Retrieved26 Aug 2016.
  10. ^"deb-control(5) man page: Debian packages' master control file format".manpages.debian.org. Retrieved2017-04-23.
  11. ^"Debian Policy Manual Chapter 5 - Control files and their fields".debian.org. 30 Mar 2016. Retrieved26 Aug 2016.
  12. ^Josip Rodin and Osamu Aoki (9 Jun 2015)."Debian New Maintainers' Guide - Ch4 Required files under the debian directory".debian.org. Retrieved26 Aug 2016.
  13. ^"Debian Policy Manual Ch7 - Declaring relationships between packages".debian.org. 30 Mar 2016. Retrieved26 Aug 2016.
  14. ^"The Debian Administrator's Handbook - Package Meta-Information".debian-handbook.info. n.d. Retrieved26 Aug 2016.
  15. ^ab"Chapter 7. Basics of the Debian package management system".debian.org. 12 August 2019. Retrieved27 May 2021.
  16. ^"Debian Maintainer Scripts".debian.org. 11 Oct 2012. Retrieved26 Aug 2016.
  17. ^Joey Hess (n.d.)."The Debconf Programmer's Tutorial - The Config Script".fifi.org. Retrieved26 Aug 2016.
  18. ^"dpkg-shlibdeps(1) man page".manpages.debian.org. Retrieved2017-04-23.
  19. ^"Debian Policy - 8.6 Dependencies between the library and other packages".debian.org. 30 Mar 2016. Retrieved26 Aug 2016.
  20. ^abcdJoe Damato (28 Oct 2014)."HOWTO: GPG sign and verify deb packages and APT repositories".packagecloud.io. Retrieved26 Aug 2016.
  21. ^"APT repository internals".packagecloud.io. 4 Aug 2015. Retrieved26 Aug 2016.
  22. ^"SecureApt - All about secure apt".debian.org. 22 Sep 2015. Retrieved26 Aug 2016.
  23. ^"debsig-verify(1) man page".manpages.debian.org. Retrieved2017-04-23.
  24. ^"debsigs(1) man page".manpages.debian.org. Retrieved2017-04-23.
  25. ^Andreas Barth (29 Dec 2003)."Integrating signatures into Debian archive files".turmzimmer.net. Archived from the original on 2006-02-22. Retrieved29 Dec 2003.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  26. ^"policy for debsigs".turmzimmer.net. 1 Feb 2004. Archived from the original on 2006-07-14. Retrieved1 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. Retrieved26 Aug 2016.
  28. ^Kumar, Sarvottam (2020-07-03)."Linux Mint 20 "Ulyana" Review: The Most Complete OS For Everyone".Fossbytes.Archived from the original on 2024-05-15. Retrieved2024-05-15.
  29. ^Saive, Ravi (2022-12-12)."3 Ways to Install Deb Packages in Ubuntu, Mint & Debian".www.ubuntumint.com.Archived from the original on 2024-05-15. Retrieved2024-05-15.
  30. ^"Fink FAQ - General Questions".finkproject.org. 6 Jun 2015. Retrieved26 Aug 2016.
  31. ^"Fink FAQ - Installing, Using and Maintaining Fink".finkproject.org. 6 Jun 2015. Retrieved26 Aug 2016.
  32. ^Jay Freeman (n.d.)."Bringing Debian APT to the iPhone".saurik.com. Retrieved26 Aug 2016.
  33. ^Erica Sadun (28 Feb 2008)."Debian-style installation arrives on iPhone".engadget.com. Retrieved26 Aug 2016.

External links

[edit]
General
Debian OpenLogo
People
Derivatives
Kernels
Forks
Software
Others
Archiving only
Compressing only
Archiving
and compressing
Software packaging
and distributing
Document packaging
and distributing
Gaming console
Unix-like,
Linux
dpkg
Purely functional
RPM
tarball
Other
macOS
z/OS
Mobile
operating
systems
Multi-platform
Solaris,illumos
Web browsers
Windows
BSD
C++
Java
JavaScript
Kubernetes
Linux
macOS
.NET
Perl
PHP
Python
Ruby
Rust
Scala
Retrieved from "https://en.wikipedia.org/w/index.php?title=Deb_(file_format)&oldid=1281231312"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp