apt-proxy

Nous allons voir comment accélerer les mises à jour et les téléchargements lors de l'utilisation de apt ou aptitude sur les différentes machines de votre réseau à l'aide d'un mirroir local. Pour cela, les différents paquets doivent être téléchargés une fois pour être disponible pour les différents stations de travail ou serveurs disponible sur votre serveur.

apt-proxy va nous permettre de créer ce mirroir local relativement facilement. Il suffit tout simplement de l'installer sur le serveur qui sera utiliser comme mirroir. Ensuite, il vous suffira de configurer le fichier /etc/apt/sources.list des différentes machines de votre réseau afin d'utiliser le mirroir local à la place des dépôts officiels.

L'installation se fait comme d'habitude :

# apt-get install apt-proxy

Une fois installé, vous pouvez configurer apt-proxy en éditant le fichier /etc/apt-proxy/apt-proxy-v2.conf. Dans la plupart des cas, les options par défaut seront utilisées.
Les principales options qui pourraient être modifiées sont le port sur lequel apt-proxy écoute, 9999 par défaut, et le répertoire où sont stockés les fichiers .deb. Pour cela, il vous suffit de changer les lignes suivantes dans le fichier de configuration :

;; Server port to listen on
port = 9999

;; Cache directory for apt-proxy
cache_dir = /var/cache/apt-proxy

Si vous modifez ce fichier, il faudra relancer le proxy pour que les modifications soient prises en compte :

# /etc/init.d/apt-proxy restart
Stopping apt-proxy [wait 1].
Starting apt-proxy.

Au fur et à mesure qu'une machine du réseau installe un nouveau paquet, apt-proxy va stocker ce paquet dans son dépot. Ainsi, il le fournira directement lorsqu'une nouvelle requête pour le même paquet aura lieu depuis votre réseau local.
apt-proxy ne créé pas par défaut un mirroir complet des dépôts Debian ce qui est compréhensible vu le nombre de paquets disponible dans la distribution.

apt-proxy écoute, par défaut, sur le port 9999, les machines de votre réseau doivent donc avoir leur fichier /etc/apt/sources.list configuré ainsi :

deb http://[serveur-local]:9999/debian stable main contrib non-free
deb-src http://[serveur-local]:9999/debian stable main contrib non-free
deb http://[serveur-local]:9999/security stable/updates main contrib non-free

Le port est à adapter en fonction du port que vous avez défini.