Apt-cacher-ng

De Wiki doc

Révision datée du 22 décembre 2017 à 16:06 par Ycharbi (discussion | contributions) (Page créée avec « Category:apt ''Apt-cacher-ng'' est une évolution d'Apt-cacher [https://askubuntu.com/questions/492506/difference-between-apt-cacher-and-apt-cacher-ng#492508 appor... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Apt-cacher-ng est une évolution d'Apt-cacher apportant principalement des améliorations de performances et la possibilité de gérer d'autres dépôts que ceux des distributions basées sur Debian.

Le principe reste le même. 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 depuis le cache par la suite 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.

Installation

apt install apt-cacher-ng

Apt-cacher embarque son propre serveur WEB, inutile d'en installer un.

Configuration

Partie serveur

vim /etc/apt-cacher-ng/acng.conf
# Répertoire de stockage des paquets mis en cache
CacheDir: /var/cache/apt-cacher-ng

# Répertoire contenant les fichiers journaux
LogDir: /var/log/apt-cacher-ng

# Page de statistiques d'utilisation du cache
ReportPage: acng-report.html

# Nombres de jours avant suppression d'un fichier dé-référencé
ExThreshold: 4

# Port d'écoute du démon (par défaut : 3142)
#Port:3142

# Répertoire contenant la liste des dépôts à mettre en cache (fichiers texte compressés en .gz)
SupportDir: /usr/lib/apt-cacher-ng

# Liste des dépôts à mettre en cache (une sorte d'ACL)
# Il est possible de mettre en cache toute sorte de distributions Linux
Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Archives Debian
Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu # Archives Ubuntu
Remap-alxrep: file:archlx_mirrors /archlinux # ; file:backend_archlx # Archives Arch Linux
Remap-fedora: file:fedora_mirrors # Archives Fedora Linux
Remap-epel:   file:epel_mirrors # Archives Fedora EPEL
Remap-slrep:  file:sl_mirrors # Archives Scientific Linux
Remap-gentoo: file:gentoo_mirrors.gz /gentoo ; file:backends_gentoo # Archives Gentoo

INFORMATION

Vous pouvez aller directement sur la page WEB (à l'adresse http://192.168.180.35:3142/) de votre serveur pour avoir les explications des développeurs. De la documentation est également disponible dans le document /usr/share/doc/apt-cacher-ng/apt-cacher-ng.pdf.

Redémarrer le service

systemctl restart apt-cacher-ng

Partie cliente

Sous Debian, il faut se connecter au proxy APT de notre serveur afin de bénéficier du cache, pour ce faire 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.

ATTENTION

Dans ce dernier cas, je vous informes qu'il n'est pas possible de configurer le port d'écoute du serveur sur le 80. Ainsi, l'usage de mon astuce sur la zone DNS RPZ expliquée dans la page sur Apt-mirror n'est utilisable que par l'intermédiaire d'un reverse proxy comme Haproxy.

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, un du -hs /var/cache/apt-cacher-ng/ donnera la taille occupée par le cache.

Sources