A l’occasion de la nouvelle installation du serveur, et devant l’augmentation de machine sous linux à la maison, j’ai installé apt-cacher-ng. L’occasion aussi de voir comment mettre ça en container (pour le concept, la démo, comprendre comment ça fonctionne...). Vous pouvez trouver l’intégralité des fichiers sur mon github
C’est partie :
- Le serveur est une Debian stable toute neuve, à jour.
- Docker est dans dans le sources.list :
pour l’installation de la clef et de la source exacte, je vous laisse suivre le site https://docs.docker.com/engine/inst... - il faut donc installer docker-ce et docker-compose (l’installation de docker-compose ne se fait pas par apt, mais le site docs.docker.com l’explique très bien.)
La préparation logiciel est presque terminée
- J’ai créé un utilisateur Docker-user, mais je ne lui ai pas mis d’interpréteur par sécurité :
groupadd Docker-user useradd -s "/bin/false" Docker-user
-
cd /home/Docker-user
-
mkdir apt-proxy
-
cd apt-proxy
- A présent, il faut soit tout refaire, soit utiliser les fichiers provenant de mon github
Ce qu’il faut comprendre faire, une fois les fichiers créés ou copiés, c’est - créé le containers contenant le proxy :
docker build -t apt-proxy .
- faire les divers volumes dont va se servir apt-cacher-ng
mkdir /var/cache/apt-cacher-ng mkdir /var/log/apt-cacher-ng
- -exécuter
docker-compose up -d
pour avoir un proxy apt sur le serveur :)
A présent, comment utiliser le proxy :
On va utiliser un script qui recherche le proxy :
#!/usr/bin/env bash
# detect_proxy.sh
#
# 09/01/2016
# Script pour détecter si le proxy est disponible et afficher le résultat sur la sortie standard pour Acquire::http::Proxy-Auto-Detect du fichier /etc/apt/apt.conf.d/01proxy
# Source: https://www.blog-libre.org/2016/01/09/installation-et-configuration-de-apt-cacher-ng/
### Variables ###
# Proxy #
proxy="10.20.30.187"
### Détection du proxy et affichage du résultat sur la sortie standard ###
nc -zw1 $proxy 3142 && echo http://$proxy:3142/ || echo DIRECT
La machine ayant apt-proxy a l’adresse 10.20.30.187 chez moi. Modifiez ce paramétre chez vous.
Ce script s’appel detect_proxy.sh
et doit être exécutable, bien sur. Il doit se trouver dans /etc/apt/
Ensuite, vous créez un fichier /etc/apt/apt.conf.d/01proxy
avec comme contenu :
Acquire::http::Proxy-Auto-Detect "/etc/apt/detect_proxy.sh";
A présent, le proxy est là : apt l’utilise, sinon, il n’utilisera rien du tout, mais fonctionnera quand même.