debdelta-upgrade(1) Downloads all deltas that may be used to 'apt-get


debdelta-upgrade [OPTION]... [PACKAGE] ...


This program is designed to download changes (deltas) that may be used to apt-get upgrade all listed packages, and apply them. If no package is listed in the command line, then it will apply to all upgradable packages. See debdelta(1) for more details on the delta files.


--dir DIR
directory where to save results. (default: /var/cache/apt/archives for root, /tmp/archive for non-root users)
--format FORMAT
format of recreated debs. FORMAT=deb is the usual, FORMAT=unzipped means that the data.tar part is not compressed, (and this may save some time)
--deb-policy POLICY
policy to decide which debs to download, it is a comma separated list of (abbreviations of)
    source =  there is no /etc/debdelta/sources.conf line
    big =  the delta is too big
    error =  the delta fails to apply
    unavailable = all other cases
    after = continue downloading debs after patching has ended
  default is s,b,e
verbose (can be added multiple times).
print full traceback on Python errors; save useful info in temporary files in case that a delta fails.
keep temporary files (use for debugging).
-A --accept-unsigned
accept unsigned deltas.
specify a different home for GnuPG, default for root is
/etc/debdelta/gnupg while for other users is unset. See --homedir in gpg(1) for details.
--forensic METHOD
if a delta fails, report logs so that the problem may be addressed. Method may be
      just prepare logs and say where they are
      send logs by email using mutt
      send logs by email using icedove (as root!)
      send by http (the easiest and most recommended method!)


When invoked as root, apt-get update && debdelta-upgrade && apt-get upgrade will download delta files, recreate the needed Debian packages, and then upgrade your Debian host. When only slow Internet connection is available, the above procedure may be significantly faster than "apt-get update && apt-get upgrade". (Use -v to see how much faster.)

The package manager cupt uses deltas as well when upgrading.


A Debian package that is recreated using debdelta-upgrade is byte-by-byte identical to the original one; when "apt-get upgrade" is subsequently invoked, the cryptographic archive authentication support (see apt-secure (8) ) will guarantee that it can be trusted to be installed. Moreover, the delta files themselves are cryptographically protected using GnuPG, MD5 and SHA1 (using the same method as dpkg-sig(1) ), and debdelta-upgrade will refuse to apply corrupted or unsigned deltas (but, see option -A ).


debdelta-upgrade downloads deltas in two passes: in the first pass, it downloads the first kB of each delta, to extract the delta parameters and to examine them. If the delta does not exist, it checks if the debdelta-too-big timestamp file exists, and then it examines the --deb-policy to decide if to download the deb instead. In the second pass, it downloads (the rest of) the deltas and queues them in a patching queue.

For plain direct http downloads, debdelta-upgrade uses the Python library 'httplib' directly; in particular, it uses keep-alive features, and this speeds up a lot the first pass.

If variables such as http_proxy are set in the environment, then instead debdelta-upgrade will use the 'urllib2' module: this though slows down sensibly the first pass above (since 'urllib2' opens a different connection for each download); moreover 'urllib2' seems to be buggy in some places (for example, it transforms http response "401" into "404" , and "302" into "200") so the output explanation printed by debdelta-upgrade in case of download error may be wrong; and the --deb-policy big is currently disabled (until the author understands 'urllib2' better).


See debdelta(1)


Report bugs to <[email protected]>.


In the program printout kB = 1024 bytes and MB = 1024^2 bytes .


Debdelta was written and is copyright © 2006-09 Andrea Mennucci.
This man page was written by Jegou Pierre-yves <[email protected]>.


This is free software. You may redistribute copies of it under the terms of the GNU Library General Public License <>. There is NO WARRANTY, to the extent permitted by law.