Modifications entre les versions 3 et 4
Version 3 à la date du 2015-11-16 23:25:46
Taille: 4807
Commentaire: + côté client
Version 4 à la date du 2015-11-16 23:29:57
Taille: 4904
Commentaire: manque une partie sur l'intégration avec un proxy transparent existant
Texte supprimé. Texte ajouté.
Ligne 94: Ligne 94:


== Intégration avec un Squid en mode transparent ==

''(à étudier et documenter ici)''

Cette page décrit la mise en place de apt-cacher-ng à l'AUF.

Présentation

L'objectif est de remplacer nos miroirs Debian/Ubuntu complets par un proxy/cache persistant dédié à APT.

L'intérêt est de réduire fortement les ressources nécessaires, autant en espace disque (quelques dizaines de Gio au lieu de quelques centaines) qu'en bande passante d'accès Internet (ne télécharger que ce qui est utile, au moment voulu).

L'inconvénient est un délai d'attente plus important pour le premier téléchargement depuis Internet, alors qu'avec un miroir les données sont déjà à disposition localement et donc sans délai. Mais cet inconvénient peut être compensé par un pré-chargement des données au préalable.

Mise en place du service apt-cacher-ng

  • dédier 20 à 30 Gio d'espace disque sur /var/cache/apt-cacher-ng/ :

    lvcreate -n aptcache -L 20G vg0
    mkfs -t ext4 -m0 /dev/vg0/aptcache
    echo '/dev/vg0/aptcache /var/cache/apt-cacher-ng ext4 defaults 0 2' >> /etc/fstab
  • (!) on allouera un maximum de 5 Gio par distribution/architecture/version, donc par exemple 20 Gio pour Debian/Jessie amd64+i386 et Ubuntu/Trusty amd64+i386

  • installer le service apt-cacher-ng :

    apt-get install apt-cacher-ng
  • (!) si l'installation échoue du fait que le dossier /var/cache/apt-cacher-ng/ a été créé au préalable mais n'a pas les droits attendus, lancer les commandes suivantes pour terminer l'installation correctement :

    chown apt-cacher-ng: /var/cache/apt-cacher-ng
    dpkg --configure -a
  • configurer l'accès à l'interface web :

    echo 'AdminAuth: acng:acng' >> /etc/apt-cacher-ng/security.conf
  • /!\ on remplacera bien sûr les identifiant et mot de passe indiqués ici

  • puis relancer le service :

    service apt-cacher-ng restart

Mise en place de l'annonce du proxy/cache APT

  • installer le service d'annonces mDNS avahi sur un serveur voyant la plupart des réseaux (par exemple la passerelle) :

    apt-get install avahi-daemon
  • /!\ on limitera éventuellement la diffusion et l'écoute des annonces mDNS en utilisant une directive deny-interfaces=ppp0,vlan1 dans le fichier /etc/avahi/avahi-daemon.conf

  • créer une description de service dans /etc/avahi/services/apt-cacher-ng.service :

    <?xml version="1.0" standalone='no'?>
    <!--
    From: Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
    X-Source: http://blog.surgut.co.uk/2013/03/avahi-apt-cacher-ng-sbuild.html
     See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=704790 for details.
    -->
    <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
    <service-group>
     <name replace-wildcards="yes">apt-cacher-ng proxy on %h</name>
     <service protocol="ipv6">
      <type>_apt_proxy._tcp</type>
      <!-- activer la ligne suivante si apt-cacher-ng est sur une autre machine que ce service avahi :
      <host-name>acng.local</host-name>
        -- ajouter alors également l'adresse IP de acng.local dans /etc/avahi/hosts -->
      <port>3142</port>
     </service>
     <service protocol="ipv4">
      <type>_apt_proxy._tcp</type>
      <!-- activer la ligne suivante si apt-cacher-ng est sur une autre machine que ce service avahi :
      <host-name>acng.local</host-name>
        -- ajouter alors également l'adresse IP de acng.local dans /etc/avahi/hosts -->
      <port>3142</port>
     </service>
    </service-group>
  • ajouter, le cas échéant, une association (ou plusieurs) d'adresse IP et de nom DNS local dans /etc/avahi/hosts :

    2001:0db8::10 acng.local
    192.0.2.10 acng.local
  • relancer le service avahi :

    service avahi-daemon restart

Utilisation : configuration manuelle (pour les serveurs)

  • vérifier si la configuration présente ne contiendrait pas déjà l'information du proxy/cache APT à utiliser :

    grep -r Proxy /etc/apt
  • s'il n'y a aucune configuration en place, créer le fichier /etc/apt/apt.d/50local avec le contenu suivant :

    Acquire::http { Proxy "http://acng:3142"; };
  • (!) on s'assurera d'avoir défini un nom DNS "acng" dans le domaine local (cf /etc/resolv.conf)

  • (!) on lancera un apt-get update pour vérifier que la configuration est fonctionnelle

Utilisation : configuration automatique (pour les nomades ou fixes)

  • installer le paquet squid-deb-proxy-client :

    apt-get install squid-deb-proxy-client
  • (!) on lancera un apt-get update pour vérifier que la configuration est fonctionnelle

  • {i} ce paquet n'utilise pas Squid ; il fait une requête mDNS pour un service _apt_cacher.tcp, cf /etc/apt/apt.conf.d/30autoproxy

  • {i} on peut tester la découverte mDNS avec la commande /usr/share/squid-deb-proxy-client/apt-avahi-discover

Intégration avec un Squid en mode transparent

(à étudier et documenter ici)

AptCacherNG (dernière édition le 2016-06-07 16:47:51 par JeanChristopheAndré)