DOKK / manpages / debian 11 / approx / approx.8.en
APPROX(8) System Manager's Manual APPROX(8)

approx - proxy server for Debian archive files

approx [OPTION]...

approx responds to HTTP requests made by apt-get(8). It maintains a cache of Debian archive files that have been previously downloaded, so that it can respond with a local copy when possible. If a file not in the cache is requested, approx will download it from a remote Debian repository and deliver the contents to the client, simultaneously caching it for future use.

Over time, the approx server cache will grow to contain multiple, unneeded versions of Debian packages. The approx-gc(8) program removes these from the cache.

Specify an additional configuration file. May be used multiple times.

approx is invoked by inetd(8).

Suppose that a client machine's /etc/apt/sources.list file contains the following lines:

deb http://apt:9999/debian testing main
deb http://apt:9999/security testing/updates main
deb-src http://apt:9999/debian unstable main

In this example, apt is the hostname of the approx server machine on the local network. Each distribution, such as "debian" or "security", is mapped to a remote repository in the approx server's configuration file.

For example, the approx.conf file on the approx server might contain the lines

debian http://ftp.debian.org/debian
security http://security.debian.org

The mapping scheme is very simple. If the approx.conf file contains the line

repository http://remote-host/initial/path

then any request to the approx server of the form

http://approx-server/repository/rest/of/URL

is rewritten to

http://remote-host/initial/path/rest/of/URL

when there is a "cache miss", and that file is cached as

/var/cache/approx/repository/rest/of/URL

(Note that the repository name on the left-hand side is not included in the rewritten URL unless it is explicitly mentioned in the right-hand side's initial path.)

/etc/approx/approx.conf

Configuration file for approx and related programs.
/var/cache/approx

Default cache directory for archive files.

approx.conf(5), inetd(8), approx-import(8), approx-gc(8), apt-get(8), sources.list(5)

Eric Cooper <ecc@cmu.edu>

May 2011