apt-proxy is a useful tool to stop you having to download APTs for every machine on your network.

The configuration is quite simple. Just install the apt-proxy package using apt-get and follow the prompts. On each client machine alter the file /etc/apt/sources.list to something like:

deb http://myserver:9999/debian stable main contrib non-free
deb http://myserver:9999/debian-non-US stable/non-US main contrib non-free
deb http://myserver:9999/security stable/updates main contrib non-free

Then continue to use apt-get as you always have.

I would recommend editing the configuration file under /etc/apt-proxy/ to add a nz server as first choice as it can be slow getting updates from the US at times.

If you have problems with this then there is also apt-cacher that you can use.

Problem: apt-proxy stalls fetching headers

Your clients connect to the proxy fine but don't seem to get any data. They sit there forever waiting for headers:

# apt-get update
0% [Waiting for headers]

In your /etc/apt-proxy/apt-proxy-v2.conf file, try disabling HTTP pipelining. Uncomment the line if necessary and set the value to 1:


It has been enabled by default since version 1.9.34 but still seems to be broken in the version currently in etch (1.9.35-0.3)