deb.5 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. .\" Hey, Emacs! This is an -*- nroff -*- source file.
  2. .\" Authors: Raul Miller, Ian Jackson
  3. .TH DEB 5 "January 2000" "Debian Project" "Debian"
  4. .SH NAME
  5. deb \- Debian binary package format
  6. .SH SYNOPSIS
  7. .IB filename .deb
  8. .SH DESCRIPTION
  9. The
  10. .B .deb
  11. format is the Debian binary package file format. It is understood by
  12. dpkg 0.93.76 and later, and is generated by default by all versions
  13. of dpkg since 1.2.0 and all i386/ELF versions since 1.1.1elf.
  14. .PP
  15. The format described here is used since Debian 0.93; details of the
  16. old format are described in
  17. .BR deb-old (5).
  18. .SH FORMAT
  19. The file is an
  20. .B ar
  21. archive with a magic number of
  22. .BR !<arch> .
  23. .PP
  24. The first member is named
  25. .B debian-binary
  26. and contains a series of lines, separated by newlines. Currently only
  27. one line is present, the format version number,
  28. .BR 2.0
  29. at the time this manual page was written.
  30. Programs which read new-format archives should be prepared for the
  31. minor number to be increased and new lines to be present, and should
  32. ignore these if this is the case.
  33. .PP
  34. If the major number has changed, an incompatible change has been made
  35. and the program should stop. If it has not, then the program should
  36. be able to safely continue, unless it encounters an unexpected member
  37. in the archive (except at the end), as described below.
  38. .PP
  39. The second required member is named
  40. .B control.tar.gz .
  41. It is a gzipped tar archive containing the package control information,
  42. as a series of plain files, of which the file
  43. .B control
  44. is mandatory and contains the core control information. Please see the
  45. .I "Debian Packaging Manual, section 2.2"
  46. for details of these files. The control tarball may optionally contain
  47. an entry for
  48. .RB ` . ',
  49. the current directory.
  50. .PP
  51. The third, last required member is named
  52. .B data.tar.gz .
  53. It contains the filesystem archive as a gzipped tar archive.
  54. .PP
  55. These members must occur in this exact order. Current implementations
  56. should ignore any additional members after
  57. .BR data.tar.gz .
  58. Further members may be defined in the future, and (if possible) will be
  59. placed after these three. Any additional members that may need to be
  60. inserted before
  61. .B data.tar.gz
  62. and which should be safely ignored by older programs, will have names
  63. starting with an underscore,
  64. .RB ` _ '.
  65. .PP
  66. Those new members which won't be able to be safely ignored will be
  67. inserted before
  68. .B data.tar.gz
  69. with names starting with something other than underscores, or will
  70. (more likely) cause the major version number to be increased.
  71. .SH SEE ALSO
  72. .BR deb (5),
  73. .BR dpkg-deb (1),
  74. .BR deb-control (5),
  75. .IR "Debian Packaging Manual".