Introduzione
apt-proxy è un'applicazione utile al mantenimento in memoria di una cache dei pacchetti già scaricati in precedenza. La funzionalità principale è quella di limitare l'utilizzo della banda all'interno di una rete, consentendo ai client di connettersi al server locale per scaricare gli aggiornamenti.
Installazione
Installare il pacchetto apt-proxy
Configurazione server
You should change the default port to 9998 instead of 9999 while https://bugs.edge.launchpad.net/ubuntu/+source/apt-proxy/+bug/154494 isn`t fixed in order to apt-proxy to work.
Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/apt-proxy/apt-proxy-v2.conf modificandolo come segue:
address = 127.0.0.1 port = 9999 cache_dir = /var/cache/apt-proxy http_proxy = proxy_server:porta
Nel caso fosse presente un firewall decommentare il parametro «passive_ftp».
Backends
Il server apt-proxy deve conoscere l'esatto indirizzo dove trovare i repository remoti, per questo motivo si devono impostare dei Backends che sono presenti in modo predefinito sia negli archivi di Ubuntu che di Debian e altre applicazioni. Di seguito è presente un esempio di backends per Ubuntu:
[ubuntu]
; Ubuntu archive
timeout = 60 ; Aspetta un minuto
backends =
        http://archive.ubuntu.com/ubuntu
        http://de.archive.ubuntu.com/ubuntuNel file è possibile indicare anche più di un repository, basta separare l'uno dall'altro. Un parametro che non viene specificato è il componente del repository che è necessario impostare nei client, mentre un altro parametro utile che si può impostare è quello del «timeout», esso viene utilizzato nel caso un cui il primo repository non risponda entro un minuto, così da utilizzarne uno secondario.
| Nel caso che il primo server sia disponibile ma non contiene il pacchetto richiesto non verrà consultato un secondo server. | 
Aggiornare la lista pacchetti
Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/apt/sources.list sostituendo tutto il contenuto con solo il repository dello stesso server:
deb http://localhost:9999/ubuntu hardy main restricted universe multiverse deb-src http://localhost:9999/ubuntu hardy main restricted universe multiverse deb http://localhost:9999/ubuntu-security hardy-security main restricted universe multiverse deb-src http://localhost:9999/ubuntu-security hardy-security main restricted universe multiverse
Per applicare le modifiche digitare all'interno di una finestra di terminale il seguente comando:
sudo /etc/init.d/apt-proxy restart
Importare l'apt cache
Se per caso sono presenti dei pacchetti nella cache di apt-get che si trova nella cartella /var/cache/apt/archives per importarli nella cache di apt-proxy, digitare all'interno di una finestra di terminale il seguente comando:
sudo apt-proxy-import -r /var/cache/apt/archives
Configurazione client
Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/apt/sources.list dei client impostando i repository del server:
deb http://apt-proxy:port/backend distribuzione componenti
Sostituire le diciture «distribuzione» e «componenti» con la versione di Ubuntu che si utilizza ed i componenti che si vuole abilitare.
Di seguito viene mostrato un esempio:
deb http://server:9999/ubuntu jaunty main restricted universe multiverse deb http://server:9999/ubuntu-security jaunty-security main restricted universe multiverse
Sostituire la dicitura «server» con l'IP oppure il nome del server apt.
Risoluzione dei problemi
Problemi con l'acquisizione dei pacchetti
- Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/apt/apt.conf, inserendo la seguente riga: - Acquire::Proxy "false"; 
- Aggiornare la lista dei pacchetti, digitando in una finestra di terminale il seguente comando: - sudo apt-get update 
Connection Refused
On some setups, the proxy is not available to external machines. The proxy works very well on localhost, but fails to cooperate with external machines.
