Comment ajouter des packages à un cache squid-deb-proxy?

10

Pour économiser la bande passante et les données sur mon plan Internet, j'ai installé squid-deb-proxy sur un bureau, et le client dessus et quelques autres machines que j'ai. Cependant, sur la base du post qui m'a mis sur ce sujet, il semble que si je prends mon ordinateur portable * sur un autre réseau et le mette à jour là-bas, les mises à jour téléchargées ne seront PAS automatiquement recopiées sur le serveur proxy squid-deb lorsque je reçois de retour sur mon réseau.

En supposant que cela est correct (je testerai plus tard), existe-t-il un moyen de coller ces packages dans le cache afin de ne pas avoir à les télécharger une fois de plus pour d'autres machines du réseau?


* Comme indiqué dans les commentaires, je pourrais simplement faire de l'ordinateur portable le serveur proxy, mais dans mon cas spécifique, l'ordinateur portable est en réalité 1) une machine virtuelle qui ne fonctionne pas tout le temps, 2) dans un ordinateur portable qui n'est pas ouvert tous les temps. En tant que telle, cette solution, bien que bonne, ne fonctionne pas dans mon cas.

zpletan
la source
De parler avec l'auteur à ce sujet dans le passé, faire cela est étonnamment non trivial, peut-être que quelqu'un peut trouver quelque chose d'intelligent.
Jorge Castro
Peut-être que askubuntu.com/q/113983/8724 pourrait vous aider. . . .
zpletan
Cet ordinateur portable que vous utilisez sur un autre réseau, le squid-deb-proxyserveur?
saji89
@ saji89: non, toutes les machines sont sur le même réseau.
zpletan
Je ne pense pas que vous ayez compris la question posée par @ saji89, et j'ai la même question. Si vous installez squid-deb-proxy sur l'ordinateur portable et squid-deb-proxy-client sur le bureau et l'ordinateur portable, l'ordinateur portable devient le proxy et utilise le proxy localement. En tant que tel lorsque vous n'êtes pas à la maison, il gardera les mises à jour sur l'ordinateur portable. Lorsque vous rentrez chez vous, le bureau recevra les mises à jour de l'ordinateur portable.
popey

Réponses:

2

Vous pouvez utiliser apt-move(à partir du package du même nom) pour créer un référentiel apt local à partir des fichiers dans le cache apt de votre ordinateur portable. Ensuite, utilisez rsyncpour conserver une copie synchronisée de ce référentiel sur votre réseau local. Enfin, pointez les autres machines LAN vers votre copie LAN du référentiel local en haut sources.list, afin qu'apt préfère le référentiel local aux distants.

Robie Basak
la source
0

C'est toujours une réponse incomplète, mais ce pourrait être la meilleure réponse possible, alors lisez la suite si vous êtes curieux de trouver des solutions partielles / laides / compliquées possibles.

Question intrigante, j'ai rencontré le même problème mais je ne l'ai jamais résolu, au lieu de cela j'essaie juste de limiter mon apt-obtention en dehors de mon lan local. Cela ne valait vraiment pas la peine, tout au plus j'ai perdu 20 Mo au cours de la dernière année. Mon ensemencement iso torrent compense cela. Mais!

  1. vous pouvez configurer un tunnel / proxy entre votre ordinateur portable et la maison pour utiliser votre cache domestique (c'est une bonne idée de toute façon pour des raisons de confidentialité), mais vous dépendez alors de votre vitesse de téléchargement. Non seulement cela serait lent, mais vous utiliseriez 2x la bande passante pour télécharger la même chose. 1x entrer dans votre lan depuis les miroirs Ubuntu et 1x sortir au café.

  2. Je propose qu'il soit possible d'exécuter le serveur de cache sur votre ordinateur portable, puis d'utiliser rsync pour le synchroniser avec votre serveur domestique. Cela pose cependant un problème dans la mesure où lorsque vous êtes chez vous, le serveur de votre ordinateur portable fonctionne toujours. Pour y faire face, je pouvais voir deux possibilités. 1. arrêtez le serveur de cache sur votre ordinateur portable pendant que vous êtes à la maison à la maison avec rsync, mais aussi en tirant régulièrement les données mises en cache vers votre serveur portable. En suggérant cela, j'ai fait l'hypothèse que le cache proxy squid-deb sur un serveur est compatible avec un autre et que vous pouvez échanger des fichiers comme ça. Ces options nécessiteront également certainement des scripts.

David A
la source
0

Nous utilisons une approche simple et stupide: le proxy squid-deb peut s'utiliser comme proxy. Par conséquent, je fais juste:

  1. J'installe le logiciel client sur le serveur squid-deb-proxy:

    apt-get install squid-deb-proxy-client

  2. J'ai créé un script simple qui répertorie tous les packages installés - et retélécharge chaque package:

    #!/bin/bash  
    # Create temp dir & change into it
    tmpdir=$(mktemp -d) 
    pushd $tmpdir   
    # Get all installed packages and re-download them
    for package in $(dpkg --get-selections | cut -f 1); do apt-get download $package; done;
    popd
    # Delete tmp dir
    

De cette façon, nous avons déjà un cache de base pas si mal.

Si nous souhaitons ajouter tous les packages d'un serveur existant dans le cache, nous exécutons simplement la même procédure 1) et 2)

À M
la source