apt-cacher-ng, un proxy apt pour se la péter 
Objectif : Installer un proxy pour paquets debian/ubuntu

Pour installer/mettre à jour de nombreuses machines debian/ubuntu sur un même parc, il est bien plus rapide/pratique de disposer d'un miroir local de ces distributions. Mais, mirrorer tous les paquets pour toutes les architectures/versions demande énormément d'espace disque. Heureusement, nous n'avons pas vraiment besoin d'un miroir complet, un miroir de nos paquets préférés/les plus utilisés suffirait ...

Ce miroir "intelligent" existe, (il existe même plusieurs implémentations : apt-proxy, approx, apt-cacher ...) ces logiciels fonctionnent comme un proxy mais pour apt/aptitude. Les clients apt référencent simplement ce proxy apt local dans leur /etc/apt/sources.list, et lors de l'installation d'un paquet, celui ci est téléchargé, par le serveur, à partir des miroirs officiels si il n'est pas déjà présent dans le cache local, sinon il est envoyé directement au client apt à partir du cache local et à la vitesse du réseau local ...

Le gain en temps de téléchargement est énorme dès la deuxieme installation d'un paquet, par exemple, j'ai installé le paquet frozen-bubble de 23 Mo en 37s à 612ko/s sur une premiere machine ubuntu, sur une deuxieme, qui disposait de la meme configuration, ce même paquet est arrivé en 2s à 10 Mo/s. Gain de temps, économie de bande passante, satisfaction personnelle ... que des avantages.

Après avoir googlé pas mal, j'ai opté pour le paquet " apt-cacher-ng "

Installation :


sudo apt-get install apt-cacher-ng

Configuration :


sudo nano /etc/apt-cacher-ng/acng.conf

[...]
CacheDir: /var/www/apt-cache
# (j'ai changé le cachedir par défaut pour pouvoir y accéder via un apache mais c'est de la gourmandise)
Port:9999
# (J'ai changé le port par défaut de 3142 vers 9999 car je trouve que c'est plus rigolo ainsi mais c'est aussi de la gourmandise)
[...]

On s'assure que apt-cacher-ng va pouvoir écrire dans son dossier cache :

sudo chown apt-cacher-ng:www-data /var/www/apt-cache
sudo chmod 775 /var/www/apt-cache


Je n'ai rien trouvé d'autre à changer, pour prendre en compte les mofications, on relance :

sudo /etc/init.d/apt-cacher-ng restart


et là notre cache apt doit fonctionner (côté serveur)

On ne s'est même pas préoccupé de fournir les miroirs officiels, apt-cacher-ng à l'air de parfaitement s'en débrouiller :

fred@pluton:~$ ls -l /etc/apt-cacher-ng/
-rw-r--r-- 1 root root 2218 2009-04-21 14:55 acng.conf
-rw-r--r-- 1 root root 0 2007-12-12 17:27 backends_debian
-rw-r--r-- 1 root root 296 2009-04-21 14:01 backends_ubuntu


il dispose en effet par défaut des fichiers backends_* listant bon nombre de miroirs pour debian et ubuntu




Sur les clients :

On se contente d'éditer le fichier /etc/apt/sources.list, en remplacant (par exemple) :
deb http://fr.archive.ubuntu.com/ubuntu/ jaunty main restricted
par :
deb http://pluton:9999/ubuntu/ jaunty main restricted

(si votre cache apt se nomme pluton (avec son adresse IP cela fonctionne également) et que vous avez réglé le port sur 9999 comme moi ...)


sudo nano /etc/apt/sources.list

deb http://pluton:9999/ubuntu/ jaunty main restricted
deb http://pluton:9999/ubuntu/ jaunty-updates main restricted
deb http://pluton:9999/ubuntu/ jaunty universe
deb http://pluton:9999/ubuntu/ jaunty-updates universe
deb http://pluton:9999/ubuntu/ jaunty multiverse
deb http://pluton:9999/ubuntu/ jaunty-updates multiverse

deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb http://security.ubuntu.com/ubuntu jaunty-security universe
deb http://security.ubuntu.com/ubuntu jaunty-security multiverse


Pour finir, il est possible et même souhaitable de configurer le source.list du serveur cache apt pour qu'il utilise son propre cache, ainsi il participera au prétéléchargement des paquets dont vous aurez sans doute besoin sur d'autres machines ...















[ Ajouter un commentaire ] ( ( 11 vues ) )   |  [ 0 Trackbacks ]   |  Lien permanent

<< <Précédent | 1 | 2 | 3 | 4 | 5 | 6 | 7 | Suivant> >>