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/ubuntu
Nel 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.