NAME¶
debdelta-upgrade - Downloads all deltas that may be used to 'apt-get upgrade',
and apply them.
SYNOPSIS¶
debdelta-upgrade [
OPTION]... [
PACKAGE] ...
DESCRIPTION¶
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.
OPTIONS¶
- --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
- -v
- verbose (can be added multiple times).
- -d
- print full traceback on Python errors; save useful info in temporary files
in case that a delta fails.
- -k
- keep temporary files (use for debugging).
- -A --accept-unsigned
- accept unsigned deltas.
- --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) for details.
- --forensic METHOD
- if a delta fails, report logs so that the problem may be addressed. Method
may be
do
just prepare logs and say where they are
mutt
send logs by email using mutt
icedove
send logs by email using icedove (as root!)
http
send by http (the easiest and most recommended method!)
EXAMPLES¶
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.
SECURITY¶
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 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).
EXIT STATUS¶
See
debdelta(1)
REPORTING BUGS¶
Report bugs to <mennucc1@debian.org>.
SIZES¶
In the program printout kB = 1024 bytes and MB = 1024^2 bytes .
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(1),
apt-get(8),
/usr/share/doc/debdelta/README.upgrade,
/usr/share/doc/debdelta/README.