---
name: "debdelta"
section: "1"
platform: "linux"
package: "debdelta"
version: "0.70+nmu1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/debdelta"
---

# debdelta(1)

compute changes between Debian packages

## NAME

debdelta - compute changes between Debian packages

## SYNOPSIS

**debdelta** \[*OPTION*\]... *FROMFILE* *TOFILE* *DELTA*

## DESCRIPTION

*This program computes changes between Debian packages FROMFILE and* *TOFILE. These changes are stored in the file DELTA.  The DELTA* *file may later be used by the "debpatch" program to recreate TOFILE* *from FROMFILE. In a sense, the pair of programs "debdelta"/"debpatch"* *operate on Debian packages similar to how the pair "diff"/"patch"* *operate on text files; indeed, the output of "debdelta" may be used to* *store and transmit only the changes between Debian packages; but,* *contrary to the "diff" output, the output of "debdelta" is not human* *readable, but rather it is intended to be as small as possible (to* *optimize for less disk usage and/or faster transmission).*

## OPTIONS

- **--signing-key** *KEY*

  key used to sign the delta (using GnuPG).

- **--no-md5**

  do not include MD5 info in delta.

- **--needsold**

  create a patch that can only be used if the old .deb is available.

- **--delta-algo** *ALGO*

  use a specific backend for computing binary diffs; possible values are: xdelta xdelta-bzip xdelta3 bsdiff

- **-M** *Mb*

  maximum memory  to use (for 'bsdiff' or 'xdelta').

- **-v**

  verbose (can be added multiple times).

- **-d**

  print full traceback on Python errors; save useful info in temporary files  in case that a backend crashes.

  (If '-d' is added multiple times, it also adds to the patches other extra debugging checks: only for advanced bug tracking).

- **-k**

  keep temporary files (use for debugging).

- **--gpg-home**

  specify a different home for GnuPG, default for root is */etc/debdelta/gnupg* while for other users is unset. See  *--homedir* in  **[gpg(1)](/gpg/1.md)** for details.

- **--disable-feature** *FEATURE*

  disable an internal feature. See the documentation in README.features.

## EXAMPLE

The command\
 *debdelta libglib\_2.12\_all.deb libglib\_2.14\_all.deb /tmp/glib.debdelta*\
 will express the difference between two versions of libglib in /tmp/glib.debdelta ; the command\
 *debpatch -A /tmp/glib.debdelta libglib\_2.12\_all.deb /tmp/glib.deb*\
 will create in /tmp/glib.deb a perfect copy of libglib\_2.14\_all.deb.

## SECURITY

A Debian package that is recreated using debpatch is byte-by-byte identical to the original one; so the cryptographic archive authentication support for APT (see  [**apt-secure**(8)](/apt-secure/8.md) ) may be used to assert that it can be trusted to be installed. Moreover, if  a GnuPG key is specified using **--signing-key** then the delta file itself is cryptograhically protected using GnuPG, MD5 and SHA1  (using the same method as [**dpkg-sig**(1)](/dpkg-sig/1.md) ). Note that, for non-root users,  the master debdelta keyring  */usr/share/keyrings/debian-debdelta-archive-keyring.gpg* is added to the list of keyrings for gnupg.

## EXIT STATUS

- 0

  if OK,

- 1

  if there was a retriable problem (e.g., out-of-disk-space, or an auxiliary program such 'lzma' is missing and the user is asked to install the package 'lzma'),

- 2

  if there was a non-retriable problem,

- 3

  if there was an error in a  command-line option, or in a configuration file,

- 4

  if there is an internal error, and

- 5

  if exited due to keyboard interrupt.

## REPORTING BUGS

Report bugs to \<mennucc1@debian.org\>.

## AUTHORS

Debdelta was written and is copyright © 2006-09 Andrea Mennucci.\
 This man page was written by Jegou Pierre-yves  \<pierreyves.jeg@voila.fr\>.

## COPYING

This is free software.  You may redistribute copies of it under the terms of the GNU Library General Public License  \<http://www.gnu.org/licenses/lgpl-2.0.html\>. There is NO WARRANTY, to the extent permitted by law.

## SEE ALSO

[**debdelta-upgrade**(1)](/debdelta-upgrade/1.md), [**debpatch**(1)](/debpatch/1.md), [**debdeltas**(1)](/debdeltas/1.md), **/usr/share/doc/debdelta/README.**
