Apt-cacher
Apt-cacher est un proxy APT pour les distributions basées sur Debian. Son objectif est de servir d'intermédiaire entre les clients d'un réseau local et un dépôt de paquets externe afin de mettre en cache ces derniers et permettre une nette amélioration des performances réseau (les paquets ne sont téléchargés qu'une seule fois et redistribués par la suite depuis le cache en bénéficiant des performances du réseau local).
C'est une bonne alternative à Apt-mirror si vous ne disposez pas de centaines de gigaoctets disponibles sur votre serveur pour cet usage. De plus, la place occupée par les paquets mis en cache est bien plus optimisé puisque seul ceux dont vous avez besoins sont téléchargés.
INFORMATION
Apt-cacher a servit de base à son évolution, Apt-cacher-ng. Ce dernier se démarque par de meilleurs performances et un support étendue à d'autres distributions Linux.Installation
apt install apt-cacher
Choisir le mode démon.
Configuration
Activer le démarrage automatique du démon avec le système
vim /etc/default/apt-cacher
AUTOSTART=1
Configuration du démon
# Utilisateur et groupe exécutant le démon
group = www-data
user = www-data
# Répertoire de stockage des paquets mis en cache
cache_dir = /var/cache/apt-cacher
# Répertoire contenant les fichiers journaux
log_dir = /var/log/apt-cacher
# Autorisations
# Par défaut (depuis la version 1.7.0), seul l'adresse de lien local peut contacter le démon.
# Afin de gérer les réseaux autorisés, vous pouvez choisir d'autoriser tout le mode avec ceci:
allowed_hosts = *
# ou choisir de filtrer plus finement en utilisant des réseaux notés comme ceci:
# 10.0.0.0/24 ou 10.0.0.0/255.255.255.0
# Il est également possible de spécifier un intervalle comme ceci:
# 192.168.0.0-63' ou '192.168.0.0 - 192.168.0.63
# L'usage de noms de domaines est également possible
# Interdictions
# Les interdictions de réseaux suivent la même logique que pour les autorisations
#denied_hosts =
# Apt-cacher peut dresser un rapport d'utilisation toute les 24h
# Il est accessible à l'adresse http://IO_SERVEUR:3142/report
#generate_reports = 1
# Adresse email qui s'affiche sur la page de raport
#admin_email = root@localhost
# Port d'écoute du démon (par défaut : 3142)
#daemon_port = 3142
# N'utiliser que le cache
# Apt-cacher n'effectuera aucune requêtes externe pour remplir son cache.
# Il se basera donc uniquement sur ce dernier pour servir les clients
#offline_mode = 1
# Si vous utilisez un proxy pour accéder au WEB, adaptez les paramètres suivants
#http_proxy=hostname:port
#use_proxy=1
#http_proxy_auth=username:password
#use_proxy_auth=1
# Il est possible de n'autoriser que certaines sources de paquets externes
#allowed_locations = ftp.uni-kl.de, ftp.nerim.net, debian.tu-bs.de/debian
#allowed_locations = ftp.debian.org, %PATH_MAP%
#allowed_locations = %PATH_MAP%
# Liste des architectures autorisées. Cela utilise les listes présentes dans *_files_regexps
# avec l'expression régulière %VALID_ARCHS%
#supported_archs = i386, amd64
#supported_archs = avr32, amd64, alpha, arm, arm64, armel, armhf, hppa, hurd-i386, i386, ia64, kfreebsd-amd64, kfreebsd-i386, m32r, m68k, mips, mipsel, netbsd-alpha, netbsd-i386, powerpc, powerpcspe, ppc64, s390, s390x, sh4, sparc, sparc64, x32
# N'autoriser que certaines branches d'Ubuntu
#ubuntu_release_names = dapper, edgy, feisty, gutsy, hardy, intrepid, jaunty, karmic, lucid, maverick, natty, oneiric, precise, quantal, raring, saucy, trusty, utopic, vivid, wily, xenial, yakkety
# Nettoyer le cache toute les 24h
#clean_cache = 1
Redémarrer le démon
systemctl restart apt-cacher.service
Mise en cache
Archive APT
Il est possible de demander à Apt-cacher d'ajouter à son cache les archives d'APT déjà présentes sur le disque dur. En effet, chaque fois que vous faites un apt install
, les .deb téléchargés sont archivés dans </source lang="bash" inline>/var/cache/apt/archives</source>.
/usr/share/apt-cacher/apt-cacher-import.pl /var/cache/apt/archives
ou
/usr/share/apt-cacher/apt-cacher-import.pl -r -R /var/cache/apt/archives
Paramètres:
- -r: Crée un lien physique (copie inode)
- -R: Exécute une copie récursive depuis le répertoire parent
INFORMATION
Les fichiers mis en cache sont présents dans/var/cache/apt-cacher
.Clients
Afin de remplir le cache, il va falloir l'utiliser (basique non ?). Pour ce faire, il faut exécutez les actions suivantes;
vim /etc/apt/apt.conf.d/00aptproxy
Acquire::http::Proxy "http://192.168.180.35:3142";
Vous pouvez également préciser votre serveur mandataire (proxy) lors de l'installation de Debian dans le champ approprié.
Autre cas d'usage: Il est aussi possible d'utiliser votre serveur comme source de paquets directement dans le fichier /etc/apt/sources.list
.
Dorénavant, toute utilisation de la commande apt
aura pour effet de télécharger les paquets par l'intermédiaire du proxy/cache. Lorsque ce dernier ne possède pas le paquet demandé, il le télécharge depuis les sources externes et fournis par la suite ce même paquet au client directement depuis sont cache sans le re-télécharger.
ASTUCE
Sur le serveur, undu -hs /var/cache/apt-cacher/
donnera la taille occupée par le cache.