Debian Binary Package MIME Type

Learn what application/vnd.debian.binary-package files contain, how to inspect .deb packages safely, and how Poly handles them.

MIME type details for application/vnd.debian.binary-package

In active use
MIME typeapplication/vnd.debian.binary-package
Extensions
.deb.udeb
Magic number21 3C 61 72 63 68 3E 0A (ar; first member debian-binary)
Alternate versions
application/x-debian-packageapplication/x-deb
First standardized1995
Created byDebian Project
Browser support
Example applicationsdpkg, APT, Synaptic
Poly supportPartial. Poly recognizes .deb files and the registered MIME type, but not .udeb or the deprecated aliases. It does not extract package metadata or members.
Indexed by PolyPartial. Debian packages are searchable by filename and basic file properties only; package metadata and archived contents are not indexed.
Preview in PolyNo. Poly does not render or browse Debian package contents; download the file to inspect it with package tools.
Poly agentNo. The Poly agent cannot read the control metadata, maintainer scripts, or payload inside a Debian package.

What does application/vnd.debian.binary-package mean?

The application/vnd.debian.binary-package media type identifies a Debian binary package. Most such files use the .deb extension and contain software, configuration, documentation, package metadata, and sometimes scripts that run during installation. The less common .udeb variant is a reduced package used by the Debian installer, not an ordinary package for a running system.12

IANA registered the media type in 2014. The older names application/x-debian-package and application/x-deb are deprecated aliases, so new servers and applications should send the registered type.1

A Debian binary package is not the same as a Debian source package. Source packages are described by a .dsc file and normally include separate upstream and Debian source archives.3

How is a .deb file structured?

A modern .deb file is an ar archive whose first eight bytes are the ASCII signature !<arch>\n, or 21 3C 61 72 63 68 3E 0A in hexadecimal. That signature alone identifies the outer ar container. A Debian package is distinguished by the required members that follow in this order:4

MemberPurpose
debian-binaryDeclares the package format version, currently 2.0
control.tar.*Stores the control record, checksums, triggers, and optional maintainer scripts
data.tar.*Stores the filesystem tree to be installed

The two TAR members may use several compression methods. Current dpkg documentation permits Gzip, XZ, or Zstandard for control.tar; data.tar can additionally use bzip2 or LZMA. Tools should not assume a fixed suffix such as control.tar.gz.4

This ar-based format has been used since Debian 0.93. Debian 0.93 Release 5 arrived in March 1995 and was the project's first modern release built around dpkg package management.45 The media type came much later, but it names that established package format.

How to inspect or open a Debian package

On Debian and related Linux distributions, dpkg-deb is the format-aware tool. It can show the control record, list payload paths, or extract a package without installing it:6

dpkg-deb --info package.deb
dpkg-deb --contents package.deb
dpkg-deb --extract package.deb output-directory

Use APT or another trusted package-management front end when you intend to install software. A generic archive utility may expose the outer members, but it does not validate dependencies, architecture, or package-management rules. Renaming a TAR or an arbitrary ar archive to .deb does not make it a valid Debian package.

Web browsers generally download .deb files rather than display their contents. That is appropriate for an installable binary container, so the absence of an in-browser renderer is not a compatibility problem.

Inspecting with dpkg-deb --info or --contents does not install the package. Extract into a new, non-system directory if you need to review files. The dpkg-deb manual warns that extraction to the root directory is not a correct installation method.6

Support in Poly

Poly recognizes the canonical application/vnd.debian.binary-package value and maps .deb filenames to its Debian-package archive type. It stores, syncs, shares, versions, and finds the file by name and ordinary file properties.

Poly does not unpack the ar container, parse the control record, list payload files, render a preview, or index archived content. The agent also cannot read the metadata, scripts, or payload. The registered .udeb extension and both deprecated media-type aliases are not present in Poly's MIME mapping, so those inputs may fall back to a generic type.

To inspect a package held in Poly, download it and use dpkg-deb or a trusted package manager. Do not confuse Poly's recognition of .deb with package validation or installation approval.

Security and authenticity

A Debian package can include maintainer scripts that execute commands with administrator privileges. IANA therefore recommends trusting the origin and using an authenticated Debian-format repository. It also warns that declared installed size is not protection against a malicious compression bomb.1

APT authenticates repositories by verifying signed release metadata and the chain of hashes leading to packages. This protects against unauthorized mirror changes and network substitution. It does not mean APT has audited the package's code, and the normal repository model does not require each .deb to carry its own signature.7

Do not install an unexpected .deb merely because its filename, icon, or MIME type looks correct. Prefer a configured repository with a key you obtained through a trusted channel. For a standalone package, verify the publisher's checksum or signature before installation.

Package metadata can also disclose useful system details. The filename and control record commonly expose package name, version, architecture, dependencies, and maintainer information. Sharing a private package may therefore reveal more than the program payload itself.

.deb, .udeb, source packages, and other package formats

These neighboring formats serve different jobs:

FileMeaningNormal handling
.debDebian binary packageInstall through APT or dpkg; inspect with dpkg-deb
.udebReduced binary package for Debian InstallerUsed by the installer, not normally installed on a running system
.dsc plus source archivesDebian source packageBuild tooling such as dpkg-source, not dpkg-deb installation
.rpmRPM packageRPM-family tools; not a renamed or interchangeable .deb
.tar.*General archiveNo Debian control or installation semantics by itself

The control record includes an Architecture field. A value such as amd64 targets one Debian architecture, while all marks an architecture-independent package. Package relationships such as Depends are part of the package-management model, so extracting files from a .deb is not equivalent to installing it correctly.8

There is no universal conversion from an arbitrary installer to a safe Debian package. Archive conversion can preserve files while losing dependency rules, maintainer behavior, ownership, or distribution-specific integration. When possible, obtain a package built for the target distribution and release instead of converting another package format.

Footnotes

  1. Internet Assigned Numbers Authority. application/vnd.debian.binary-package Media Type Registration. 2 3
  2. Debian Project. Debian Reference: Debian Package File Names.
  3. Debian Project. Debian FAQ: Basics of the Debian Package Management System.
  4. Debian dpkg maintainers. deb(5): Debian Binary Package Format. 2 3
  5. Debian Documentation Team. A Detailed History of Debian: The 0.x Releases.
  6. Debian dpkg maintainers. dpkg-deb(1): Debian Package Archive Manipulation Tool. 2
  7. Debian APT team. apt-secure(8): Archive Authentication Support for APT.
  8. Debian Project. Debian Policy Manual: Control Files and Their Fields.
© Poly Corp. 2026