debdelta-upgrade - Downloads all deltas that may be used to 'apt-get upgrade', and apply them.
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
source = there is no /etc/debdelta/sources.conf line
big = the delta is too big
error = the delta fails to apply in the client
tiny = the new package is small (the server ignores such packages)
fail = the server failed to create the delta
queued = the delta is queued to be made in the server
unavailable = all other cases
after = continue downloading debs after patching has ended
default is s,b,e,t,f
- 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
just prepare logs and say where they are (default)
send logs by email using mutt
send logs by email using icedove (as root!)
send by http (currently not working)
- --timeout SECONDS
adjust timeout for connections, default is 15 seconds
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 ).
DOWNLOAD AND PROXIES¶
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 existence of flag timestamps in the remote server (such as debdelta-too-big debdelta-queued debdelta-failed ), 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 most of the opetions for --deb-policy are currently disabled (until the author understands 'urllib2' better).
Report bugs to <email@example.com>.
In the program printout kB = 1024 bytes and MB = 1024^2 bytes .
Debdelta was written and is copyright © 2006-09 Andrea
This man page was written by Jegou Pierre-yves <firstname.lastname@example.org>.
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.