Blog 2019/4/28
<- previous | index | next ->
I run Debian on some old i386 and ARM hardware, and apt
can be painfully slow on these platforms.
I noticed in the apt.conf
man page that you can configure apt's preference of file format (compression type) of certain index files. Perhaps this will speed things up?
First, let's measure the time taken with the default configuration:
# rm -rf /var/lib/apt/lists
# time apt-get update
Get:1 http://security.debian.org jessie/updates InRelease [44.9 kB]
Ign http://deb.debian.org jessie InRelease
Get:2 http://deb.debian.org jessie Release.gpg [2,420 B]
Get:3 http://deb.debian.org jessie Release [148 kB]
Get:4 http://security.debian.org jessie/updates/main i386 Packages [669 kB]
Get:5 http://deb.debian.org jessie/main i386 Packages [6,821 kB]
Get:6 http://security.debian.org jessie/updates/main Translation-en [337 kB]
Get:7 http://deb.debian.org jessie/main Translation-en [4,581 kB]
Fetched 12.6 MB in 2min 17s (91.4 kB/s)
Reading package lists... Done
real 3m30.053s
user 3m5.724s
sys 0m14.128s
Now, with the gzip
compression option:
# rm -rf /var/lib/apt/lists
# time apt-get -o Acquire::CompressionTypes::Order::=gz update
Get:1 http://security.debian.org jessie/updates InRelease [44.9 kB]
Ign http://deb.debian.org jessie InRelease
Get:2 http://deb.debian.org jessie Release.gpg [2,420 B]
Get:3 http://deb.debian.org jessie Release [148 kB]
Get:4 http://security.debian.org jessie/updates/main i386 Packages [831 kB]
Get:5 http://deb.debian.org jessie/main i386 Packages [9,100 kB]
Get:6 http://security.debian.org jessie/updates/main Translation-en [337 kB]
Get:7 http://deb.debian.org jessie/main Translation-en [4,581 kB]
Fetched 15.0 MB in 2min 7s (118 kB/s)
Reading package lists... Done
real 3m19.334s
user 2m52.504s
sys 0m15.048s
Hmm, not exactly the improvement I was hoping for.
During apt-get update
, this was temporarily visible in the output:
100% [7 Translation-en bzip2 0 B] [5 Packages gzip 0 B]
So it appears that a gzip
version of the Packages
file is available (a xz
version is used by default), but not the Translation-en
file.
This was on an AMD PIC (366MHz, 128MB RAM), which is using a USB-ethernet dongle (which appears to have a transfer rate limit of just over 400kB/s).
You can make this behavior permanent by putting this in /etc/apt/apt.conf
:
Acquire::CompressionTypes::Order "gz";
You might also try disabling pdiffs:
Acquire::PDiffs "false";