« Apt-cacher-ng » : différence entre les versions

Aller à la navigation Aller à la recherche
3 787 octets ajoutés ,  il y a 7 ans
 
(13 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
Installation, configuration et utilisation de apt-cacher-ng (ac-ng)
Installation, configuration et utilisation de apt-cacher-ng (ac-ng)
Mis à jour pour Stretch!


== Introduction ==
== Introduction ==
Ligne 20 : Ligne 22 :


Il fonctionne sans proxy installé, puisque lui-même fonctionne comme un proxy.
Il fonctionne sans proxy installé, puisque lui-même fonctionne comme un proxy.
Si vous avez un proxy sur votre système, vous déclarerez-le dans votre configuration, il sera prit en compte.
Si vous avez un proxy sur votre système, déclarerez-le dans votre configuration, il sera prit en compte.


== Installation ==
== Installation ==
Ligne 26 : Ligne 28 :
Il n'y a pas plus simple...
Il n'y a pas plus simple...


  apt-get install apt-cacher-ng
  # apt install apt-cacher-ng
 
Dépendance en Stretch:
Pre-Depends: dpkg (>= 1.15.6)
Depends: libbz2-1.0, libc6 (>= 2.22), libgcc1 (>= 1:3.3.1), liblzma5 (>= 5.1.1alpha+20120614), libssl1.1 (>= 1.1.0), li$
Suggests: doc-base, libfuse2 (>= 2.5), avahi-daemon
Conflicts: logrotate (<< 3.8.0)


== Configurer le serveur ==
== Configurer le serveur ==
Ligne 32 : Ligne 40 :
Un seul fichier à modifier : /etc/apt-cacher-ng/acng.conf
Un seul fichier à modifier : /etc/apt-cacher-ng/acng.conf


# L'emplacement par défaut est '''/var/cache/apt-cacher-ng''' J'ai choisi un autre emplacement sur une partition LVM
  CacheDir: /mnt/192.168.0.2/cache/apt-cacher-ng
  CacheDir: /mnt/192.168.0.2/cache/apt-cacher-ng
  # L'emplacement normal est /var/www/apt-cacher J'ai choisi un autre emplacement sur une partition LVM
  # L'emplacement des logs
  LogDir: /var/log/apt-cacher-ng
  LogDir: /var/log/apt-cacher-ng
   
   
# Le port par défaut est 3142 (N'oubliez pas d'ouvrir le pare feu).
# En choisissant le port 9999 vous émulez un "apt-proxy", les machines de votre réseau local détecterons plus facilement le cache
  # TCP (http) port
  # TCP (http) port
  # Set to 9999 to emulate apt-proxy
  # Set to 9999 to emulate apt-proxy
Ligne 41 : Ligne 52 :
  Port:9999
  Port:9999
   
   
# Vous pouvez décommenter et choisir les interface ou acng écoute. Si vous laissez commenté acng écoutera sur toutes les interfaces
  BindAddress: localhost 192.168.0.1
  BindAddress: localhost 192.168.0.1
  # Pour plus de sécurité, réserver l'utilisation à son réseau local, mais rien n'empêche d'étendre...
  # Pour plus de sécurité, réserver l'utilisation à son réseau local, mais rien n'empêche d'étendre...
  #Remap-debian: file:deb_mirror*.gz /debian ; file:backends_debian
 
  #Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu
...
   
  Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Debian Archives
...
  Remap-gentoo: file:gentoo_mirrors.gz /gentoo ; file:backends_gentoo # Gentoo Archives
  ...
 
  VerboseLog: 1
  VerboseLog: 1
  ReportPage: acng-report.html
  ReportPage: acng-report.html
Ligne 92 : Ligne 107 :
  drwxr-sr-x 3 apt-cacher-ng apt-cacher-ng 4,0K sep 26  2009 www.lamaresh.net
  drwxr-sr-x 3 apt-cacher-ng apt-cacher-ng 4,0K sep 26  2009 www.lamaresh.net


En utilisant l'option Remap vous ac-ng va créer des sous-répertoires (Debian, Ubuntu...) qui servent à centraliser les mêmes dépôts issus de sites miroirs. Cela évite les dépôts "doublons".
En utilisant l'option Remap ac-ng va créer des sous-répertoires (Debian, Ubuntu...) qui servent à centraliser les mêmes dépôts issus de sites miroirs. Cela évite les dépôts "doublons".


Ensuite, vous pouvez faire un lien symbolique de /mnt/192.168.0.2/cache/apt-cacher-ng vers /var/www/apt-cacher-ng pour avoir un accès avec un serveur apache2/httpd (vous pouvez ainsi naviguer dans le dépôt depuis n'importe quelle machine du réseau).
Ensuite, vous pouvez faire un lien symbolique de /mnt/192.168.0.2/cache/apt-cacher-ng vers /var/www/apt-cacher-ng pour avoir un accès avec un serveur apache2/httpd (vous pouvez ainsi naviguer dans le dépôt depuis n'importe quelle machine du réseau).
Ligne 99 : Ligne 114 :
== Configuration client ==
== Configuration client ==


Il suffit d'éditer ou créer le fichier /etc/apt/apt.conf pour qu'il ressemble à ça :
Il suffit de créer le fichier /etc/apt/apt.conf.d/01acng pour qu'il ressemble à ça:


  Acquire::http {
  Acquire::http {
Ligne 105 : Ligne 120 :
         };
         };


Edit : Pour ceux qui utilisent apt-listbugs, ajouter cette ligne EN PREMIER dans apt.conf :
Edit : Pour ceux qui utilisent apt-listbugs, ajouter cette ligne EN PREMIER dans apt.conf:


  Acquire::http::Proxy::bugs.debian.org "DIRECT";
  Acquire::http::Proxy::bugs.debian.org "DIRECT";


Il y a une deuxième solution qui consiste à modifier tous les sources.list, je ne détaille pas volontairement, c'est moins simple...
En effet apt-listbugs à du mal à passer au travers de apt-cacher-ng... Cela provoque des erreurs indésirables lors des mises à jour.
 
Il y a une deuxième solution qui consiste à modifier tous les sources.list, mais c'est moins simple...
Il suffit de modifier les fichiers sources.list des clients et d'ajouter l'url du serveur apt-cacher-ng à chaque ligne.
 
deb http://'''<IP:Port>'''/url/repertoire main
 
Par exemple:
 
<pre>deb http://192.168.0.1:9999/deb.debian.org/debian/ stretch main contrib non-free
#deb-src http://192.168.0.1:9999/deb.debian.org/debian/ jessie main
deb http://192.168.0.1:9999/security.debian.org/ stretch/updates main contrib non-free
#deb-src http://192.168.0.1:9999/security.debian.org/ jessie/updates main
deb http://192.168.0.1:9999/deb.debian.org/debian/ stretch-updates main contrib non-free
#deb-src http://192.168.0.1:9999/deb.debian.org/debian/ jessie-updates main
deb http://192.168.0.1:9999/deb.debian.org/debian/ stretch-proposed-updates main contrib non-free
#deb-src http://192.168.0.1:9999/deb.debian.org/debian/ stretch-proposed-updates main contrib non-free</pre>
 
C'est d'ailleurs ce à quoi ressemblera votre sources.list si vous spécifiez le cache acng à l'installeur à la première installation.
 
Pensez aussi à changer le fichier /etc/apt/apt.conf.d/01acng du serveur acng pour qu'il participe lui aussi à la maintenance de votre dépôt !
 
===Utilisation du cache avec l'installeur Debian===
 
Bien entendu, lorsque vous installez une nouvelle Debain, en configurant un proxy au moment de la configuration de l'outil de gestion des paquets vous profitez de votre cache...
 
[[Fichier:ACNG Debian Installer.png]]
 
===Truc pour les PC nomades ou si votre cache n'est pas actif en permanence===
 
Si vous utilisez un portable et n'êtes pas toujours dans le réseau ou se trouve acng, ça peut être emmerdant: Il faudra modifier votre conf...
Voici un truc pour ne pas avoir à le faire:
 
Prérequis:
# apt install -y netcat
 
Créez le fichier
$editor /etc/apt/detect_proxy.sh


Pensez aussi à changer le fichier /etc/apt/apt.conf du serveur pour que lui aussi participe à la maintenance de votre dépôt !
Avec ce contenu:
<pre>
#!/bin/bash
proxy=192.168.0.1
nc -zw1 $proxy 9999 && echo http://$proxy:9999/ || echo DIRECT
</pre>
 
Et rendez le exécutable:
# chmod +x /etc/apt/detect_proxy.sh
 
Créez ensuite votre fichier /etc/apt/apt.conf.d/01acng pour qu'il ressemble à ceci:
Acquire::http::Proxy-Auto-Detect "/etc/apt/detect_proxy.sh";
 
Ainsi à chaque fois qu'apt est appelé, le script vérifie si apt-cacher-ng est accessible ou pas.
Si oui, il passe par le cache, si non il sort directement sur le net sans passer par le proxy.
 
Voici un autre script qui vous permettra d'utiliser plusieurs proxy apt en fonction du réseau sur lequel vous êtes (très pratique pour un réseau ou il y a plusieurs serveurs apt-cacher-ng ou si vous changez souvent de réseau):
Il suffira de remplacer le contenu du script /etc/apt/detect_proxy.sh par celui-ci:
 
<pre>#!/bin/bash
try_proxies=(
10.10.10.2:9999
10.11.12.251:9999
)
for proxy in "${try_proxies[@]}"; do
    if nc -z ${proxy/:/ }; then
        proxy=http://$proxy/
        echo "$proxy"
        exit
    fi
done
echo DIRECT</pre>
 
Vous pouvez ajouter autant de proxy que vous le souhaitez.


== Importation de paquets déjà téléchargés ou présents sur vos DVD : ==
== Importation de paquets déjà téléchargés ou présents sur vos DVD : ==


  cd /mnt/192.168.0.2/cache
  cd /mnt/192.168.0.2/cache
  mkdir apt-cacher-ng/_import[/code]
  mkdir apt-cacher-ng/_import
Copiez vos fichiers deb dans le cache (/mnt/192.168.0.2/cache/apt-cacher-ng/_import)
 
  chown -R apt-cacher-ng apt-cacher-ng/_import[/code]
Copiez vos fichiers deb dans le cache (/mnt/192.168.0.2/cache/apt-cacher-ng/_import)
 
  chown -R apt-cacher-ng apt-cacher-ng/_import


Faire un apt-get update sur tous les clients et sur le serveur
Faire un apt-get update sur tous les clients et sur le serveur
Ligne 155 : Ligne 242 :


L'avantage est énorme, il permet en cas de défection d'un dépôt de pouvoir continuer à faire ses mise-à-jour sans avoir besoin de changer tous les sources.list de vos "clients"...
L'avantage est énorme, il permet en cas de défection d'un dépôt de pouvoir continuer à faire ses mise-à-jour sans avoir besoin de changer tous les sources.list de vos "clients"...
== Entretien de la base ==
Afin de ne pas avoir au bout de quelques mois un cache démesuré, surtout si des machines en SID traînent sur votre réseau, penser à la nettoyer de temps-en-temps... interface web de apt-cacher-ng "http://192.168.0.1:9999/acng-report.html" + "start expiration" Cela efface tous les paquets devenus obsolètes !
Pour protéger votre interface Web et avoir l'autorisation de purger/effacer des fichiers, il est nécessaire de configurer l'autorisation dans le fichier: /etc/apt-cacher-ng/security.conf
<pre>
#AdminAuth: mooma:moopa
AdminAuth: utilisateur:motdepasseblinde
</pre>
Suivi de:
service apt-cacher-ng restart
[ ok ] Restarting apt-cacher-ng: apt-cacher-ng.


== Pour conclure ==
== Pour conclure ==
Ligne 161 : Ligne 263 :


Pensez à uniformiser les sources.list des vos différentes machines, vous gagnerez du temps de connexion !
Pensez à uniformiser les sources.list des vos différentes machines, vous gagnerez du temps de connexion !
Entretien de la base...
Afin de ne pas avoir au bout de quelques mois un cache démesuré, surtout si des machines en SID traînent sur votre réseau, penser à la nettoyer de temps-en-temps... interface web de apt-cacher-ng "http://192.168.0.1:9999/acng-report.html" + "start expiration" Cela efface tous les paquets devenus obsolètes !


Grâce à ce serveur j'installe une Lenny avec debootstrap en une minute et 8 secondes...
Grâce à ce serveur j'installe une Lenny avec debootstrap en une minute et 8 secondes...
Ligne 182 : Ligne 281 :
Maintien de Etch (32bits), Lenny (32 et 64bits), Squeeze (64bits), Sid (64bits), Sidux (32 et 64 bits), Ubuntu et Kubuntu 9.10 (32 et 64 bits)... C'est raisonnable (l'équivalent d'une dizaine de DVD)...
Maintien de Etch (32bits), Lenny (32 et 64bits), Squeeze (64bits), Sid (64bits), Sidux (32 et 64 bits), Ubuntu et Kubuntu 9.10 (32 et 64 bits)... C'est raisonnable (l'équivalent d'une dizaine de DVD)...


--[[Utilisateur:Lol|Lol]] 1 avril 2010 à 09:10 (UTC)
--[[Utilisateur:Lol|Lol]] 1 avril 2010 à 09:10 (UTC) - Mise à jour le 23/02/2017
 
Liens sur le forum :
[http://forum.debian-fr.org/viewtopic.php?f=8&t=23065&start=0] Le T&A sur le forum]
[http://forum.debian-fr.org/viewtopic.php?f=1&t=26805&start=0 La Discussion si vous avez des questions]


[[Catégorie:Paquets]][[Catégorie:Serveurs]]
[[Catégorie:Paquets]][[Catégorie:Serveurs]]
Administrators, autoreview, Vérificateurs d’utilisateurs, checkuser-log, editor, reviewer, usersnoop
3 321

modifications

Menu de navigation