Scroll to navigation

APPROX(8) System Manager's Manual APPROX(8)

NAME

approx - proxy server for Debian archive files

SYNOPSIS

approx [OPTION]...

DESCRIPTION

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.

OPTIONS

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

USAGE

approx is invoked by inetd(8).

EXAMPLES

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/debian-security testing-security 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 "debian-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
debian-security http://security.debian.org/debian-security

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.)

FILES

/etc/approx/approx.conf

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

Default cache directory for archive files.

SEE ALSO

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

AUTHOR

Eric Cooper <ecc@cmu.edu>

May 2011