Debian APT utils using diff for Package List retrieval

After being for a while in unstable, you will notice that starting today there is a new APT version available in testing (etch) release. This is version 0.6.44.1 and it introduces a change in the way the Package List is downloaded. Until now, it used to download a single file that would have changed even if only one package would have been modified. Even though most of us don’t have any problem with that (doing daily updates, and no real bandwidth problems), still there are many peoples out there that have poor internet connections that I am sure will be very happy with this change. And even if you don’t care about the bandwidth (and to be honest most of the bandwidth usage will not come from the package list, but from the packages updates that are applied), you will notice that the process of apt-get update is much faster since it will only download a very small file with the differences (DiffIndex) instead of all the list.

The nice thing is, that other package management tools (like aptitude for example) will benefit from the same change without any update, as they are actually using APT utils for those operations.

How does this look in action?

Before:

aptitude update
...
Hit http://security.debian.org etch/updates/main Packages
Hit http://security.debian.org etch/updates/contrib Packages
...

Upgrade to new APT version:

aptitude upgrade
...
The following packages will be upgraded:
apt apt-utils
...
Preparing to replace apt 0.6.43.3 (using .../archives/apt_0.6.44.1_i386.deb) ...
Unpacking replacement apt ...
Setting up apt (0.6.44.1) ...

(Reading database ... 28639 files and directories currently installed.)
Preparing to replace apt-utils 0.6.43.3 (using .../apt-utils_0.6.44.1_i386.deb) ...
Unpacking replacement apt-utils ...
Setting up apt-utils (0.6.44.1) ...

After:

aptitude update
...
Ign http://security.debian.org etch/updates/main Packages/DiffIndex
Ign http://security.debian.org etch/updates/contrib Packages/DiffIndex
...
comments powered by Disqus