====== Debian approx ====== PS-release: PS-stretch\\ PS-pkg: net::approx\\ approx: 5.7-3 ===== 1. What is Debian approx? ===== Approx is an HTTP-based proxy server for Debian-style package archives. It fetches files from remote repositories on demand, and caches them for local use. . Approx saves time and network bandwidth if you need to install or upgrade .deb packages for a number of machines on a local network. Each package is downloaded from a remote site only once, regardless of how many local clients install it. The approx cache typically requires a few gigabytes of disk space. . (From: apt-cache show approx) ===== 2. Controlling the service ===== ==== 2.1 systemd.socket ==== The Debian approx service has been designed for invokation by the "inetd".(([[https://en.wikipedia.org/wiki/Inetd|Wikipedia: internet super-server]] )) It cannot be run from the commandline. However in version 5.7-1 approx was patched for use with the "systemd.socket" service. ((systemd.socket is a replacement for inetd. )) In Debian stretch approx is invoked by "systemd.socket" by default. ==== 2.2 Stop/start the service ==== # systemctl stop approx.socket # systemctl start approx.socket ==== 2.3 Show status ==== # systemctl status approx.socket * approx.socket - caching proxy server for Debian archive files Loaded: loaded (/lib/systemd/system/approx.socket; enabled; vendor preset: en Active: active (listening) since Thu 2018-12-20 19:01:05 UTC; 1 day 16h ago Docs: man:approx(8) Listen: [::]:80 (Stream) Accepted: 18; Connected: 0 # systemctl list-units approx.socket UNIT LOAD ACTIVE SUB DESCRIPTION approx.socket loaded active listening caching proxy server for Debian archive fi LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. * More info: $ man systemctl ===== 3. Configuration ===== ==== 3.1 Configure repositories and parameters ==== **/etc/approx/approx.conf:** debian http://deb.debian.org/debian security http://security.debian.org/debian-security Principally Debian approx can be used for cacheing every file-based repository: mozilla http://ftp.mozilla.org/pub Now in a script you can do: $ curl -o firefox-64.0.tar.bz2 http://approx:9999/mozilla/firefox/releases/64.0/linux-x86_64/en-US/firefox-64.0.tar.bz2 Enable debugging: $debug true * Since every request launches a new approx instance, changes take effect immediately. No service restart is needed. ==== 3.2 Configure listen port ==== **/lib/systemd/system/approx.socket:** [Socket] # ListenStream=9999 ListenStream=80 Restart service: # systemctl daemon-reload # systemctl restart approx.socket ---- Copyright (c) 2018 Tux4u.be - Author: Marjan Waldorp; debian-approx.md 2018-12-22