Si vous avez à mettre à jour un nombre important de machines GNU/Linux, il y a de fortes chances pour que votre liaison Internet soit vite saturée. Dans le contexte d’une entreprise, cette saturation peut rapidement poser des problèmes pour les utilisateurs. Nous allons donc dans ce billet mettre en place un cache local pour les dépôts Debian / Ubuntu. Les avantages sont les suivants:

  • diminuer le temps des mises à jour
  • réduire la consommation de bande passante sur votre liaison Internet
  • contrôler plus finement la mise à jour des machines

Principe de fonctionnement

Un bon diagramme valant mieux qu’un long discours:

aptcache

Comme on peut le voir sur le deuxième diagramme, il faut installer une machine (« label ») qui va servir de cache entre votre réseau local et le dépôt distant.

Installation du cache

Nous allons utiliser une machine GNU/Linux Ubuntu pour faire office de cache. Attention, celle-ci devra disposer d’un espace disque important car tout les paquets mis à jours y seront stockés. Personnellement, j’utilise un point de montage SMB (/media/depots) vers un serveur NAS. Le cœur de notre système se base sur l’utilisation du logiciel apt-cacher. Nous allons commencer par l’installer sur notre système:

sudo aptitude install apt-cacher

Le fichier de configuration se trouve à l’emplacement /etc/apt-cacher/apt-cacher.conf. Il faut y modifier (selon votre configuration) les paramètres suivants:

# cache_dir configure le répertoire ou le cache stockera ses données cache_dir=/media/depots/ubuntu # Configuration du groupe et de l’utilisateur avec lequel apt-cacher va être lancé # Il faut que le répertoire cache_dir est les bon droits en lecture/écriture user=www-data group=www-data # allowed_hosts défini la liste des machines autorisées à utiliser ce cache allowed_hosts=192.168.29.0/24

Remarque: Il est également possible de demander à apt-cache d’utiliser un proxy pour sortir vers Internet (utilisation des options: http_proxy, use_proxy, http_proxy_auth, use_proxy_auth). Pour automatiser le lancement de apt-cacher lors du démarrage de la machine, il faut modifier le fichier /etc/default/apt-cacher:

AUTOSTART=1

Ensuite on lance le cache:

sudo /etc/init.d/apt-cacher start

Configuration des machines clientes

Votre cache est maintenant opérationnel, il ne reste plus qu’a configurer vos machine GNU/Linux Ubuntu pour l’utiliser. Le plus simple est de créer un fichier nommé 90-apt-cacher.conf dans le répertoire /etc/apt/apt.conf.d/ (remplacer l’adresse IP 192.168.29.254 par l’adresse IP de votre machine hébergeant apt-cacher):

vi /etc/apt/apt.conf.d/90-apt-cacher.conf Acquire::http::Proxy « http://192.168.29.254:3142″

En cas d’indisponibilité du cache, vos machines pourront se mettre à jour comme elle le faisait auparavant.

Billet original de NicoLargo